(x_create_im): Remove prototype.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
17fdcfc8
GM
12001-08-07 Gerd Moellmann <gerd@gnu.org>
2
22d01aed
GM
3 * window.c (Frecenter): If ARG < 0, and on a window system
4 frame, count in some empty lines when we can't move -ARG lines
5 down.
6
17fdcfc8
GM
7 * xdisp.c (start_display): Don't try to determine the continuation
8 lines width if lines are truncated. It's superfluous and leads to
9 incorrect results if POS is not visible in the window after
10 reseating the iterator at the previous line start.
11
8e3fe78e
GM
122001-08-06 Gerd Moellmann <gerd@gnu.org>
13
14 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
15
98a8938c
GM
162001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
17
18 * alloc.c (init_stack): Remove declaration.
19
18f9986a
GM
202001-08-03 Gerd Moellmann <gerd@gnu.org>
21
5e1f85e0
GM
22 * keyboard.c (read_key_sequence): Check that key is an integer
23 before comparing it with quit_char.
24 (add_command_key): Use larger_vector.
25 (read_char_x_menu_prompt): Instead of converting symbol and
26 integer events into conses (EVENT . nil), use (EVENT . disabled)
27 which cannot be confused with legal events.
28 (read_char): When reading from Vunread_command_events, check for
29 events of the form (EVENT . disabled) instead of
30 (EVENT . nil).
31
18f9986a
GM
32 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
33 a float, determine the max height from the frame's height.
34
fbc7f2a6
GM
352001-08-02 Gerd Moellmann <gerd@gnu.org>
36
37 * xdisp.c (redisplay_internal): Take message_cleared_p into
38 account only if minibuf_level == 0.
39
81b1a79d
GM
402001-08-01 Gerd Moellmann <gerd@gnu.org>
41
e5c60873
GM
42 * xdisp.c (redisplay_internal): Add a check for the last
43 displayed message.
44
6e019995
GM
45 * xdisp.c (message_cleared_p): New variable.
46 (clear_message): Set message_cleared_p when clearing the current
47 message.
48 (redisplay_internal): Look at message_cleared_p to capture
49 the case that the echo area should be cleared.
50
308a74d8
GM
51 * keyboard.c (command_loop_1): Fix spelling of
52 resize_echo_area_exactly.
53
54 * dispextern.h (resize_echo_area_exactly): Fix typo in function
55 name.
56
57 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
58
81b1a79d
GM
59 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
60 current matrix when the window gets smaller.
61
ada329e6
EZ
622001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
63
64 * print.c (strout): Cast the character passed to insert_char to
65 unsigned char, to avoid sign extension when it is promoted to int.
66
ed86208c
GM
672001-07-31 Gerd Moellmann <gerd@gnu.org>
68
69 * fileio.c (Finsert_file_contents): Don't treat a return value
70 of 0 from emacs_read as an IO error.
71
6594ac22
GM
722001-07-30 Gerd Moellmann <gerd@gnu.org>
73
cef68af5
GM
74 * keyboard.c (abs): New macro.
75 (double_click_fuzz): New variable.
76 (make_lispy_event): Use it to determine what makes a double-click.
77 (syms_of_keyboard): DEFVAR_INT it.
78
6594ac22
GM
79 * xmenu.c (set_frame_menubar): Take into account that
80 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
81 <raeburn@gnu.org>.
82
75c5350a
GM
832001-07-27 Gerd Moellmann <gerd@gnu.org>
84
85 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
86
87 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
88 of row's visible height.
89
90 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
91 deal with the first overlay string having an image `display'
92 property.
93 (try_window_reusing_current_matrix, compute_line_metrics): Fix
94 computation of row's visible height for the case that part of the
95 row is invisible above and part of the row is at the same time
96 invisible below the window.
97
ac49effe
GM
982001-07-26 Gerd Moellmann <gerd@gnu.org>
99
100 * xfns.c (x-show-tip): Doc fix.
101
102 * xfns.c (Vx_max_tooltip_size): New variable.
103 (syms_of_xfns): DEFVAR_LISP it.
104 (Fx_show_tip): Set frame's window_width to the width of the
105 window. Use a maximum tooltip size specified by
106 Vx_max_tooltip_size, if that has valid contents.
107 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
108
8c3b00cb
AI
1092001-07-26 Andrew Innes <andrewi@gnu.org>
110
111 * w32term.c (x_display_list): New variable.
112 (w32_term_init): Set it.
113
114 * w32term.h (x_display_list): New extern.
115
16098288
GM
1162001-07-26 Gerd Moellmann <gerd@gnu.org>
117
118 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
119 is non-nil, instead of when redisplaying_p is non-zero. See
120 comment there.
121 (mark_window_display_accurate_1): Add an assertion.
122
64c5be50
GM
1232001-07-25 Gerd Moellmann <gerd@gnu.org>
124
e743f599
GM
125 * dispextern.h (struct it): Increase size of ctl_chars to 16.
126
563b384d
GM
127 * xfns.c (Fx_file_dialog): Block/unblock input while processing
128 events so that we get a chance of processing expose events.
129
64c5be50
GM
130 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
131
296808a5
GM
1322001-07-24 Gerd Moellmann <gerd@gnu.org>
133
134 * xfns.c (valid_image_p): Protect better against invalid image
135 specifications. Previous code could signal an error.
136
5247262a
GM
1372001-07-23 Gerd Moellmann <gerd@gnu.org>
138
f1004faf
GM
139 * indent.c (current_column): Fix column computation in the
140 presence of display table entries.
141 (current_column_1, Fmove_to_column, compute_motion): Likewise.
142
dd42b31a
GM
143 * dispnew.c (adjust_glyph_matrix): In the optimization for
144 windows whose height has changed, use the new window height
145 to compute which rows to invalidate.
146
9e5a7f2a
GM
147 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
148 (MAX_10_EXP): New macro.
149 (Fformat): Use it.
150
5247262a
GM
151 * coding.c (code_convert_region): Handle the multibyte case if
152 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
153
177ab8ce
GM
1542001-07-20 Gerd Moellmann <gerd@gnu.org>
155
6e07c0a5
GM
156 * dispextern.h (struct face): Change type of `stipple' to
157 int; it's an ID.
158
177ab8ce
GM
159 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
160
b5b80599
GM
1612001-07-19 Gerd Moellmann <gerd@gnu.org>
162
4e2a256b
GM
163 * dispnew.c (update_window): Don't set the cursor at the end
164 of the update if display update has been paused.
165
b5b80599
GM
166 * composite.h (syms_of_composite): Renamed from
167 syms_of_composition.
168
c1fd9232
KR
1692001-07-18 Ken Raeburn <raeburn@gnu.org>
170
171 * fns.c (Fset_char_table_default): Check that a charset is defined
172 before checking its dimension.
173
928a85c1
KR
1742001-07-17 Ken Raeburn <raeburn@gnu.org>
175
176 * coding.c (setup_coding_system): Don't do any designation based
177 on reg_bits if charset is not yet defined.
178
232e274c
KR
179 * lisp.h (XVECTOR): Verify correct object type before returning a
180 pointer, using eassert.
181
de11c1ea
GM
1822001-07-17 Gerd Moellmann <gerd@gnu.org>
183
184 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase
185 to 4096 because of paste problems reported on GNU/Linux.
186
467f1209
GM
1872001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
188
189 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
190
c3d6be34
GM
1912001-07-16 Gerd Moellmann <gerd@gnu.org>
192
c1d61a7d
GM
193 * fileio.c (unwind_read): Function removed.
194 (read_non_regular, read_non_regular_quit): New functions.
195 (Finsert_file_contents): When reading from non-regular files,
196 arrange to catch a `quit' and terminate the loop. Rearrange
197 code so that a `quit' when reading from a regular file doesn't
198 insert text in the buffer.
199
c3d6be34
GM
200 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
201 Clear faces afterwards.
202 (clear_font_table): Take a x_display_info parameter. Don't free
203 fonts being the default font of any frame on the given display.
204
e06aa1f9
GM
2052001-07-13 Gerd Moellmann <gerd@gnu.org>
206
207 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
208 instead of CHAR_STRING which can signal an error.
209
210 * charset.c (char_to_string_1): Extracted from char_to_string.
211 Return -1 instead of signaling an error.
212 (char_to_string): Use it.
213
214 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
215
176c92e6
SM
2162001-07-12 Stefan Monnier <monnier@cs.yale.edu>
217
218 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
219 is t, don't try to append anything to it.
220
1c56232f
EZ
2212001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
222
223 * dired.c (file_name_completion): Pass dp->d_name to
224 Fstring_match, not elt, which is always nil here.
225
1d2b2268
GM
2262001-07-12 Gerd Moellmann <gerd@gnu.org>
227
228 * xselect.c (x_decline_selection_request): Handle errors
229 caused by receivers that have vanished.
230
231 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
232 ignoring events on foreign windows in #if 0. Always dispatch
233 the event after checking it with x_handle_property_notify.
234
235 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
236 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
237 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
238 (toplevel): Add prototypes for file-local functions.
239 (x_atom_to_symbol): Remove DPYINFO parameter.
240
fe5a0162
SM
2412001-07-11 Stefan Monnier <monnier@cs.yale.edu>
242
243 * w32menu.c (menubar_selection_callback, w32_menu_show):
244 Initialize `entry' to nil.
245 (w32_dialog_show): Remove unused `save_wv' variable.
246 (name_is_separator): Recognize "--:foo" and "--foo-bar".
247
a777242c
GM
2482001-07-11 Gerd Moellmann <gerd@gnu.org>
249
8ee5b6a3
GM
250 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
251
d0e2444e
GM
252 * fileio.c (unwind_read): Print a message when discarding inserted
253 text or switching the buffer to unibyte. Change parameter.
254 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 255
a777242c
GM
256 * fileio.c (unwind_read): New function.
257 (Finsert_file_contents): Record it as unwind-function for
258 the case that reading is interrupted by C-g.
259
ae794295
GM
2602001-07-10 Gerd Moellmann <gerd@gnu.org>
261
fe5a0162 262 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
263 update when scrolling_window returns 0.
264
6b05fae3
GM
265 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
266
267 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 268 for the case that x_decode_color signals an error.
6b05fae3 269
ae794295
GM
270 * xdisp.c (add_to_log): Do nothing if called asynchronously.
271
bb6e8cee
GM
2722001-07-09 Gerd Moellmann <gerd@gnu.org>
273
274 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
275 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
276 around ioctls.
277
36b40a8a
EZ
2782001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
279
24b97d4b
EZ
280 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
281 doc string line for dos-timezone-offset.
282
36b40a8a
EZ
283 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
284 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
285 (syms_of_msdos): Add \n\ at the end of a line in the doc string
286 line for dos-unsupported-char-glyph.
36b40a8a
EZ
287
288 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
289
0967b4b0
GM
2902001-07-05 Gerd Moellmann <gerd@gnu.org>
291
f25cfe53
GM
292 * sound.c: Include Emacs' header files with #include "...".
293
0967b4b0
GM
294 * eval.c (specbind): Additionally record the buffer that was
295 current when a buffer-local or frame-local variable was bound.
296
c347a1c3
GM
2972001-07-04 Gerd Moellmann <gerd@gnu.org>
298
299 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
300 to unibyte characters in unibyte buffers.
301
6332ca8a
GM
3022001-07-03 Gerd Moellmann <gerd@gnu.org>
303
38472d44
GM
304 * eval.c (specbind): If SYMBOL has a frame-local binding, record
305 the frame on the binding stack. Change format of entries for
306 local bindings on the binding stack to '(SYMBOL . WHERE)'.
307 (unbind_to): Handle unbinding a frame-local variable.
308
6332ca8a 309 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 310 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
311 (dump_glyph_row): Print row's continuation_lines_width.
312 (try_window_id): Take the shortcut if ZV is visible in the
313 window, but there are actually no changes at ZV.
314
63d1b174
GM
3152001-07-02 Gerd Moellmann <gerd@gnu.org>
316
4c175203
GM
317 * xterm.h (x_free_dpy_colors): Add prototype.
318
319 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
320 right number of arguments.
321
0b54ce28
GM
322 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
323 ($(lwlibdir)TAGS): New target.
4c175203 324 (TAGS): Fix dependency list.
0b54ce28 325
63d1b174
GM
326 * xterm.c (x_list_fonts): Make sure XFreeFont is called
327 with input blocked.
328
d827466c
GM
3292001-06-30 Gerd Moellmann <gerd@gnu.org>
330
331 * emacs.c (main): Remove extern declaration for sys_nerr, which
332 isn't used and causes a compilation error with GCC 3.0 on
333 FreeBSD 4.3.
334
b5cb1ada
GM
3352001-06-27 Gerd Moellmann <gerd@gnu.org>
336
a5d3ec3f
GM
337 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
338 SIGIO around the code where Xt might wait for a
339 ConfigureNotifyEvent.
340 (toplevel): Include <signal.h> and syssignal.h.
341
b5cb1ada
GM
342 * sound.c (vox_configure, vox_close): Turn off atimers
343 around ioctls.
344
d9bad487
GM
3452001-06-26 Gerd Moellmann <gerd@gnu.org>
346
fdbb67fe
GM
347 * keyboard.c (read_char) <non_reread>: Record the previous idle
348 start time before calling timer_stop_idle.
349 (read_char) <reread_first>: After processing a help-echo event,
350 restore the previous idle start time.
351
d9bad487
GM
352 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
353 the start of invisible text.
354 (setup_for_ellipsis): New function.
355 (next_overlay_string): After all overlay strings have been
356 processed, display an ellipsis if necessary.
357 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
358 (push_it): Initialize display_ellipsis_p on the iterator's stack.
359
360 * dispextern.h (struct iterator_stack_entry): Add member
361 display_ellipsis_p.
362
2b9c25e0
GM
3632001-06-25 Gerd Moellmann <gerd@gnu.org>
364
80de57df
GM
365 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
366 on the value of the wait-for-wm frame parameter.
367
368 * xterm.h (struct x_output): Add member wait_for_wm.
369
370 * xfns.c (Qwait_for_wm): New variable.
371 (x_frame_parms): Add entry for `wait-for-wm".
372 (x_set_wait_for_wm): New function.
373 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
374 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
375
2b9c25e0
GM
376 * xdisp.c (try_window_id) <all changes below window end>: Don't
377 take this shortcut if ZV is visible in the window.
378 (try_window_id): When checking for window start being in changed
379 text, don't check that the buffer's size has changed.
380
f772775c
RS
3812001-06-23 Richard M. Stallman <rms@gnu.org>
382
383 * minibuf.c (Fcompleting_read): Doc fix.
384
fa9090b8
GM
3852001-06-19 Gerd Moellmann <gerd@gnu.org>
386
387 * composite.c (Ffind_composition_internal): Accept ZV
388 and a string's end position as POS.
389
f6f1beba
GM
3902001-06-18 Gerd Moellmann <gerd@gnu.org>
391
392 * composite.c (Ffind_composition_internal): Check POS
393 for validity.
394
0ae83348
EZ
3952001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
396
397 * editfns.c (Fmessage_box): If the frame is not under a window
398 system, output the message in the echo area.
399
e4cdc335
RS
4002001-06-14 Richard M. Stallman <rms@gnu.org>
401
402 * xdisp.c (try_window_id): When EOB is visible, don't treat
403 insertion at EOB as if it were "off the bottom of the screen."
404
a55a5f3c
AI
4052001-06-11 Andrew Innes <andrewi@gnu.org>
406
407 * w32proc.c (create_child): Add new parameter is_gui_app.
408 (w32_executable_type): Add new parameter is_gui_app.
409 (sys_spawnve): Use it.
410 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
411 SIGQUIT. This matches better how the signals are interpreted by
412 MSVC compiled programs.
413 (syms_of_ntproc): Update docstring.
414
1b85dc1c
SM
4152001-06-02 Stefan Monnier <monnier@cs.yale.edu>
416
417 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
418 well otherwise note_mouse_highlight might optimize away highlighting
419 if we pass over that same overlay again.
420
b75f8eab
EZ
4212001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
422
423 * lread.c (Fload): Document that the argument is run via
424 substitute-in-file-name.
425
94843cc1
GM
4262001-05-31 Gerd Moellmann <gerd@gnu.org>
427
b14659e6
GM
428 * Makefile.in (bootstrap-doc): New target.
429 (bootstrap-emacs): Depend on it.
430
0894672f
GM
431 * fileio.c (Fdo_auto_save): Don't try to create the directory of
432 auto-save-list-file-name when shutting down Emacs, because
433 creating the directory might signal an error, and leaves
434 Emacs in a strange state.
435
94843cc1
GM
436 * term.c: (tty_cursor_hidden): New variable.
437 (update_begin): Don't call tty_hide_cursor. Clean up.
438 (update_end, set_terminal_window, set_scroll_region): Clean up.
439 (ring_bell, reset_terminal_modes): Clean up.
440 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
441 on tty_cursor_hidden.
442 (write_glyphs): Call tty_hide_cursor.
443
db3a49a6
SM
4442001-05-30 Stefan Monnier <monnier@cs.yale.edu>
445
446 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
447
8bd189fb
GM
4482001-05-30 Gerd Moellmann <gerd@gnu.org>
449
6f1be3b9
GM
450 * xfns.c (enum image_value_type): New enumerator
451 IMAGE_STRING_OR_NIL_VALUE.
452 (parse_image_spec): Handle it.
453 (xbm_format, pbm_format): Use it for :foreground and :background.
454 (xbm_load, pbm_load): Check for nil color names.
455
8bd189fb
GM
456 * xterm.c (note_mouse_highlight): If an overlapping overlay
457 exists, but we find that we highlight the same overlay as before,
458 don't do the highlighting again.
459
7bdba03c
GM
4602001-05-29 Gerd Moellmann <gerd@gnu.org>
461
4c329aa8
GM
462 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
463 Protect unibyte strings created by replacing their multibyte
464 equivalents in menu_items.
465
e15e2828
GM
466 * keymap.c (Fsingle_key_description): NUL-terminate the string
467 buffer before calling build_string.
468
7bdba03c
GM
469 * callproc.c (Fcall_process): Deal with decode_coding returning
470 CODING_FINISH_INCONSISTENT_EOL.
471
89c8dc6c
GM
4722001-05-28 Gerd Moellmann <gerd@gnu.org>
473
db3a49a6 474 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
475 an item's name with its key description in case the description
476 is a multibyte string.
477
478 * keymap.c (Fsingle_key_description): Create a multibyte string
479 only if necessary.
480
eb04d6cd
GM
481 * macros.c (Fstart_kbd_macro): Doc fix.
482
8bd6307f
GM
483 * xterm.c (cursor_in_mouse_face_p): New function.
484 (x_draw_stretch_glyph_string): Use it to choose a different GC
485 when drawing a cursor within highlighted text.
486
e26c4089
GM
487 * editfns.c (char_property_eq): Put in #if 0.
488
489 * indent.c (string_display_width): Put in #if 0.
490
491 * lread.c (Fload): Remove unused label.
492
89c8dc6c
GM
493 * termcap.c (speeds): Put in #if 0.
494
9a1211f2
GM
4952001-05-18 Gerd Moellmann <gerd@gnu.org>
496
29148a3f
GM
497 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
498
9a1211f2
GM
499 * xfaces.c (xlfd_point_size): Don't divide pixel size from
500 transformation matrix by 10.
501
09393d07
GM
5022001-05-16 Gerd Moellmann <gerd@gnu.org>
503
504 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
505 only if it's equal to the former foreground pixel color.
db3a49a6 506 (x_set_foreground_color, x_set_background_color)
09393d07
GM
507 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
508
460e6bae
GM
5092001-05-16 Dave Love <fx@gnu.org>
510
511 * insdel.c (signal_before_change, signal_after_change): Consider a
512 local change hook which changes the buffer.
99c78ce8
GM
513
514 * process.c (read_process_output): Don't call signal_after_change
515 and update_compositions after insert_from_string_before_markers.
516
dbcf3c03
GM
5172001-05-16 Gerd Moellmann <gerd@gnu.org>
518
a90b3d3c
GM
519 * xfaces.c (split_font_name): Use the right field when
520 checking for `[...]' syntax.
521
1b7818b4
GM
522 * buffer.c (copy_overlays): New function.
523 (clone_per_buffer_values): Use it.
524
525 * buffer.h (OVERLAY_PLIST): New macro.
526
9bae8781
GM
527 * keymap.c (Fsingle_key_description): Replace a build_string with
528 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
529
dbcf3c03
GM
530 * fontset.c (Ffontset_info): Check that face is non-null
531 before accessing its fields.
532
8a1ae4dd
GM
5332001-05-15 Gerd Moellmann <gerd@gnu.org>
534
18a0a39e
GM
535 * keyboard.c (read_key_sequence): Prevent generating a fake
536 prefix key twice.
537
e335b66a
GM
538 * xfaces.c (split_font_name): Handle `[...]' for the right
539 font name fields.
540
8a1ae4dd
GM
541 * ccl.c (ccl_driver): Don't copy remaining bytes in case
542 of CCL_STAT_INVALID_CMD.
543
3cf80731
SM
5442001-05-14 Stefan Monnier <monnier@cs.yale.edu>
545
33568849
SM
546 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
547 in <var> has no default value yet.
548
3cf80731
SM
549 * xfaces.c (try_alternative_families): First try the FAMILY.
550 And if nothing is found in the end, try again with scalable fonts.
551 (try_font_list): Let try_alternative_families do a bit more of
552 the work. Only use FAMILY if it is not nil.
553 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
554
933b0249
GM
5552001-05-14 Gerd Moellmann <gerd@gnu.org>
556
58e5af83
GM
557 * xterm.c (note_mouse_highlight): Avoid changing the mouse
558 pointer shape when show_mouse_face has already done it.
33568849 559
58e5af83 560 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
561 full-width rows.
562
7b16a6bf
GM
563 * xfaces.c (split_font_name): Make sure to leave the loop
564 with the right value of `i'.
3cf80731 565
933b0249
GM
566 * xfaces.c (split_font_name): Handle matrix transformations
567 in the pixel and point size fields of XLFD font names.
568 (xlfd_point_size): Likewise.
569
dddcbf00
EZ
5702001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
571
3cf80731 572 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
573 (x_to_w32_font): Add prototype.
574
7689ef0b
EZ
575 * regex.c (malloc, realloc, free) [emacs]: Undefine before
576 redefining, to avoid compiler warnings.
577
e7c15bba
EZ
578 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
579
dddcbf00
EZ
580 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
581 (w32_get_bdf_glyph): Cast between unsigned char and char when
582 passing arguments to subroutines, to shut up compiler warnings.
583 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
584 GET_HEX_VAL.
585
586 * xfaces.c: Include keyboard.h before frame.h, not after it.
587
588 * widget.c: Include keyboard.h before frame.h.
589
590 * w32term.h (struct image, struct face): Forward declaration, to
591 avoid compiler warnings.
592
7bd2d083
GM
5932001-05-11 Gerd Moellmann <gerd@gnu.org>
594
47e72862
GM
595 * keyboard.c (read_key_sequence): Don't modify events when
596 generating fake prefix keys (mode-line, scroll-bar, ...) since
597 this prevents proper processing of such events when pushed back
598 into unread-command-events.
599
dd5f324b
GM
600 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
601 actually redrawn. Make the function static.
602 (note_mouse_highlight): Fix a case where the mouse cursor
603 was changed back to the text cursor.
604
605 * xterm.h (clear_mouse_face): Remove prototype.
606
d88a79d4
GM
607 * xdisp.c (try_window_id): Fix the fix and set the right
608 window_end_vpos.
609
610 * xdisp.c (try_window_id): Fix computation of window end in the
611 case that lines were deleted at the end of the window. Add some
612 more debug_method_adds.
0416532f 613
7bd2d083
GM
614 * xfaces.c (try_alternative_families): New function.
615 (try_font_list): Use it. If ATTRS specifies a family, check
616 fonts from that family first.
617 (choose_face_font): Remove code setting the family part of
618 the pattern to nil.
619
23fca891
GM
6202001-05-10 Gerd Moellmann <gerd@gnu.org>
621
ff9aa2ca
GM
622 * xdisp.c (try_window_id): Fix case of all changes before
623 the window start.
7b2654b5 624
23fca891
GM
625 * xdisp.c (try_window_id): Add some xasserts.
626
e9726794
GM
6272001-05-09 Gerd Moellmann <gerd@gnu.org>
628
629 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
630
9e53a675
GM
6312001-05-09 Dave Love <fx@gnu.org>
632
633 * xdisp.c (GIVE_UP): Fix for K&R C.
634
0d487c52
GM
6352001-05-09 Gerd Moellmann <gerd@gnu.org>
636
fe88d421
GM
637 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
638
0d487c52
GM
639 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
640 back to the text cursor shape without need.
641
1e9fc92e
GM
6422001-05-07 Gerd Moellmann <gerd@gnu.org>
643
a2a6232e
GM
644 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
645
646 * dispextern.h (inverse_video): Declare extern.
647
1e9fc92e
GM
648 * keyboard.c (delete_kboard): Handle the case that selected_frame
649 has been deleted in the course of x_connection_closed.
650
12949a7f
EZ
6512001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
652
7b2654b5
SM
653 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
654 Fix the change from 2001-04-30.
12949a7f 655
2fa2f461
GM
6562001-05-03 Gerd Moellmann <gerd@gnu.org>
657
a779d213
GM
658 * xfns.c (file_dialog_unmap_cb): New function.
659 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
660 where a dialog is closed via the window manager.
661
7b2654b5 662 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
663 the window start or all below the window end mostly rewritten.
664 (redisplay_window): Move the tests if try_window_id is
665 applicable to try_window_id.
666 (GIVE_UP): New macro.
667
3356df63
GM
6682001-05-02 Gerd Moellmann <gerd@gnu.org>
669
a39202f6 670 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
671 currently being updated, mark the frame garbaged.
672 Fix computation of rows intersecting the exposed rectangle.
a39202f6 673 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 674
3356df63
GM
675 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
676 again if it has already been drawn.
677
a9d2fd1d
SM
6782001-05-01 Stefan Monnier <monnier@cs.yale.edu>
679
680 * syntax.c (update_syntax_table): Check that oldi has the same
681 properties as old_prop before deciding not to invalidate.
682
c95fc5f1
GM
6832001-04-30 Gerd Moellmann <gerd@gnu.org>
684
a9793e45
GM
685 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
686 read-only text that is so because of text properties.
687
c95fc5f1 688 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 689 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
690 windows that are components of a Lucid menu bar.
691
5a5d9185
GM
6922001-04-27 Gerd Moellmann <gerd@gnu.org>
693
694 * term.c (turn_on_face): Fix reverse video handling on terminals
695 that don't support colors.
696
ba973f7a
GM
6972001-04-26 Gerd Moellmann <gerd@gnu.org>
698
699 * editfns.c (save_excursion_restore): Don't use XBUFFER on
700 a non-buffer.
701
8c56a983
GM
7022001-04-25 Gerd Moellmann <gerd@gnu.org>
703
a728644c
GM
704 * term.c (toggle_highlight): New function.
705 (turn_on_face): Change handling of reverse video.
706
7b2654b5
SM
707 * process.c (wait_reading_process_input):
708 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 709
bfd8410f
GM
710 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
711 of the number of overlays to check.
712
be2488ca
GM
713 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
714
8c56a983
GM
715 * xdisp.c (try_window_id): Fix a case where window_end_pos
716 and window_end_bytepos were not adjusted.
717
522d42f7
GM
7182001-04-23 Gerd Moellmann <gerd@gnu.org>
719
720 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
721 zero instead of -1.
722
78c1afb6
EZ
7232001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
724
a9d2fd1d
SM
725 * process.c (wait_reading_process_input) [!subprocesses]:
726 Don't reference waiting_for_user_input_p, it's not defined in the
727 branch without async subprocesses support.
78c1afb6 728
a2fab450
GM
7292001-04-19 Gerd Moellmann <gerd@gnu.org>
730
a122a38e
GM
731 * keyboard.c (delete_kboard): Prevent a dangling reference
732 from current_kboard to KB, which is freed.
733
a9d2fd1d
SM
734 * process.c (wait_reading_process_input):
735 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
736 read_key_sequence aware of buffer changes from under it.
737
0f8d6dc7
GM
7382001-04-18 Gerd Moellmann <gerd@gnu.org>
739
eeffb293
GM
740 * xfaces.c (Qscalable_fonts_allowed): New variable.
741 (realizing_basic_faces_p): Removed.
2fa2f461
GM
742 (x_face_list_fonts): Special handling for realizing_basic_faces_p
743 removed.
eeffb293 744 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
745 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
746 for scalable-fonts-allowed to t.
eeffb293 747
0f8d6dc7
GM
748 * fileio.c (Finsert_file_contents): If the file size returned from
749 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 750 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 751
eec2d1de
EZ
7522001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
753
754 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
755 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
756 (__memalign_hook): Make the two prototypes consistent.
757
f4f480bd
GM
7582001-04-17 Gerd Moellmann <gerd@gnu.org>
759
760 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
761 matrix of mini-windows.
762
52283633
SM
7632001-04-12 Stefan Monnier <monnier@cs.yale.edu>
764
765 * intervals.c (find_interval): Don't rebalance during signal handling.
766
ec2423c9
GM
7672001-04-11 Gerd Moellmann <gerd@gnu.org>
768
30cb0001 769 * fns.c: Include blockinput.h.
52283633 770
ec2423c9
GM
771 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
772
719d83ad
GM
7732001-04-10 Gerd Moellmann <gerd@gnu.org>
774
60f8d735
GM
775 * fns.c (Fcompare_strings): Fix return values.
776
afffeb57
GM
777 * window.c (window_scroll): Change the meaning of N to mean
778 N screen-fulls or N lines.
779 (window_scroll_pixel_based, window_scroll_line_based)
780 (scroll_command, Fscroll_other_window): Change accordingly.
781
52283633
SM
782 * window.c (window_scroll_pixel_based, Frecenter):
783 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
784 height of the window.
785
786 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
787 instead of using it.last_visible_y for the height of the window.
52283633 788
719d83ad 789 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 790 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
791
792 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
793 able to write to hidden and system files. From Dan Holmsand
794 <dan@eyebee.com>.
719d83ad 795
8ddf3ee1
GM
796 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
797 Holmsand <dan@eyebee.com>.
719d83ad 798
522ed7fb
GM
7992001-04-09 Gerd Moellmann <gerd@gnu.org>
800
9170e5d4
GM
801 * fns.c (Fplist_get, Fplist_put): Add QUITs.
802
522ed7fb
GM
803 * window.c (window_internal_height): Return 1 less if the
804 window has a header line.
805
806 * xdisp.c (try_window_id): When scrolling on a terminal, take
807 the change of window_internal_height into account.
808
ceeb3d7d
EZ
8092001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
810
811 * gmalloc.c (align): If the argument SIZE would overflow
812 __malloc_ptrdiff_t, fail right away.
813
63685b9d
GM
8142001-04-06 Gerd Moellmann <gerd@gnu.org>
815
816 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
817 Make sure the tooltip is completely visible.
818 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
819
820 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
821
822 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
823
3ffb33bb
DL
8242001-04-06 Dave Love <fx@gnu.org>
825
52283633
SM
826 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
827 Fix test of `from'.
3ffb33bb 828
869fb12c
GM
8292001-04-06 Gerd Moellmann <gerd@gnu.org>
830
52283633 831 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 832
869fb12c
GM
833 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
834
441bf856
GM
8352001-04-05 Gerd Moellmann <gerd@gnu.org>
836
4d664b04
GM
837 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
838
52283633 839 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 840
30ca89f5
GM
841 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
842 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
843
844 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
845 shell widget's position only if it is non-null.
846
52283633
SM
847 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
848 Set f->output_data.x->widget to null after destroying it.
30ca89f5 849
81a81c0f
GM
850 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
851 FILENAME to bring it in synch with the documentation.
852
441bf856
GM
853 * xfaces.c (realizing_basic_faces_p): Renamed from
854 realize_default_face_p.
855 (realize_basic_faces): Set/clear realizing_basic_faces_p.
856 (realize_default_face): Don't set the flag.
857
702a1e8e
GM
8582001-04-04 Gerd Moellmann <gerd@gnu.org>
859
1013f4e3
GM
860 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
861
52283633
SM
862 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
863
1013f4e3
GM
864 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
865 the buffer that was used for echoing.
866
702a1e8e
GM
867 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
868 (first_font_matching): Removed unused function.
869 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
870 (may_use_scalable_font_p): Remove parameter FONT; rename
871 parameter NAME to FONT.
872 (x_face_list_fonts): Fix missing bounds check.
873 (realizing_default_face_p): New variable.
874 (realize_default_face): Set and clear that flag.
875 (x_face_list_fonts): When called during the realization of the
876 default face, and no matching fonts are found when ignoring
877 scalable fonts and fonts matching a regexp from
878 face-ignored-fonts, try without ignoring fonts.
879
f9dbcda4
GM
8802001-04-03 Gerd Moellmann <gerd@gnu.org>
881
ad18ffb1
GM
882 * xfns.c (postprocess_image): New function.
883 (lookup_image): Call it for all image types except PostScript.
884 (x_kill_gs_process): Call postprocess_image.
885
f9dbcda4
GM
886 * xterm.c (x_use_underline_position_properties): New variable.
887 (x_draw_glyph_string): Use it.
888 (syms_of_xterm): DEFVAR_BOOL it.
889
651f03b6
GM
8902001-04-02 Gerd Moellmann <gerd@gnu.org>
891
892 * xterm.c (x_alloc_nearest_color_1): New function.
893 (x_alloc_nearest_color): Use it.
894 (x_color_cells): Take a Display as argument, instead of a frame.
895 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
896 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
897 (x_initialize): Register cvt_string_to_pixel as resource converter
898 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
899
73d75a62
GM
9002001-03-30 Gerd Moellmann <gerd@gnu.org>
901
b2046df8
GM
902 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
903 (set_iterator_to_next): If a string from a display property ends,
904 consider the case that this might also be the end of an
905 overlay string having the display property.
906
52283633 907 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 908
87d8eba4
GM
909 * xdisp.c (reseat_to_string): Undo last change.
910
73d75a62
GM
911 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
912 matrix of a window when the header line changes, when
913 new rows are allocated, or when the width changes.
914
911a2406
EZ
9152001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
916
52283633 917 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 918
aea51abe
EZ
9192001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
920
921 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
922 deprecated.
923
176bc847
GM
9242001-03-29 Gerd Moellmann <gerd@gnu.org>
925
ed31fabf
GM
926 * data.c (Fsubr_interactive_form): New function.
927 (syms_of_data): Defsubr it.
928
176bc847
GM
929 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
930 (live_float_p, live_misc_p): Return 1 only if the offset of the
931 pointer in its block is >= 0.
932
e59d0e9d
GM
9332001-03-28 Paul Eggert <eggert@twinsun.com>
934
935 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
936 microseconds calcuation. Avoid double-rounding problem.
937 In doc string, warn that the result is approximate.
938
f827b862
GM
9392001-03-28 Gerd Moellmann <gerd@gnu.org>
940
30a3f61c
GM
941 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
942 bind `inhibit-eval-during-redisplay' to t.
943
944 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
945
946 * xdisp.c (inhibit_eval_during_redisplay)
947 (Qinhibit_eval_during_redisplay): New variables.
948 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
949 don't eval, return nil instead.
950 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
951 Initialize Qinhibit_eval_during_redisplay.
952
e719f5ae
GM
953 * xdisp.c (reseat_to_string): If STRING is multibyte, set
954 the iterator's multibyte_p flag.
955
deb2613a
GM
956 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
957 instead of setting it to zero; it's incremented for each frame
958 where the menu face is changed.
959
52283633
SM
960 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
961 change bottom shadow accordingly.
962
963 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
964 intersections here.
965 (expose_window): Do it here instead.
52283633 966 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 967
f827b862
GM
968 * bytecode.c (BYTE_CODE_QUIT): New macro.
969 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
970
4bde0ebb
GM
9712001-03-27 Gerd Moellmann <gerd@gnu.org>
972
607ec83c
GM
973 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
974 Give up if matrix starts in an ellipsis.
975 (init_from_display_pos): Do nothing if POS doesn't specify
976 a dpvec_index but the iterator has such a position.
977
0245398f
GM
978 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
979
aba25348
GM
980 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
981 x/y position is (0, 0) after destroying the menu bar, restore
982 its original position.
983
4bde0ebb
GM
984 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
985 (init_from_display_pos): Use it.
986 (try_window_reusing_current_matrix): Don't use cursor_row_p.
987
8cdb267e
GM
9882001-03-26 Gerd Moellmann <gerd@gnu.org>
989
990 * xdisp.c (try_window_id): Undo last change.
991
9948db79
EZ
9922001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
993
994 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
995
996 * buffer.c (syms_of_buffer): Doc fix.
997
2eddf899
GM
9982001-03-26 Gerd Moellmann <gerd@gnu.org>
999
1000 * xfaces.c (x_update_menu_appearance): Use local variable
1001 popup_path for setting font resources.
1002
6c145d35
EZ
10032001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1004
6a65b1b5
EZ
1005 * frame.c (Fframe_list): Don't reference tip_frame if
1006 HAVE_WINDOW_SYSTEM is not defined.
1007
6c145d35
EZ
1008 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1009 <wl@gnu.org>.
1010
d74c1900
GM
10112001-03-25 Gerd Moellmann <gerd@gnu.org>
1012
20fbd925
GM
1013 * xdisp.c (init_from_display_pos): Test invisible property
1014 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1015
927c5b3b
GM
1016 * xdisp.c (redisplay_internal) <update one window>: Make sure
1017 last_arrow_position and last_arrow_string are set.
1018
d74c1900
GM
1019 * frame.c (Fframe_list): Don't return a tooltip frame.
1020
091f8878
GM
10212001-03-23 Gerd Moellmann <gerd@gnu.org>
1022
52283633
SM
1023 * xdisp.c (mark_window_display_accurate_1): New function,
1024 extracted from mark_window_display_accurate.
1025 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1026 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1027 (mark_window_display_accurate): Use it.
1028 (redisplay_internal): Use it for the selected window.
1029 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1030 for the selected frame.
1031
ac90c44f
GM
1032 * xdisp.c Use make_number, for readability.
1033 (try_window_id): Disable rows below the window end.
1034 (try_window_reusing_current_matrix): Use cursor_row_p.
1035 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1036 of rows.
1037 (init_from_display_pos): If POS specifies a position in a display
1038 vector, maybe get the iterator set up for that ellipsis.
43c09969 1039
091f8878
GM
1040 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1041
991786dd
EZ
10422001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1043
1044 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1045
6c29b43c
GM
10462001-03-23 Gerd Moellmann <gerd@gnu.org>
1047
1048 * xfaces.c (x_update_menu_appearance): Use a different path
1049 for Lucid popup menus.
1050
d8731202
SM
10512001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1052
1053 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1054
1055 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1056 (string_buffer_position): Use `make_number'.
1057
f61a541b
GM
10582001-03-22 Gerd Moellmann <gerd@gnu.org>
1059
3c9e997b
GM
1060 * xfaces.c (x_update_menu_appearance): Renamed from
1061 x_set_menu_face_resources. Use different resources for popups.
1062
1063 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1064 (GC_CHECK_STRING_BYTES): Don't define.
1065
364cd450
GM
1066 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1067 Removed, together with subroutines.
1068 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1069 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1070
d8731202
SM
1071 * dispextern.h (x_set_menu_resources_from_menu_face):
1072 Remove prototype.
364cd450 1073
d8731202 1074 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1075 Remove calls to x_set_menu_resources_from_menu_face.
1076
d8731202
SM
1077 * xfaces.c (xm_set_menu_resources_from_menu_face):
1078 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1079
1080 * xmenu.c: Include widget.h.
1081 (single_submenu): Return int. Some cleanup.
1082 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1083
140330de
GM
10842001-03-21 Gerd Moellmann <gerd@gnu.org>
1085
1086 * xterm.c (x_update_window_end): Handle overwritten mouse face
1087 also for tool bar windows.
1088 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1089 DRAW is DRAW_IMAGE_RAISED.
1090
1741905c
GM
10912001-03-20 Gerd Moellmann <gerd@gnu.org>
1092
fa88947e
GM
1093 * print.c (syms_of_print): Doc fixes.
1094
1741905c
GM
1095 * fns.c (Fmd5): Doc fix.
1096
ade0bee1
GM
10972001-03-19 Gerd Moellmann <gerd@gnu.org>
1098
357e7376
GM
1099 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1100 Clear area of the frame not occupied by the scroll bar.
1101
c2c097cc
GM
1102 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1103 tip frame's root window buffer to *tip* right after creating
1104 the frame.
1105
ade0bee1
GM
1106 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1107 is an integer don't have to be for space characters.
1108
88c6e37e
GM
11092001-03-16 Gerd Moellmann <gerd@gnu.org>
1110
52283633
SM
1111 * indent.c (current_column, current_column_1, Fmove_to_column)
1112 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1113
c62eed76
KH
11142001-03-15 Kenichi Handa <handa@etl.go.jp>
1115
1116 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1117 drawing glyph string.
1118
c899e7e6
GM
11192001-03-15 Gerd Moellmann <gerd@gnu.org>
1120
d0bbfc99
GM
1121 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1122 (command_loop_1): Undo last change.
1123
03d1a189
GM
1124 * xterm.c (fast_find_position): Return the correct vpos.
1125
c899e7e6 1126 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1127 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1128 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1129 Call store_symval_forwarding with BUF null.
1130 (set_internal): Call store_symval_forwarding with the BUF
1131 parameter passed to set_internal. Formerly, the value was always
1132 set in the current buffer; the buffer recorded in specbind for
1133 this case wasn't used.
1134 (arith_driver): Reindent.
1135
52283633
SM
1136 * buffer.c (swap_out_buffer_local_variables):
1137 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1138
1139 * lisp.h (store_symval_forwarding): Change prototype.
1140
1141 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1142
57ac7c81
GM
11432001-03-14 Gerd Moellmann <gerd@gnu.org>
1144
697617d9
GM
1145 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1146 FOR_DELETION. Avoid resizing the mini-window of the selected
1147 frame if FOR_DELETION is set.
1148 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1149 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1150 signature.
1151
1152 * window.c (Fset_window_configuration): Change call to
1153 do_switch_frame to new format.
1154
1155 * keyboard.c (quit_throw_to_read_char): Change call to
1156 do_switch_frame to new format.
1157
1158 * lisp.h (do_switch_frame): Change prototype.
1159
819dce0f
GM
1160 * frame.c (Fframe_parameters): In the `buffer-list' frame
1161 parameter, store the buffer list of FRAME, not the list of the
1162 selected frame.
1163
57ac7c81
GM
1164 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1165 box just because the glyph row's full_width_p flag is set.
1166
65008712
GM
11672001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1168
1169 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1170 skip the padding blanks inserted in extend_face_to_end_of_line,
1171 before checking for trailing whitespace.
1172
159cf431
GM
11732001-03-13 Gerd Moellmann <gerd@gnu.org>
1174
52283633 1175 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1176 Remove special handling for LessTif/Motif.
1177 (toplevel): Don't include Xm/Xm.h.
1178
52283633
SM
1179 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1180 Remove workaround code for LessTif; it doesn't work anymore.
1181
2564ea1b 1182 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1183 Xm/ScrollBarP.h.
afcdc0a1 1184
52283633
SM
1185 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1186 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1187 contemporary LessTif.
1188
52283633
SM
1189 * xfaces.c (xm_set_menu_resources_from_menu_face):
1190 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1191
159cf431
GM
1192 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1193 removing button grabs.
1194
c6f7429a
KH
11952001-03-13 Kenichi Handa <handa@etl.go.jp>
1196
cb82d767
KH
1197 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1198 and clip-large-size-font as obsolete.
1199
c6f7429a
KH
1200 * lread.c (read_multibyte): Check the validity of multibyte
1201 sequence. If invalid, return the first byte.
1202
760cefb5
GM
12032001-03-12 Gerd Moellmann <gerd@gnu.org>
1204
1205 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1206 before running the command; timer functions or process
1207 filters may have set it.
1208
5141f9d0
EZ
12092001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1210
1211 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1212 Doc fix.
1213
b6a15240
GM
12142001-03-12 Gerd Moellmann <gerd@gnu.org>
1215
1216 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1217 to sprintf.
1218
95522746
GM
12192001-03-09 Gerd Moellmann <gerd@gnu.org>
1220
db14cfc5
GM
1221 * dispextern.h (string_buffer_position): Add prototype.
1222
52283633 1223 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1224 (single_display_prop_string_p): New functions.
1225
1226 * xterm.c (note_mouse_highlight): If there's no help-echo on
1227 a string, look at the buffer text ``under'' it.
1228
1229 * keyboard.c (make_lispy_event): Add string info to the event,
1230 analogous to what's done on mode lines.
1231 (read_key_sequence): For a click on a string, consider `local-map'
1232 and `keymap' of that string.
1233
52283633
SM
1234 * keyboard.c (make_lispy_event, make_lispy_movement):
1235 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1236
1237 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1238
1239 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1240 POS; return void.
1241
95522746
GM
1242 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1243 flags argument to emacs_open; it seems to conflict with O_EXCL.
1244
898a399d
KH
12452001-03-09 Kenichi Handa <handa@etl.go.jp>
1246
28cd4910
KH
1247 * composite.h (struct composition): Change types of members;
1248 glyph_len to unsigned, width to unsigned short.
898a399d 1249
4cdf6a6c
AI
12502001-03-08 Andrew Innes <andrewi@gnu.org>
1251
1252 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1253 menu titles.
1254
129004d3
GM
12552001-03-08 Gerd Moellmann <gerd@gnu.org>
1256
221dd3e7
GM
1257 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1258 instead of nil.
1259
52283633 1260 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1261 help-echo in strings.
1262 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1263 (fast_find_string_pos): New function.
1264
52283633
SM
1265 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1266 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1267
1268 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1269 Handle `mouse-face'.
1270
1271 * dispextern.h (face_at_string_position): Change prototype.
1272
52283633 1273 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1274
129004d3
GM
1275 * keyboard.c (make_lispy_event): Avoid generating drag events
1276 if the mouse hasn't actually moved to another buffer position.
52283633 1277
80c8ab8c
DL
12782001-03-08 Dave Love <fx@gnu.org>
1279
129004d3 1280 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1281
989521fd
GM
12822001-03-08 Gerd Moellmann <gerd@gnu.org>
1283
1284 * process.c (Fset_process_window_size): Fix a typo.
1285
bb5c338d
KH
12862001-03-08 Kenichi Handa <handa@etl.go.jp>
1287
1288 * coding.c (detect_coding_sjis): Do more rigid check.
1289 (detect_coding_big5): Likewise.
1290 (decode_coding_sjis_big5): Likewise.
1291 (Fdetect_coding_region): Call detect_coding_system with tailing
1292 anchor byte `\0' for more rigid detection.
52283633 1293 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1294 (Fdetect_coding_string): Likewise.
1295
8b8f9197
SM
12962001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1297
1298 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1299 a string before extracting its data.
1300
3bdf2660
GM
13012001-03-07 Gerd Moellmann <gerd@gnu.org>
1302
1303 * window.c (Frecenter): Rewrite code handling negative values
1304 of ARG on graphical frames.
1305
13062001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1307
1308 * window.c (displayed_window_lines): If W->start is outside the
1309 accessible portion of the buffer, call start_display with BEGV or
1310 ZV instead of W->start.
1311
471f86b9
GM
13122001-03-07 Gerd Moellmann <gerd@gnu.org>
1313
2ab62c6c
GM
1314 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1315
471f86b9
GM
1316 * process.c (Fset_process_filter): Don't crash if the input
1317 file descriptor of PROCESS is closed.
1318 (Fset_process_window_size): Likewise.
1319
101922c3
GM
13202001-03-06 Kenichi Handa <handa@etl.go.jp>
1321
1322 * xterm.c (XTflash): Make the timeout of select shorter, and call
1323 select repeatedly until the desired time expires.
1324
45d051a7
GM
13252001-03-06 Gerd Moellmann <gerd@gnu.org>
1326
1327 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1328
1329 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1330
1331 * lisp.h (Vwindow_list): Declare extern.
1332
8f372c46
EZ
13332001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1334
1335 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1336
f16a7aa5
GM
13372001-03-06 Gerd Moellmann <gerd@gnu.org>
1338
157ae273
GM
1339 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1340 to detect a case where we have to highlight a different region
1341 despite not having left the currently highlighted region.
1342 Set mouse_face_overlay in the x_display_info.
45d051a7 1343 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1344
1345 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1346
1347 * buffer.c (mouse_face_overlay_overlaps): New function.
1348
1349 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1350 (Qmouse_face): Declare extern.
1351
f16a7aa5
GM
1352 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1353 if face_change_count is non-zero.
1354
827afcac
KH
13552001-03-06 Kenichi Handa <handa@etl.go.jp>
1356
1357 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1358 that the source is unibyte.
1359
14c7242e
DL
13602001-03-05 Dave Love <fx@gnu.org>
1361
827afcac 1362 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1363
c28b847b
GM
13642001-03-05 Gerd Moellmann <gerd@gnu.org>
1365
1366 * minibuf.c (read_minibuf): Clean up the binding stack if
1367 called noninteractively.
1368
b86644f2
KH
13692001-03-05 Kenichi Handa <handa@etl.go.jp>
1370
1371 * coding.c (syms_of_coding): Docstring modified.
1372
203682cc 13732001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1374
1375 * charset.c (char_to_string): If a single byte char has modifier
1376 bits that can't be reflected to the character code, ignore them
45d051a7 1377 instead of signaling an error.
b86644f2 1378
e30bd7b7
EZ
13792001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1380
1381 * s/msdos.h: Update copyright notice.
1382
1383 * dosfns.h: Update copyright notice.
1384
1385 * dosfns.c: Update copyright notice.
1386
1387 * msdos.c: Update copyright notice.
1388
b52b65bd
GM
13892001-03-02 Gerd Moellmann <gerd@gnu.org>
1390
1391 * xterm.c (glyph_rect): New function.
1392 (XTmouse_position): Use it to raise the threshold for mouse
1393 movement event generation.
1394
53c4b1e6
EZ
13952001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1396
1397 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1398 specifies (reverse . t), reverse the initial screen colors.
1399 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1400 but we are reversing the colors, set bg_set, not fg_set.
1401 Likewise for setting background-color and reversing: set fg_set.
1402 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1403 in effect.
1404
1405 * xfaces.c (Finternal_set_lisp_face_attribute)
1406 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1407 parameters alist.
1408
f964b4d7
GM
14092001-03-02 Gerd Moellmann <gerd@gnu.org>
1410
ef53d75e
GM
1411 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1412 to a single slash in the middle of file names.
1413
52283633 1414 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1415 Accept only alphanumeric time zone names.
1416
f964b4d7
GM
1417 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1418 or width area.
1419 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1420 a widget to zero height.
52283633 1421
c3c45f65
GM
14222001-03-01 Gerd Moellmann <gerd@gnu.org>
1423
1424 * window.c (Fwindow_end): Call move_it_past_eol only if
1425 ending up on a partially visible line.
1426
028d739a
DL
14272001-03-01 Dave Love <fx@gnu.org>
1428
1429 * ccl.c (Fccl_execute): Doc fix.
1430
57c5889c
GM
14312001-03-01 Gerd Moellmann <gerd@gnu.org>
1432
35f59f6b
GM
1433 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1434 of the tool bar before calling x_figure_window_size.
1435
f84ff02c
GM
1436 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1437 NULL after destroying it, otherwise XTread_socket can access a
1438 destroyed widget when input is unblocked.
1439
8b8f9197 1440 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1441
57c5889c
GM
1442 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1443 same name as before, although there was a change in fontsets.
1444
224227d1
KR
14452001-02-28 Ken Raeburn <raeburn@gnu.org>
1446
4560730a
KR
1447 * lisp.h (Fframe_parameter): Declare.
1448
224227d1 1449 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1450 Lisp_Object.
224227d1 1451
ece93c02
GM
14522001-02-28 Gerd Moellmann <gerd@gnu.org>
1453
11ef99b9
GM
1454 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1455 NULL instead.
1456
1457 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1458 NULL instead.
1459
ece93c02
GM
1460 * alloc.c (toplevel): Include process.h.
1461 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1462 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1463 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1464 (allocate_vector, allocate_hash_table, allocate_window)
1465 (allocate_frame, allocate_process, allocate_other_vector):
1466 New functions.
ece93c02
GM
1467 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1468 (mark_maybe_pointer): New function.
52283633 1469 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1470 remain and not Lisp_Objects.
1471 (min_heap_address, max_heap_address): New variables.
1472 (mem_find): Return MEM_NIL if START is below min_heap_address or
1473 above max_heap_address.
1474 (mem_insert): Compute min_heap_address and max_heap_address.
1475
1476 * process.c (make_process): Use allocate_process.
1477
1478 * frame.c (make_frame): Use allocate_frame.
1479
1480 * window.c (make_window, make_dummy_parent): Use allocate_window.
1481 (Fcurrent_window_configuration): Use allocate_other_vector.
1482
1483 * lisp.h (allocate_vectorlike): Remove prototype.
1484 (allocate_vector, allocate_other_vector, allocate_frame)
1485 (allocate_window, allocate_process, allocate_hash_table):
1486 Add prototypes.
1487
1488 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1489 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1490
063af457
KH
14912001-02-27 Kenichi Handa <handa@etl.go.jp>
1492
1493 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1494 treat the produced bytes as a valid multibyte sequence.
1495
1496 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1497 (ccl_driver) <CCL_WriteMultibyteChar2>:
1498 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1499 <ccl_finish>: Set ccl->eight_bit_control properly.
1500
1501 * ccl.h (struct ccl_program): New member eight_bit_control.
1502
f58c6494
SM
15032001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1504
1505 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1506 accessible_keymaps_char_table.
1507 (accessible_keymaps_char_table): Obey `is_metized'.
1508 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1509 Lisp_Object.
1510
c596c392
GM
15112001-02-26 Gerd Moellmann <gerd@gnu.org>
1512
1513 * dispnew.c: Check HAVE_TERM_H before including term.h.
1514
425de386
AI
15152001-02-24 Andrew Innes <andrewi@gnu.org>
1516
1517 * makefile.w32-in: Update copyright notice.
1518
2ba11bbd
SM
15192001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1520
1521 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1522
66c56ed1
KH
15232001-02-24 Kenichi Handa <handa@etl.go.jp>
1524
4c1593ce
KH
1525 * Makefile.in (lisp): Add international/utf-8.elc.
1526
66c56ed1
KH
1527 * fontset.c (Fnew_fontset): Fix handling of the case that an
1528 element of FONTLIST is a cons of family and registry.
1529
796ead7e
JR
15302001-02-23 Jason Rumney <jasonr@gnu.org>
1531
1532 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1533 to height unconditionally.
1534
1535 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1536 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1537 (x_insert_glyphs): Call window_box_left to obtain the left
1538 x-coordinate of the area to shift.
1539
1540 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1541 safe_run_hooks.
1542
f6839838
AI
15432001-02-22 Andrew Innes <andrewi@gnu.org>
1544
52283633 1545 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1546 ($(BLD)\dispnew.obj):
1547 ($(BLD)\editfns.obj):
1548 ($(BLD)\fileio.obj):
1549 ($(BLD)\filelock.obj):
1550 ($(BLD)\keyboard.obj):
1551 ($(BLD)\w32proc.obj):
1552 ($(BLD)\process.obj):
1553 ($(BLD)\sysdep.obj): Ditto.
1554
1555 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1556 header files.
52283633
SM
1557 ($(BLD)/dispnew.$(O)):
1558 ($(BLD)/editfns.$(O)):
1559 ($(BLD)/fileio.$(O)):
1560 ($(BLD)/filelock.$(O)):
1561 ($(BLD)/keyboard.$(O)):
1562 ($(BLD)/w32proc.$(O)):
1563 ($(BLD)/process.$(O)):
f6839838
AI
1564 ($(BLD)/sysdep.$(O)): Ditto.
1565
c224f70b
GM
15662001-02-22 Gerd Moellmann <gerd@gnu.org>
1567
51695746
GM
1568 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1569 at the start of the function, check that the \n in it->c is
1570 from the iterator's current position.
52283633 1571
a61b7058
GM
1572 * xdisp.c (handle_single_display_prop): Add parameter
1573 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1574 properties which replace the display of text with something else.
1575 (handle_display_prop): Call handle_single_display_prop with
1576 additional argument saying if we already replaced text display
1577 with something else. Use AREF.
52283633 1578 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1579 (decode_mode_spec_coding): Use AREF and ASIZE.
1580
3473f362
GM
1581 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1582 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1583 * vmstime.h: Files removed.
52283633 1584
2bb58df3
GM
1585 * unexencap.c, unexfx2800.c: Files removed.
1586
c224f70b
GM
1587 * dispnew.c (direct_output_for_insert): Give up if we are showing
1588 a message or just cleared the message because we might need to
1589 resize the echo area window or display an empty echo area.
1590
ffc9ff0c
GM
15912001-02-21 Gerd Moellmann <gerd@gnu.org>
1592
0528abe1
GM
1593 * xdisp.c (redisplay_internal): Do the
1594 mark_window_display_accurate after all windows have been
1595 redisplayed because this call resets flags in buffers which are
1596 needed for proper redisplay.
1597
52283633
SM
1598 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1599 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1600 the old names.
1601
52283633
SM
1602 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1603 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1604
1605 * msdos.h (struct x_output): Rename busy_window to
1606 hourglass_window, busy_p to hourglass_p.
1607
52283633
SM
1608 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1609 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1610
1611 * xfns.c: Rename everything containing *busy_cursor* and similar
1612 to *hourglass*.
1613 (syms_of_w32fns): Rename x-busy-pointer-shape to
1614 x-hourglass-pointer-shape, display-busy-cursor to
1615 display-hourglass, busy-cursor-delay to hourglass-delay.
1616
1617 * w32fns.c: Rename everything containing *busy_cursor* and similar
1618 to *hourglass*.
1619 (syms_of_w32fns): Rename x-busy-pointer-shape to
1620 x-hourglass-pointer-shape, display-busy-cursor to
1621 display-hourglass, busy-cursor-delay to hourglass-delay.
1622
1623 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1624 of its busy_p flag.
1625
1626 * dispextern.h (start_hourglass, cancel_hourglass)
1627 (display_hourglass_p): Renamed from *busy_cursor*.
1628
ab2c5f0a
GM
16292001-02-20 Gerd Moellmann <gerd@gnu.org>
1630
d17e49a8
GM
1631 * keyboard.c (read_char): When an event from unread-command-events
1632 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1633
fa97adf6
GM
1634 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1635 equal to the current buffer.
1636
ab2c5f0a
GM
1637 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1638 nil, otherwise we're left with truncate_lines t when a message
1639 is printed with message-truncate-lines bound to t.
1640
aeac019e
GM
16412001-02-19 Gerd Moellmann <gerd@gnu.org>
1642
c8bc6f65
GM
1643 * window.c (Fmove_to_window_line): Undo last change.
1644 (displayed_window_lines): Call line_bottom_y to determine
1645 the line's bottom position.
1646
1647 * dispextern.h (line_bottom_y): Add prototype.
1648
52283633 1649 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1650 (pos_visible_p): Use it.
1651
980a2d69
GM
1652 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1653 set redisplaying_p to 0 here instead of in Frecursive_edit.
1654 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1655 set redisplaying_p.
1656
52283633 1657 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1658 New variables.
1659 (syms_of_xdisp): Initialize new variables.
1660 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1661 Specbind `inhibit-menubar-update' when updating the menu bar.
1662
65048e97
GM
1663 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1664 safe_run_hooks.
1665
1666 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1667 safe_run_hooks.
1668
a57c4026
GM
1669 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1670 is null.
1671
aeac019e
GM
1672 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1673 to the start of the file.
1674
76846b31
GM
16752001-02-16 Gerd Moellmann <gerd@gnu.org>
1676
f3f053f3 1677 * window.c (set_window_buffer): Fix last change.
52283633 1678
f3f053f3
GM
1679 * window.c (set_window_buffer): Set window's vscroll to 0.
1680
dad75588
GM
1681 * window.c (coordinates_in_window): Increase width of area
1682 where the vertical line can be dragged.
1683
c220b753
GM
1684 * xterm.c (x_set_glyph_string_background_width): Extend the
1685 background face to the end of the drawing area in the text
1686 area, only.
1687
c56b1c1b
GM
1688 * xdisp.c (handle_single_display_prop): Set iterator's position
1689 to where the `display' property starts, like for images.
1690 (dump_glyph): New function.
1691 (dump_glyph_row): Use it. Dump info about marginal areas.
1692
1693 * dispnew.c (direct_output_for_insert): Recognize more cases where
1694 glyphs can be written instead of being inserted.
1695
1696 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1697 the left x-coordinate of the area to shift.
1698
76846b31
GM
1699 * dired.c (directory_files_internal): Set result list to nil
1700 before retrying.
1701
0fc71a77
KH
17022001-02-15 Kenichi Handa <handa@etl.go.jp>
1703
1704 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1705 invalid multibyte sequence, treat *SRC as a character of
1706 eight-bit-graphic.
1707
25078b54
EZ
17082001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1709
1710 * textprop.c (Fset_text_properties): Doc fix.
1711
8399f8a0
GM
17122001-02-15 Gerd Moellmann <gerd@gnu.org>
1713
1714 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1715
9a2a6f73
DL
17162001-02-14 Dave Love <fx@gnu.org>
1717
1718 * coding.c: Doc and message fixes.
1719
bf853fee
AI
17202001-02-14 Andrew Innes <andrewi@gnu.org>
1721
1722 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1723 Emacs frame above the screen size.
1724
78c663d8
GM
17252001-02-14 Gerd Moellmann <gerd@gnu.org>
1726
1727 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1728
7cc9f69f
GM
17292001-02-13 Gerd Moellmann <gerd@gnu.org>
1730
0a411995
GM
1731 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1732 case that TO ends up beyond ZV after running before-change-functions.
1733
5ddc1b75
GM
1734 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1735 the selected window if it is showing the buffer in question.
1736
7cc9f69f
GM
1737 * dired.c (directory_files_internal): Initialize errno.
1738 (toplevel): Include errno.h.
1739
2e6621ca
GM
17402001-02-13 Kenichi Handa <handa@etl.go.jp>
1741
1742 * xfaces.c (best_matching_font): New parameter width_ratio.
1743 Multiply avgwidth by width_ratio.
1744 (choose_face_font): Call best_matching_font with width_ratio
1745 calculated from the column width of C.
1746
60222d69
AI
17472001-02-12 Andrew Innes <andrewi@gnu.org>
1748
1749 The following changes are to draw box lines inside characters area
1750 if line-width is negative.
52283633 1751
60222d69
AI
1752 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1753 face->box_line_width is negative.
1754 (x_produce_stretch_glyph): Likewise.
1755 (x_produce_glyphs): Likewise.
1756 (x_estimate_mode_line_height): Likewise.
1757 (x_draw_glyph_string_background): Likewise.
1758 (x_draw_glyph_string_foreground): Likewise.
1759 (x_draw_composite_glyph_string_foreground): Likewise.
1760 (x_draw_glyph_string_box): Likewise.
1761 (x_draw_image_foreground): Likewise.
1762 (x_draw_image_relief): Likewise.
1763 (x_draw_image_foreground_1): Likewise.
1764 (x_draw_image_glyph_string): Likewise.
1765
9804b846
KH
17662001-02-09 Kenichi Handa <handa@etl.go.jp>
1767
1768 The following changes are to draw box lines inside characters area
1769 if line-width is negative.
52283633 1770
9804b846
KH
1771 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1772 face->box_line_width is negative.
1773 (x_produce_stretch_glyph): Likewise.
1774 (x_produce_glyphs): Likewise.
1775 (x_estimate_mode_line_height): Likewise.
1776 (x_draw_glyph_string_background): Likewise.
1777 (x_draw_glyph_string_foreground): Likewise.
1778 (x_draw_composite_glyph_string_foreground): Likewise.
1779 (x_draw_glyph_string_box): Likewise.
1780 (x_draw_image_foreground): Likewise.
1781 (x_draw_image_relief): Likewise.
1782 (x_draw_image_foreground_1): Likewise.
1783 (x_draw_image_glyph_string): Likewise.
1784
1785 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1786 and :line-width can be negative.
52283633 1787 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1788
49be9f70
JR
17892001-02-09 Jason Rumney <jasonr@gnu.org>
1790
1791 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1792 characters the same as ASCII and latin-1.
1793 (x_display_and_set_cursor): Check for the focus frame's selected
1794 window instead of selected_window.
1795 (x_after_update_window_line): Don't clear if frame's internal
1796 border width is zero.
1797 (x_new_font): Don't change a tooltip's size.
1798 (w32_initialize): Set char_ins_del_ok to 1.
1799
1800 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1801 (x_set_font): If font hasn't changed, avoid recomputing
1802 faces and other things.
52283633
SM
1803 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1804 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1805 (x_create_tip_frame): Prevent changing the tooltip's
1806 background color by specifying a color for the default font
1807 in .Xdefaults.
1808 (Qcancel_timer): New variable.
1809 (syms_of_w32fns): Initialize and staticpro it.
1810 (Fx_hide_tip, Fx_show_tip): Use it.
1811 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1812 the timer.
1813 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1814
1815 * w32.c (init_environment): Duplicate local string before putenv.
1816
555e35d2
SZ
18172001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1818
1819 * charset.c (Fstring): A typo.
1820
19c92c94
KH
18212001-02-09 Kenichi Handa <handa@etl.go.jp>
1822
e47a1c33
KH
1823 * charset.c (Fstring): If all arguments are less than 256, return
1824 a unibyte string.
1825
1826 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1827 return a unibyte string.
1828
19c92c94
KH
1829 * coding.c (code_convert_region): After detecting a coding, if
1830 nothing found, set coding->composing to COMPOSITION_NO.
1831 (decode_coding_string): Likewise.
1832
d8e675f5
SM
18332001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1834
1835 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1836 to avoid overflow.
1837
bd503487
KH
18382001-02-07 Kenichi Handa <handa@etl.go.jp>
1839
1840 * charset.c (parse_str_to_multibyte): New function.
1841
1842 * charset.h (parse_str_to_multibyte): Extern it.
1843
1844 * print.c (print_string): If we are going to print a unibyte
1845 string into a multibyte buffer, convert the string to multibyte by
1846 str_to_multibyte.
1847
a8370d72
AI
18482001-02-06 Andrew Innes <andrewi@gnu.org>
1849
1850 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1851 been created. It seems we can get sent window messages such as
1852 WM_ERASEBKGND before we properly update a frame.
1853
c363a1d6
GM
18542001-02-06 Gerd Moellmann <gerd@gnu.org>
1855
1856 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1857 Avoid some unnecessary cursor positioning.
1858
a08332c0
GM
18592001-02-05 Gerd Moellmann <gerd@gnu.org>
1860
52283633 1861 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1862 (LFACE_AVGWIDTH): New macro.
1863 (LFACEP): Use AREF.
1864 (check_lface_attrs): Check LFACE_AVGWIDTH.
1865 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1866 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1867 (merge_face_vectors): Check LFACE_AVGWIDTH.
1868 (Finternal_make_lisp_face): Use AREF.
1869 (xm_set_menu_resources_from_menu_face)
1870 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1871 (Finternal_lisp_face_empty_p): Use AREF.
1872 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1873 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1874 Compare average widths..
1875 (best_matching_font): Arrange for comparing average widths.
1876
52283633
SM
1877 * dispextern.h (enum lface_attribute_index):
1878 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1879
5cb3c8d4
DL
18802001-02-05 Dave Love <fx@gnu.org>
1881
1882 * puresize.h: Revert last change following loadup.el change.
1883
193fba87
AI
18842001-02-05 Andrew Innes <andrewi@gnu.org>
1885
1886 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1887 invocation of temacs, to work with Windows 2000.
1888 (bootstrap-emacs): Ditto.
1889
e16f52ce
GM
18902001-02-05 Gerd Moellmann <gerd@gnu.org>
1891
7a58ab59
GM
1892 * xterm.c (x_display_and_set_cursor): Check for the focus
1893 frame's selected window instead of selected_window.
1894
e89aaabd
GM
1895 * xdisp.c (try_scrolling): If point is in the line below the
1896 window, make sure to move the iterator at least a canonical
1897 char height down.
1898
52283633 1899 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1900
789ce875
KH
19012001-02-05 Kenichi Handa <handa@etl.go.jp>
1902
52283633
SM
1903 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1904 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1905 (ccl_driver): If the CCL program is terminated because of
1906 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1907 destination instead of throwing them away.
1908
20b28f82
GM
19092001-02-02 Gerd Moellmann <gerd@gnu.org>
1910
79fb38c0
GM
1911 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1912 faces and other things.
1913
20b28f82
GM
1914 * xdisp.c (get_next_display_element): Fix case of empty
1915 display table entry.
1916
5a72551e
EZ
19172001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1918
eb24d0bf
EZ
1919 * editfns.c (Fconstrain_to_field): Doc fix.
1920
6a3f48c7
EZ
1921 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1922 into `thoroughly', to make it consistent with the doc string.
1923
5a72551e
EZ
1924 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1925
01acdb05
GM
19262001-02-01 Gerd Moellmann <gerd@gnu.org>
1927
0353b28f
GM
1928 * search.c (search_buffer): Call set_search_regs with a byte
1929 position, not a character position.
1930
01acdb05
GM
1931 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1932 minibuffer-only,
1933
e86b5133
EZ
19342001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1935
1936 * frame.c (Fmodify_frame_parameters): Doc fix.
1937
7442878f
GM
19382001-01-31 Gerd Moellmann <gerd@gnu.org>
1939
01acdb05
GM
1940 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1941 identifier which is not reserved by Standard C.
52283633 1942
7442878f
GM
1943 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1944
1945 * window.c (enum window_part): New enumeration.
1946 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1947 Qright_bitmap_area.
1948 (coordinates_in_window): Return an enumerator from enum
1949 window_part. Fix handling of right scroll bar.
1950 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1951 `right-fringe' instead of `left-bitmap-area' and
1952 `right-bitmap-area'. Use enumerators from enum window_part
1953 instead of hard-coded integers.
52283633
SM
1954 (check_window_containing, window_from_coordinates):
1955 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1956 (syms_of_window): Replace Qleft_bitmap_area and
1957 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1958
7c132cba
EZ
19592001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1960
1961 * editfns.c (Fformat_time_string): Doc fix.
1962
c359dd9e
SM
19632001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1964
1965 * keymap.c (Fwhere_is_internal): Use the first valid binding
1966 if no ascii binding is found (when firstonly is t).
1967
ce070307
GM
19682001-01-31 Gerd Moellmann <gerd@gnu.org>
1969
b4f30ec5
GM
1970 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1971 instead of Finteractive_p.
1972
1973 * lisp.h (interactive_p): Add prototype.
1974
1975 * eval.c (interactive_p): New function.
1976 (Finteractive_p): Use it.
1977
ce070307
GM
1978 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1979
f57b6e64
DL
19802001-01-31 Dave Love <fx@gnu.org>
1981
d61c7afe
DL
1982 * .gdbinit (hook-run): Define to run xreload.
1983
f57b6e64
DL
1984 * textprop.c (Fset_text_properties): Fix newline in doc string.
1985
eef93f99
GM
19862001-01-30 Gerd Moellmann <gerd@gnu.org>
1987
52283633
SM
1988 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1989 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1990
1991 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1992 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1993 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1994
1995 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1996 height.
1997
d9c1f6f9
DL
19982001-01-30 Dave Love <fx@gnu.org>
1999
2000 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2001 AFTER_POTENTIAL_GC.
2002
e8f044a0
GM
20032001-01-29 Gerd Moellmann <gerd@gnu.org>
2004
52283633
SM
2005 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2006 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2007
8e1db7b3
EZ
20082001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2009
2010 * textprop.c (Fset_text_properties): Doc fix.
2011
4eefd9d2
GM
20122001-01-29 Gerd Moellmann <gerd@gnu.org>
2013
2014 * xdisp.c (forward_to_next_line_start): Remove xassert.
2015
fccb8288
EZ
20162001-01-29 Jason Rumney <jasonr@gnu.org>
2017
4eefd9d2 2018 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2019 returning without releasing it.
2020
76581eab
KH
20212001-01-29 Kenichi Handa <handa@etl.go.jp>
2022
2023 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2024 for '^', '$', and '\0'.
2025
83a96b4d
AC
20262001-01-28 Andrew Choi <akochoi@i-cable.com>
2027
5604ec34
AC
2028 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2029 regex for '^', '$', and '\0'.
2030
83a96b4d
AC
2031 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2032 only if current_sblock has been initialized.
2033
2034 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2035 terminal frame even if it is the only visible frame.
2036
c09a6440
KH
20372001-01-28 Kenichi Handa <handa@etl.go.jp>
2038
2039 * fontset.c (font_family_registry): Even if FONTNAME conform to
2040 XLFD, if it specifies other fields than family and registry,
52283633 2041 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2042 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2043 a signle byte character. Don't set FAMILY part to nil here.
2044 It is handled by the caller choose_face_font.
c09a6440
KH
2045 (Fnew_fontset): Call font_family_registry with FORCE 0.
2046 (Fset_fontset_font): Likewise.
2047
4dcd74e6
GM
20482001-01-27 Gerd Moellmann <gerd@gnu.org>
2049
2050 * xdisp.c (display_line): Don't treat a newline as fitting
2051 on the line.
2052
d2906bf8
GM
20532001-01-26 Gerd Moellmann <gerd@gnu.org>
2054
0130fe1a
GM
2055 * window.c (size_window): Set the window's orig_top to nil when
2056 changing heights, so that a future shrink_mini_window won't
2057 restore a bogus height.
2058
550f0e6a
GM
2059 * frame.c (do_switch_frame): If selected frame has a mini-window,
2060 resize that to exact size.
2061
b7b20fbd
GM
2062 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2063
a47b7816
GM
2064 * xdisp.c (display_line): Simplify check for glyphs fitting
2065 entirely in the line.
2066
d2906bf8
GM
2067 * xfns.c (xic_style): New variable.
2068 (create_frame_xic): Move static variable to global scope for
550f0e6a 2069 the case that `static' gets defined away.
d2906bf8 2070
73df2b1e
KH
20712001-01-26 Kenichi Handa <handa@etl.go.jp>
2072
2073 * coding.c (decode_coding): Set a flag for inhibiting
2074 inconsistent eol.
2075 (code_convert_region): Always set saved_coding_symbol.
2076 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2077 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2078
6613cfc4
GM
20792001-01-25 Gerd Moellmann <gerd@gnu.org>
2080
c5e6e06b
GM
2081 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2082 XClearArea.
2083
2084 * xterm.c (x_after_update_window_line): Don't clear if frame's
2085 internal border width is zero.
2086 (x_clear_area): New function.
2087 (x_after_update_window_line, x_clear_end_of_line)
2088 (x_scroll_bar_create, x_scroll_bar_set_handle)
2089 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2090 instead of XClearArea.
2091
2092 * xterm.h (x_clear_area): Add prototype.
2093
6613cfc4
GM
2094 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2095 which doesn't seem necessary anymore with Lesstif 0.92.
2096
650cc6cc
DL
20972001-01-25 Dave Love <fx@gnu.org>
2098
34ac3367
DL
2099 * puresize.h (BASE_PURESIZE): Up to 720000.
2100
650cc6cc
DL
2101 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2102
5e37dc22
GM
21032001-01-25 Gerd Moellmann <gerd@gnu.org>
2104
e1e441f9
GM
2105 * xdisp.c (echo_area_display): Don't call redisplay_internal
2106 when Emacs is shutting down. We can't run hooks etc. that
2107 would be necessary to do a redisplay.
2108
5e37dc22
GM
2109 * lread.c (read_integer): Use type EMACS_INT instead of int.
2110
0fb94c7f
EZ
21112001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2112
2113 * ccl.c (ccl_driver): Fix last change.
2114
e3778624
KH
21152001-01-25 Kenichi Handa <handa@etl.go.jp>
2116
2117 * ccl.h (sturct ccl_program): New member suppress_error.
2118
bb264518 2119 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2120 insert error message to the output.
2121 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2122
2123 * coding.h (struct coding_system): New member suppress_error.
2124
2125 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2126 (Fset_terminal_coding_system_internal): Set the member
2127 suppress_error to 1.
2128 (Fset_safe_terminal_coding_system_internal): Likewise.
2129
245ed2b1
SM
21302001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2131
2132 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2133 as if it was a `charset'.
2134
f9aaedb6
GM
21352001-01-24 Gerd Moellmann <gerd@gnu.org>
2136
2137 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2138 value in where_is_cache; the next lookup in the cache returns
2139 something bogus if we do.
2140
c3902c3e
EZ
21412001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2142
2143 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2144 if HAVE_WINDOW_SYSTEM isn't defined.
2145
3497f73e
GM
21462001-01-24 Gerd Moellmann <gerd@gnu.org>
2147
e7e41584
GM
2148 * fns.c (sweep_weak_table): Fix code taking items out of
2149 the hash collision chain. Some cleanup.
2150
3497f73e
GM
2151 * xterm.c (x_new_font): Don't change a tooltip's size.
2152
2153 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2154 background color by specifying a color for the default font
2155 in .Xdefaults.
2156
3d48e687
KH
21572001-01-24 Kenichi Handa <handa@etl.go.jp>
2158
96531b20
KH
2159 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2160 a workaround for SunOS 4's cc.
2161 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2162 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2163 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2164 statement.
3d48e687 2165
a30629d2
GM
21662001-01-23 Gerd Moellmann <gerd@gnu.org>
2167
2168 * xterm.c (x_set_window_size_1): New function extracted from
2169 x_set_window_size.
2170 (x_set_window_size): Use it.
2171 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2172 doesn't have a widget, like tooltips.
2173
5a43decf
EZ
21742001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2175
52283633 2176 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2177
b0e98867
KH
21782001-01-23 Kenichi Handa <handa@etl.go.jp>
2179
2180 * fns.c (Fset_char_table_default): Fix to make sub char-table
2181 correctly.
2182
50606b4c
GM
21832001-01-22 Gerd Moellmann <gerd@gnu.org>
2184
cb2ddc53 2185 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2186 a desired tool bar string, even if there are no tool bar items.
2187
57c28064
GM
2188 * xdisp.c (Ftool_bar_lines_needed): New function.
2189 (syms_of_xdisp): Defsubr it.
2190
50606b4c
GM
2191 * editfns.c (Fformat): Don't extend text properties from arguments
2192 to padding chars in the result.
2193
2f169c38
EZ
21942001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2195
2196 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2197
0f32f023
AI
21982001-01-20 Andrew Innes <andrewi@gnu.org>
2199
52283633 2200 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2201 (w32_initialize): Don't set term hooks that aren't actually needed
2202 in windowed mode.
2203
2204 * xfaces.c (realize_default_face):
2205 (realize_face):
2206 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2207
2208 * xdisp.c (handle_single_display_prop): Remove references to
2209 FRAME_W32_CONSOLE_P.
2210
52283633 2211 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2212
2213 * frame.h (output_method): Remove output_w32_console method.
2214 (FRAME_W32_CONSOLE_P): Remove macro.
2215
2216 * frame.c (Qw32_console): Remove variable.
2217 (Fframep): Remove references to it.
2218 (syms_of_frame): Ditto.
2219 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2220
2221 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2222 redefinition.
2223
7173eada
KH
22242001-01-20 Kenichi Handa <handa@etl.go.jp>
2225
2226 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2227
755b45ce
AI
22282001-01-19 Andrew Innes <andrewi@gnu.org>
2229
2230 * w32.c (init_environment): Add a version-independent site-lisp
2231 directory to EMACSLOADPATH, after the version dependent one.
2232
0a949811
GM
22332001-01-19 Gerd Moellmann <gerd@gnu.org>
2234
8501998a
GM
2235 * editfns.c (Fbuffer_substring): Doc fix.
2236
52283633
SM
2237 * xdisp.c (message_dolog, message2, message2_nolog):
2238 Rename parameter LEN to NBYTES.
0a949811 2239
e6ebcbbe
KH
22402001-01-19 Kenichi Handa <handa@etl.go.jp>
2241
200ecca2
KH
2242 * charset.c (strwidth): Use c_string_width.
2243 (c_string_width): New function.
2244 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2245 Caller changed.
2246
2247 * charset.h (c_string_width, lisp_string_width): Extern them.
2248
52283633 2249 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2250
e6ebcbbe
KH
2251 * indent.c (check_composition): Check validity of composition.
2252
200ecca2
KH
2253 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2254 characters by calling c_string_width.
2255 (x_consider_frame_title): Get byte length of frame tile string
2256 correctly.
2257 (display_mode_element): Pay attention to width of non-ASCII
2258 characters by calling strwidth.
2259
8692ca92
GM
22602001-01-18 Gerd Moellmann <gerd@gnu.org>
2261
8962e303
GM
2262 * xfns.c (Qcancel_timer): New variable.
2263 (syms_of_xfns): Initialize and staticpro it.
2264 (Fx_hide_tip, Fx_show_tip): Use it.
2265 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2266 the timer.
2267 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2268
91523be9
GM
2269 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2270
2271 * window.h (WINDOW_LIVE_P): New macro.
2272
b0b7ed0e
GM
2273 * window.c (window_size_fixed): New variable.
2274 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2275 the doc string.
2276
06bccf8e
GM
2277 * eval.c (specbind): If binding a per-buffer variable which
2278 doesn't have a buffer-local value in the current buffer, change
2279 the global value by changing the value of the symbol bound in all
2280 buffers not having their own value, to make it consistent with
2281 what happens with other buffer-local variables.
2282
8692ca92
GM
2283 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2284
2285 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2286 when searching for a newline.
2287
bb3a3b50
KH
22882001-01-18 Kenichi Handa <handa@etl.go.jp>
2289
2290 * xdisp.c (display_string): Fix previous change.
2291
c2cc16fa
JR
22922001-01-18 Jason Rumney <jasonr@gnu.org>
2293
2294 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2295 GLYPH_DEBUG is defined.
2296 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2297 true for images with `:ascent 100'.
2298 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2299 meantime, use face MOUSE_FACE_ID.
2300 If first glyph isn't a character glyph, use the ASCII NUL
2301 character to determine the face.
2302 (expose_area): Do not treat left margin specially.
2303 (note_mode_line_highlight): If no local_map, check global keymap.
2304 (note_mouse_highlight): Initialize overlay.
52283633 2305 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2306 (show_scroll_bars): Remove unused function.
2307 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2308 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2309 Clip to row.
52283633 2310 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2311 (x_free_frame_resources): Unload relief colors.
2312
9c11f79e
GM
23132001-01-17 Gerd Moellmann <gerd@gnu.org>
2314
3aec8722 2315 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2316 get_next_display_element when the newline is already found.
2317 This may change the iterator's position, when its current position is
3aec8722
GM
2318 equal to the iterator's stop_charpos.
2319
f3ffc2c3
GM
2320 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2321 zero, use this method only at the end of a line.
2322
52283633 2323 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2324 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2325 if SCALABLE_FONTS_P is set.
52283633 2326
d26d6fd9
GM
2327 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2328 so that scalable fonts are included.
2329
9c11f79e
GM
2330 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2331 In the cache, use a key containing the information if scalable
2332 fonts are included.
2333 (x_load_font): Adapt to change of keys in the font cache.
2334
23352001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2336
d26d6fd9
GM
2337 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2338 XListFonts to take advantage of font caching.
2339
9c11f79e
GM
2340 * xterm.c (x_list_fonts): Ensure caching font information when
2341 called for a null frame, which is the case frequently when Emacs
2342 starts.
2343
51446987
GM
23442001-01-17 Gerd Moellmann <gerd@gnu.org>
2345
f864120f
GM
2346 * xfns.c (QCconversion): Replaces QCalgorithm.
2347
2348 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2349
2350 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2351 of :algorithm.
52283633 2352
e37d1417
GM
2353 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2354 not everything could be displayed.
2355
51446987
GM
2356 * line.h, x-list-font.c: Files removed because unused.
2357
9ad4f3e5
AI
23582001-01-17 Andrew Innes <andrewi@gnu.org>
2359
2360 * dired.c (directory_files_internal): Convert result from readdir
2361 to a unibyte string initially, to avoid possible misinterpretation
2362 of some bytes as the internal form of Emacs characters.
2363
2eda09b5
KH
23642001-01-17 Kenichi Handa <handa@etl.go.jp>
2365
2366 * fns.c (concat): Be sure to avoid putting the same `composition'
2367 property on the adjacent regions.
2368
826f3788
GM
23692001-01-16 Gerd Moellmann <gerd@gnu.org>
2370
52283633 2371 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2372 (Fscroll_right, Fscroll_left): Set it here instead, if called
2373 interactively.
2374
d57b83b3
GM
2375 * buffer.c (Fset_buffer_modified_p): Set buffer's
2376 prevent_redisplay_optimizations_p flag.
2377
826f3788 2378 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2379 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2380 with additional arg.
2381
2382 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2383 Change prototype.
826f3788 2384
826f3788
GM
2385 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2386 FROM_WHERE, for debugging.
2387
261d788b
KH
23882001-01-16 Kenichi Handa <handa@etl.go.jp>
2389
2390 * ccl.c (Fregister_ccl_program): Handle the return value of
2391 resolve_symbol_ccl_program correctly.
52283633 2392 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2393
bccee4f2
GM
23942001-01-15 Gerd Moellmann <gerd@gnu.org>
2395
e4ded23c
GM
2396 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2397 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2398
2399 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2400 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2401 the display; we didn't open it.
2402
bccee4f2
GM
2403 * dispnew.c (save_or_restore_current_matrices): Function removed.
2404 (save_current_matrix, restore_current_matrix): New functions.
2405 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2406 restore the frame's current matrix. Due to the glyph pointer
2407 setup done in adjust_glyph_matrix, there is no easy way to make
2408 saving the current matrix in the desired matrix generally correct,
2409 so don't try it.
2410
ebeccffa
KH
24112001-01-15 Kenichi Handa <handa@etl.go.jp>
2412
2413 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2414 truncation glyphs.
2415 (display_line): Optimize for wide characters.
e4ded23c 2416 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2417 partially. On ttys, produce more than one truncation glyph for
2418 multi-column characters that don't fit on the line.
2419
64388126
KH
24202001-01-13 Kenichi Handa <handa@etl.go.jp>
2421
52283633
SM
2422 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2423 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2424
8edb0a6f
JR
24252001-01-13 Jason Rumney <jasonr@gnu.org>
2426
2427 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2428 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2429 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2430 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2431
52283633
SM
2432 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2433 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2434 (x_draw_image_glyph_string): Adapt to change of image margins.
2435
2436 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2437 variables.
2438
2439 * w32bdf.c (search_file_line, get_cached_font_char)
2440 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2441
2442 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2443
2444 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2445 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2446 (Fw32_send_sys_command): Remove unused variables.
2447 (w32_msg_pump): Add parentheses.
2448
2449 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2450 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2451 Add parentheses.
2452
4956d1ef
GM
24532001-01-12 Gerd Moellmann <gerd@gnu.org>
2454
b30623be
GM
2455 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2456 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2457 being a pair of margins.
2458 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2459 to DEFVAR_LISP. Extend doc.
2460
2461 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2462 margins.
2463 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2464 pair of integers `(X . Y)', use X for the horizontal and Y for the
2465 vertical margin.
2466 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2467 (parse_image_spec): Check it.
52283633
SM
2468 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2469 (tiff_format, gif_format, gs_format):
2470 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2471
52283633
SM
2472 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2473 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2474 (x_draw_image_glyph_string): Adapt to the change of image margins.
2475
2476 * dispextern.h (struct image): Replace member `margin' with
2477 `hmargin' and `vmargin'.
2478
4554cc79
GM
2479 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2480 and GLYPHS.
2481
2482 * dispnew.c (update_text_area): Put code which decrements the
2483 stop position when the row's face extends to the end of the
3bffc665 2484 line in #if 0.
4554cc79 2485
3cccce8d
GM
2486 * xfns.c (x_set_mouse_color): Fix color allocation.
2487
4956d1ef
GM
2488 * keyboard.c: Call get_local_map with new argument list.
2489
2490 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2491
2492 * intervals.h (enum map_property): Removed.
2493 (get_local_map): Change prototype.
2494
2495 * keymap.c: Call get_local_map with new argument list.
2496 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2497
2c2ff7f2
GM
24982001-01-11 Gerd Moellmann <gerd@gnu.org>
2499
a23887b9
GM
2500 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2501 of the size needed for the tool bar string. For the last image,
2502 use a `display' property that reaches to the end of the string.
2503
a7ee2d2e
GM
2504 * xselect.c (selection_request_dpyinfo): New variable.
2505 (x_handle_selection_request): Set it.
2506 (x_selection_request_lisp_error): Don't call
2507 x_decline_selection_request if selection request's display has
2508 been closed.
2509
52283633
SM
2510 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2511 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2512
457b792c
GM
25132001-01-10 Dave Love <fx@gnu.org>
2514
2515 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2516 ${SOME_MACHINE_LISP}, not ${lisp}.
2517
c1efd260
GM
25182001-01-10 Gerd Moellmann <gerd@gnu.org>
2519
52283633
SM
2520 * xdisp.c (display_line): On ttys, produce more than one truncation
2521 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2522
ac95a621
GM
2523 * xselect.c (x_reply_selection_request): Add a comment.
2524
c1efd260
GM
2525 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2526 XkbGetNames instead of XkbGetKeyboard.
2527
1bfb1345
DL
25282001-01-10 Dave Love <fx@gnu.org>
2529
2530 * sysdep.c (random): Revert the declaration.
2531
38119822
GM
25322001-01-09 Gerd Moellmann <gerd@gnu.org>
2533
52283633
SM
2534 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2535 Call function string_bytes.
35f464a7
GM
2536 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2537
2538 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2539 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2540 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2541 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2542 the current sblock.
2543 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2544 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2545 after sweeping strings, and at the end.
2546 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2547
38119822
GM
2548 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2549 ensure that pop_message is called.
2550
2551 * keyboard.c (Fexecute_extended_command): Use a
2552 record_unwind_protect to ensure that pop_message is called.
2553
2554 * lisp.h (push_message_unwind): Add prototype.
2555
2556 * xdisp.c (push_message_unwind): New function.
2557
2558 * fileio.c (do_auto_save_unwind): Do the pop_message here
2559 instead of in Fdo_auto_save.
2560 (Fdo_auto_save): Don't call pop_message.
2561
f47a9ec4
KR
25622001-01-08 Ken Raeburn <raeburn@gnu.org>
2563
2564 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2565 in inner block.
2566
a758f97d
GM
25672001-01-08 Gerd Moellmann <gerd@gnu.org>
2568
6d0afc03
GM
2569 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2570 when increasing window's vscroll.
2571
a758f97d
GM
2572 * macros.c (Qkbd_macro_termination_hook): New variable.
2573 (syms_of_macros): Initialize and staticpro it.
2574 (pop_kbd_macro): Run kbd-macro-termination-hook.
2575
2576 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2577
1bfb1345 25782001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2579
2580 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2581 arglist, for documentation's sake.
2582
0dac6924
AI
25832001-01-06 Andrew Innes <andrewi@gnu.org>
2584
2585 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2586 of *.pdb.
2587
8182406a
AI
25882001-01-05 Andrew Innes <andrewi@gnu.org>
2589
2590 * term.c (update_end): Don't check updating_frame; for some reason
2591 this can be 0 sometimes, such as after dismissing a popup menu,
2592 and isn't necessary given the explicit frame argument.
2593
3828218c
GM
25942001-01-05 Gerd Moellmann <gerd@gnu.org>
2595
2596 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2597 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2598
2f5ded21
GM
25992001-01-04 Gerd Moellmann <gerd@gnu.org>
2600
52283633 2601 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2602
2603 * xfns.c (x_create_tip_frame): Preserve the value of
2604 face_change_count around the creation of the tip frame.
52283633 2605
2f5ded21
GM
2606 * xfns.c (last_show_tip_args): New variable.
2607 (compute_tip_xy): New function.
2608 (Fx_show_tip): Reuse an existing tip frame, if possible.
2609 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2610
dfad65fa
DL
26112001-01-04 Dave Love <fx@gnu.org>
2612
64d4ec0f
DL
2613 * editfns.c (Fformat): Doc fix.
2614
dfad65fa
DL
2615 * systime.h (set_file_times): Prototype.
2616
2617 * widget.h (EmacsFrameSetCharSize_): Prototype.
2618
2619 * sysdep.c (random, srandom): Declare explicitly.
2620
2621 * dispextern.h (move_it_vertically_backward): Declare.
2622
85fe3b5e
GM
26232001-01-04 Gerd Moellmann <gerd@gnu.org>
2624
0f2ac578
GM
2625 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2626 like in Fx_create_frame.
2627
482cca61
GM
2628 * xfaces.c (set_font_frame_param): Don't do anything for
2629 non-graphical frames.
2630
85fe3b5e
GM
2631 * window.c (Fdelete_other_windows): Set window's window_end_valid
2632 to nil when changing the window's start. Don't change the
2633 window's start when its top position hasn't changed. If we do,
2634 this will set the window's optional_new_start, which act's like a
2635 force_start during redisplay with C-x 1 M-> under particular
2636 circumstances (see report from Per Starback to emacs-pretest-bug
2637 from 2000-12-13.).
2638
3e99d3b4
GM
26392001-01-03 Gerd Moellmann <gerd@gnu.org>
2640
a77dc1ec
GM
2641 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2642 short cut at the start of the function. Add an assertion.
2643 (reseat_at_next_visible_line_start): Add an assertion.
2644
2f3cad6c
GM
2645 * window.c (Frecenter): When changing the window start, set the
2646 window's window_end_valid to nil.
2647 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2648
2649 * dispextern.h (move_it_past_eol): Add prototype.
2650
2651 * xdisp.c (move_it_past_eol): New function.
2652
3e99d3b4
GM
2653 * window.c (Fwindow_end): Doc fix.
2654
26552001-01-03 Dave Love <fx@gnu.org>
2656
52283633 2657 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2658
bafb434c
GM
26592001-01-03 Gerd Moellmann <gerd@gnu.org>
2660
2661 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2662 the enabled_p flag of the glyph row at window_end_vpos to 0.
2663 (handle_single_display_prop): Fix last change.
2664
5297fb00
RS
26652001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2666
2667 * window.c (Frecenter): Doc fix.
2668
13d6a61c
AI
26692001-01-02 Andrew Innes <andrewi@gnu.org>
2670
2671 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2672
2673 * frame.h (output_method): Add output_w32_console method.
2674 (FRAME_W32_CONSOLE_P): New macro.
2675
2676 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2677 use output_w32_console method.
2678 (Qw32_console): New Lisp_Object.
2679 (Fframep): Return it.
2680 (syms_of_frame): Init it.
52283633 2681 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2682
2683 * xfaces.c (realize_default_face): Set face foreground and
2684 background to unspecified for w32_console frames.
2685 (realize_face): Realize face cache for w32_console frames.
2686 (realize_tty_face): Accept w32_console frames.
2687
52283633 2688 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2689 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2690 necessary, even if running interactively.
2691
2692 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2693 w32_console frames.
2694
52283633
SM
2695 * w32term.c (x_update_begin):
2696 (x_update_end):
2697 (x_clear_frame):
2698 (x_ins_del_lines):
2699 (x_change_line_highlight):
2700 (x_delete_glyphs):
2701 (w32_ring_bell):
2702 (x_update_begin):
2703 (x_update_end):
2704 (w32_reassert_line_highlight):
2705 (w32_frame_rehighlight):
13d6a61c
AI
2706 (w32_frame_raise_lower): Do nothing if not w32 frame.
2707
2708 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2709
2710 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2711 system doesn't tell us directly.
2712 (Fx_display_visual_class): Implement properly.
2713
d6bb0c0d
GM
27142001-01-02 Gerd Moellmann <gerd@gnu.org>
2715
2716 * window.c (Frecenter): Handle centering in graphical frames
2717 specially. Centering on the basis of line counts doesn't work
2718 reliably with variable-height lines.
52283633 2719
315f5865
EZ
27202001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2721
2722 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2723 and al[].
2724
52283633 2725 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2726 (update_compositions): Remove unused variable `hook'.
2727
2728 * intervals.c (get_local_map): Remove unused variable `tem'.
2729
2730 * doprnt.c (doprnt1): Remove unused variable `size'.
2731
2732 * fns.c (Flength): Remove unused variable `tail'.
2733 (Fdelete): Remove unused variable `size'.
2734
2735 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2736 and `gcpro2'.
2737
52283633 2738 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2739
2740 * data.c (find_symbol_value): Remove extra 3rd argument in the
2741 call to swap_in_symval_forwarding.
2742
52283633 2743 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2744
2745 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2746 (trivial_regexp_p): Remove unused variable `c'.
2747 (boyer_moore): Remove unused variable `k'.
2748
2749 * indent.c (current_column): Remove unused variable `stopchar'.
2750 (Fcompute_motion): Remove unused variable `contin'.
2751
2752 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2753
2754 * dired.c (directory_files_internal): Fix a typo in a comment.
2755 Remove an unused variable `handler'.
52283633 2756 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2757 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2758 on BSD4_2.
2759
52283633 2760 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2761
2762 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2763 and `buf'.
2764 (Fmarker_insertion_type): Remove unused variable `buf'.
2765
2766 * insdel.c (make_gap): Remove unused variable `result'.
2767
52283633 2768 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2769 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2770 (menu_bar_items): Remove unused function-scope variable `tem'.
2771
2772 * fontset.c (fontset_ref): Remove unused variable `i'.
2773 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2774 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2775 (make_fontset_for_ascii_face): Remove unused variable `name'.
2776 (fs_load_font): Remove unused variable `font_idx'.
52283633 2777 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2778 (list_fontsets): Remove unused variable `tail'.
2779 (Fnew_fontset): Remove unused variables `family' and `registry'.
2780 (accumulate_font_info): Remove unused variable `tmp'.
2781 (Ffontset_font): Remove unused variable `id'.
2782 (syms_of_fontset): Remove unused variable `i'.
2783
2784 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2785 to x_term_init.
2786 (lookup_image): Remove unused variable `file'.
2787 (xbm_load): Remove unused variables `bitmap_data', `height', and
2788 `width'. Remove function-local variable `i', leave the
2789 block-local one.
2790 (gif_load): Remove unused variable `inc'.
2791
52283633 2792 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2793 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2794 leave only the one in the inner block.
2795
2796 * xfaces.c (face_fontset, realize_default_face): Remove unused
2797 variable `fontset'.
2798 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2799
2800 * term.c (encode_terminal_code): Remove unused variable `c'.
2801
2802 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2803 char *' instead of `char *'.
2804
2805 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2806 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2807 (Fchar_category_set): Remove unused variables `val', `charset',
2808 `c1' and `c2'.
2809
52283633
SM
2810 * coding.c (detect_coding_iso2022, setup_coding_system):
2811 Remove unused variable `i'.
315f5865
EZ
2812 (detect_coding_mask): Remove unused variable `idx'.
2813 (detect_coding): Remove unused variable `i'.
2814 (ccl_coding_driver): Remove unused variable `result'.
2815 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2816 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2817 (encode_coding_string): Remove unused variables `gcpro1' and
2818 `saved_coding_symbol'.
2819 (Ffind_coding_systems_region_internal): Remove function-local
2820 variable args[], leave only the block-local one.
2821 (code_convert_region1): Remove unused variable `len'.
2822
2823 * charset.c (char_printable_p): Remove unused variable `chars'.
2824 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2825 (str_to_multibyte): Remove unused variable `c'.
2826
2827 * window.c (size_window): Remove block-local variable `min_size'.
2828
2829 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2830 `header_line_height'.
2831 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2832 enum display_element_type.
2833
1a8a9daf
GM
28342001-01-02 Gerd Moellmann <gerd@gnu.org>
2835
6dde6abc 2836 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2837 statements that call X. Save away the error message in a local copy.
2838
1883b2c6
GM
2839 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2840 the start.
2841
a13be207
GM
2842 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2843 in or at the start of invisible text.
2844
1a8a9daf
GM
2845 * dispnew.c (update_window): Don't check_current_matrix_flags.
2846
3608c0f9
JR
28472001-01-01 Jason Rumney <jasonr@gnu.org>
2848
2849 * w32fns.c (x_figure_window_size): Do not allow new_height and
2850 new_width of frame to override specified values.
2851
abb1acc4
KH
28522000-12-30 Kenichi Handa <handa@etl.go.jp>
2853
52283633 2854 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2855
762a68ec
GM
28562000-12-29 Gerd Moellmann <gerd@gnu.org>
2857
52283633 2858 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2859 (update_window) [GLYPH_DEBUG]: Call it.
2860 (scrolling_window): Prevent including current rows which are below
2861 what's displayed in the window.
2862
2863 * xdisp.c (try_window_reusing_current_matrix)
2864 <new start <= old start>: Disable rows in the current matrix
2865 which are below the window after scrolling.
52283633 2866
762a68ec
GM
2867 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2868 is zero. It's not worth the complexity.
2869 (invisible_text_between_p): Put in #if 0 because unused.
2870
2d5912c1
GM
28712000-12-28 Gerd Moellmann <gerd@gnu.org>
2872
46f6a258
GM
2873 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2874 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2875
89f93679
GM
2876 * keyboard.c (echo_char): If C is an integer, always call
2877 push_key_description. Former code could signal an invalid
2878 character error.
2879
2880 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2881 If set, print multibyte text.
2882 (Fsingle_key_description): Call push_key_description with
2883 FORCE_MULTIBYTE set.
2884 (describe_buffer_bindings): Likewise.
2885
2886 * lisp.h (push_key_description): Add prototype.
2887
c06017fb
GM
2888 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2889 around the call to redisplay_internal.
2890
f1d2ce7f
GM
2891 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2892
2d5912c1
GM
2893 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2894
9371f831
KH
28952000-12-28 Kenichi Handa <handa@etl.go.jp>
2896
2897 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2898 (ccl_driver): New local variable `extra_bytes'.
2899
2900 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2901
52283633
SM
2902 * coding.c (setup_coding_system):
2903 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2904 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2905
0c80628a
KH
29062000-12-28 Kenichi Handa <handa@etl.go.jp>
2907
2908 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2909 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2910 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2911 (decode_composition_emacs_mule): New function.
2912 (decode_coding_emacs_mule): Decode composition sequence by calling
2913 decode_composition_emacs_mule.
2914 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2915 (encode_coding_emacs_mule): Changed from macro to function.
2916 If a text contains compositions, encode them correctly.
0c80628a
KH
2917 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2918 that decoding and encoding are required.
2919
3e32cc27
GM
29202000-12-27 Gerd Moellmann <gerd@gnu.org>
2921
5e25feee
GM
2922 * xfaces.c (PT_PER_INCH): New macro.
2923 (xlfd_point_size): Compute real point size from font's pixel size.
2924 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2925 instead of 72.
2926
892d8fcd
GM
2927 * .gdbinit: Comment out the line pointing to the Lesstif source
2928 directory.
2929
12c8b416
GM
2930 * window.c (Frecenter): Use displayed_window_lines instead
2931 of window_internal_height.
2932
6061fbf0
GM
2933 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2934 instead of x-toolkit-scroll-bars-p.
2935 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2936
2937 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2938 instead of x-toolkit-scroll-bars-p.
2939 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2940
3e32cc27
GM
2941 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2942 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2943 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2944 New variables.
2945 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2946 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2947 (build_frame_matrix_from_leaf_window): Remove unused code.
2948 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2949 redisplay history.
2950 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2951 (update_window) [GLYPH_DEBUG]: Likewise.
2952 (syms_of_display): Defsubr dump-redisplay-history.
2953
31798cfe
GM
29542000-12-23 Gerd Moellmann <gerd@gnu.org>
2955
f717c2ba
GM
2956 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2957 the end of the prompt. Set echo_after_prompt to the offset
2958 of echoptr in echobuf.
2959
aeb2b8fc
GM
2960 * xdisp.c (init_from_display_pos): Pop until the iterator's
2961 stack is empty; there may be frames for stretch or images
2962 on the stack.
2963
31798cfe
GM
2964 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2965 (save_or_restore_current_matrix): New function for the same
2966 purpose, but more efficient.
2967 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2968
f8156156
EZ
29692000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2970
2971 * xdisp.c (syms_of_xdisp): Fix last change.
2972
bdd6d4e8
GM
29732000-12-23 Gerd Moellmann <gerd@gnu.org>
2974
2975 * xdisp.c (syms_of_xdisp): Doc fix.
2976
2977 * xdisp.c (redisplay_window): Remove label restore_buffers;
2978 use finish_scroll_bars instead to make sure that scroll bars
2979 are redeemed. If we don't do this, flickering can result from
2980 scroll bars being destroyed and recreated.
2981
9436cdf9
JR
29822000-12-22 Jason Rumney <jasonr@gnu.org>
2983
2984 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2985 in the wrong colors when the foreground is not black.
2986 (expose_window): Don't redraw the window that's currently being
2987 updated.
2988
951f9df5
GM
29892000-12-22 Gerd Moellmann <gerd@gnu.org>
2990
856ff7a7
GM
2991 * window.c (size_window): When setting the window's too_small_ok
2992 flag, compare old size with minimum size depending on WIDTH_P,
2993 don't compare with window_min_width.
52283633 2994
951f9df5
GM
2995 * window.c (delete_window): Simplify somewhat.
2996 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2997 freeing window matrices. The flag windows_or_buffers_changed is
2998 set, so the next redisplay will consider all windows; this should
2999 suffice.
3000
886bc933
KH
30012000-12-22 Kenichi Handa <handa@etl.go.jp>
3002
3003 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3004
3005 * ccl.h (struct ccl_program): New member cr_consumed.
3006
3007 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3008 (CCL_READ_CHAR): Handle EOL conversion here.
3009 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3010
177f4e88
GM
30112000-12-21 Gerd Moellmann <gerd@gnu.org>
3012
52283633 3013 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3014
3015 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3016 otherwise tabs of different size compare equal.
3017
3018 * callint.c (Fcall_interactively): Prevent a compiler warning.
3019
3020 * print.c (print_unwind): Return nil.
3021 (PRINTDECLARE): Initialize all local variables.
3022 (print_preprocess): Add a default case.
3023
8e15274f
GM
3024 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3025
3026 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3027
52283633 3028 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3029 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3030
3031 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3032
3033 * dispnew.c (ensure_frame_matrix): Removed.
3034 (save_frame_matrix, restore_frame_matrix): New functions.
3035 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3036
3037 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3038 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3039
99012074
AI
30402000-12-21 Andrew Innes <andrewi@gnu.org>
3041
3042 * w32term.c (x_update_begin): Regenerate the palette here, rather
3043 than for each window.
3044
3045 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3046 palette is NULL, since this corrupts memory! Also get
3047 display_info reference from frame.
3048
29ef7d2d
JR
30492000-12-21 Jason Rumney <jasonr@gnu.org>
3050
3051 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3052
3053 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3054 to avoid returning without releasing it.
3e27fa1f 3055
3f9d67a6
KH
30562000-12-21 Kenichi Handa <handa@etl.go.jp>
3057
587fc3f9
KH
3058 * keymap.c (push_key_description): Don't convert eight-bit-control
3059 and eight-bit-graphic to multibyte character.
3060
3f9d67a6
KH
3061 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3062 generic character and CODE1 is nil, return the smallest character
3063 in CHARSET.
3064
774ba8c9
DL
30652000-12-20 Dave Love <fx@gnu.org>
3066
3067 * s/osf5-0.h (NSIG): Don't redefine.
3068
88416888
SM
30692000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3070
3071 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3072 excluding menu-bar and tool-bar.
3073 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3074 (menu_item_p): Remove.
3075 (where_is_internal_1): Don't ignore menu-items.
3076
a6426c6f
GM
30772000-12-20 Gerd Moellmann <gerd@gnu.org>
3078
03ff8aab
GM
3079 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3080 into account.
3081
3082 * window.c (make_window): Initialize window's min_hscroll.
3083 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3084 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3085 to zero.
3086 (struct saved_window): New member min_hscroll.
3087 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3088 (Fset_window_configuration): Set window's min_hscroll.
3089 (save_window_save): Save window's min_hscroll.
3090 (compare_window_configurations): Compare min_hscroll values.
3091
3092 * window.h (struct window): New member min_hscroll.
3093
3094 * keyboard.c (echo_prompt): Prevent a compiler warning.
3095
8de4aaf8
GM
3096 * xdisp.c (try_cursor_movement): Fix last change. The real
3097 condition is that PT is at the end of the row, and should
3098 be displayed at the start of the next row.
52283633 3099
3f7e3031
GM
3100 * xdisp.c (try_cursor_movement): If we end on a partially
3101 visible line, end we already decided to scroll, return -1.
3102
a6426c6f
GM
3103 * dispextern.h (ensure_frame_matrix): Add prototype.
3104
3105 * window.c (delete_window, Fsplit_window)
3106 (Fset_window_configuration): Call ensure_frame_matrix.
3107
52283633
SM
3108 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3109 New functions.
a6426c6f
GM
3110 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3111 completed, call fake_current_matrices instead of marking frame
3112 garbaged.
3113
57fa2774
JR
31142000-12-20 Jason Rumney <jasonr@gnu.org>
3115
3116 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3117
d925df90
EZ
31182000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3119
3120 * fns.c (Frequire): Doc fix.
3121
7b93a85b
GM
31222000-12-19 Gerd Moellmann <gerd@gnu.org>
3123
52283633 3124 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3125
c74e645b
GM
3126 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3127 currently displaying a message.
3128
7b93a85b
GM
3129 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3130 xterm.h.
3131 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3132
90d97e64
AI
31332000-12-18 Andrew Innes <andrewi@gnu.org>
3134
3135 * w32.c (w32_strerror): New function.
3136
3137 * w32.h (w32_strerror): New extern.
3138
3139 * w32fns.c (Fw32_shell_execute): Use it.
3140
91c9e6ce
GM
31412000-12-18 Gerd Moellmann <gerd@gnu.org>
3142
3143 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3144
6f4745e2
EZ
31452000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3146
3147 * msdos.c (IT_set_face): Obey inverse_video.
3148
c9e088ce
KH
31492000-12-18 Kenichi Handa <handa@etl.go.jp>
3150
3151 * dired.c (directory_files_internal): Always return decoded filenames.
3152
c3695f5f
GM
31532000-12-18 Gerd Moellmann <gerd@gnu.org>
3154
52d8e4ff
GM
3155 * xterm.c (x_connection_closed): Prevent being called recursively
3156 because of an error condition in XtCloseDisplay.
52283633 3157
62be9979
GM
3158 * xdisp.c (init_iterator): If noninteractive, and the frame's
3159 face cache is null, make one.
3160
52283633 3161 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3162
c3695f5f
GM
3163 * process.c (wait_reading_process_input): Check for pending
3164 input when running timers.
3165
78555fbe
EZ
31662000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3167
52283633 3168 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3169
b2b36264
KH
31702000-12-18 Kenichi Handa <handa@etl.go.jp>
3171
3172 * process.c (read_process_output): Don't run a filter if the code
3173 decoder produces nothing but carryover.
3174
9c543fbf
AI
31752000-12-17 Andrew Innes <andrewi@gnu.org>
3176
3177 * w32.c (sys_rename): Only check errno against EEXIST, and not
3178 EACCES, when determining whether rename failed because the target
3179 exists. This was resulting in indefinite looping on Windows 9x if
3180 the source file was locked by another process.
3181
3182 * w32fns.c (Ffile_system_info): New function.
3183 (syms_of_w32fns): Defsubr it.
3184
10c2b5a8
GM
31852000-12-17 Gerd Moellmann <gerd@gnu.org>
3186
b0228ace
GM
3187 * window.c (coordinates_in_window): Fix computation for
3188 position on vertical line between mode lines.
3189
10c2b5a8
GM
3190 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3191 Don't alter tip_frame or tip_window.
3192 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3193 was deleted.
3194
c844a81a
GM
3195 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3196 Don't alter tip_frame or tip_window.
3197 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3198 was deleted.
3199
6c825f8e
EZ
32002000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3201
3202 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3203 be consistent with the doc string. Reported by NAKAJIMA Mikio
3204 <minakaji@osaka.email.ne.jp>.
3205
af4bb4c8
KH
32062000-12-16 Kenichi Handa <handa@etl.go.jp>
3207
3208 * xfaces.c (Vface_ignored_fonts): New variable.
3209 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3210 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3211
8062e53a
GM
32122000-12-15 Gerd Moellmann <gerd@gnu.org>
3213
e87b8809
GM
3214 * dispnew.c (update_window): Detect pending input every nth line
3215 updated, i.e. do it depending on real work done, and not on the
3216 vpos of the line.
3217
3218 * xterm.c (expose_window): Don't redraw the window that's
3219 currently being updated.
3220
a6768cc5
GM
3221 * window.c (Fset_window_point): Remove test for
3222 cursor_in_non_selected_windows.
3223
4ea7fdca
GM
3224 * lread.c (read1): Recognize end of file after `\\'.
3225
8062e53a
GM
3226 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3227 not unwind_create_frame.
3228
bb7959c1
GM
32292000-12-15 Dave Love <fx@gnu.org>
3230
3231 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3232 bcopy & al.
3233
3234 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3235
ced04c42
KH
32362000-12-15 Kenichi Handa <handa@etl.go.jp>
3237
c5443913
KH
3238 * coding.c (setup_coding_system): Clear all members of the struct
3239 coding_system at first.
bc137305
KH
3240 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3241 argument.
3242 (code_convert_region): Don't override coding->src_multibyte and
3243 coding->dst_multibyte.
c5443913 3244
ced04c42
KH
3245 * fns.c (Fmd5): Docstring improved.
3246
c2d7f289
MB
32472000-12-15 Miles Bader <miles@gnu.org>
3248
3249 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3250 are actually marked as mode-lines; otherwise use
3251 estimate_mode_line_height.
3252
9d7d9263
GM
32532000-12-14 Gerd Moellmann <gerd@gnu.org>
3254
3255 * editfns.c (Fformat): Prevent a buffer overrun when the format
3256 specifies a precision.
3257
7cf0153a
EZ
32582000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3259
3260 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3261 argument is outside the range [2..3].
3262
1de0f662
AI
32632000-12-14 Andrew Innes <andrewi@gnu.org>
3264
3265 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3266 nothing to do. Bind inhibit-quit.
3267 (tip_frame): Make it a Lisp_Object.
3268 (x_create_tip_frame): Set tip_frame after it has been added to
3269 Vframe_list.
3270 (Fx_show_tip): Don't set tip_frame here.
52283633 3271 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3272 (unwind_create_frame, unwind_create_tip_frame): New functions.
3273 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3274 while a frame is only partially constructed.
3275
3276 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3277 (x_free_frame_resources): New function.
3278 (x_destroy_window): Use it.
3279
02387dcc
GM
32802000-12-14 Gerd Moellmann <gerd@gnu.org>
3281
3282 * xfns.c (Fx_backspace_delete_keys_p): New function.
3283 (syms_of_xfns): Defsubr it.
3284
3285 * config.in (HAVE_XKBGETKEYBOARD): Add.
3286
0544ef49
KH
32872000-12-14 Kenichi Handa <handa@etl.go.jp>
3288
98d62747
KH
3289 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3290 Always store string in multibyte representation in echobuf.
3291 (echo_char): Always store string in multibyte representation in
3292 echobuf.
3293 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3294 (read_key_sequence): Adjusted for the change of echo_prompt.
3295
a20193cd
KH
3296 * fns.c (Fmd5): Docstring improved.
3297
191b83b6
KH
3298 * lisp.h (detect_coding_system): Prototype adjusted.
3299
0544ef49
KH
3300 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3301 (detect_coding_emacs_mule, detect_coding_iso2022,)
3302 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3303 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3304 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3305 (detect_coding_mask, detect_coding_system): New argument
3306 MULTIBYTEP. Callers changed.
1da1bb05
KH
3307 (decode_coding_string): Set coding->src_multibyte and
3308 coding->dst_multibyte before calling detect_coding and detect_eol.
3309 Update them after some coding system is detected.
52283633 3310
d5b3eb1b
SM
33112000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3312
3313 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3314
3315 * keyboard.c (menu_bar_items, tool_bar_items):
3316 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3317
f7f8bb69
GM
33182000-12-13 Gerd Moellmann <gerd@gnu.org>
3319
52283633 3320 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3321 New variables.
3322 (unwind_create_frame, unwind_create_tip_frame): New functions.
3323 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3324 while a frame is only partially constructed.
3325
3326 * xterm.h (x_free_frame_resources): Declare.
3327
3328 * xterm.c (x_free_frame_resources): New function.
3329 (x_destroy_window): Use it.
3330
e10da507
GM
3331 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3332 don't interrupt the update for pending input initially, i.e.
3333 update at least some lines.
3334
3335 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3336
d5b3eb1b 3337 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3338
3339 * xfns.c (gray_bitmap_bits): Declare `char *'.
3340
90aa2856
GM
33412000-12-12 Gerd Moellmann <gerd@gnu.org>
3342
3343 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3344 lines start with a relief line.
3345
a308c9cd
DL
33462000-12-12 Dave Love <fx@gnu.org>
3347
3348 * window.c (Fdisplay_buffer): Doc fix.
3349 (Fwindow_list): Remove unused var.
3350
3351 * buffer.h (mmap_set_vars): Declare.
3352
3353 * window.h (Fset_window_point): Declare.
3354
d575011f
EZ
33552000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3356
bf6282d2 3357 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3358 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3359 variable `area'. When looking for a row under (X,Y), give up if some
3360 of the previous rows is not enabled.
d575011f 3361
ecf4d726
GM
33622000-12-12 Gerd Moellmann <gerd@gnu.org>
3363
2ebf6139
GM
3364 * window.c (Fset_window_point): If displaying cursors in windows
3365 other than the selected window, make sure redisplay updates
3366 other windows to show the new value of point in the window.
3367
3368 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3369
bfdb75ee
GM
3370 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3371 the buffer is the sole visible buffer when in the mini-buffer.
3372
52283633 3373 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3374 Bind `inhibit-read-only' to t.
3375 (unwind_with_echo_area_buffer): Use AREF.
3376
c0006262
GM
3377 * xfns.c (Fx_hide_tip): Simplified.
3378
52283633
SM
3379 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3380 instead of `1'.
e9a59cad 3381
ecf4d726
GM
3382 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3383
e5959a9a
GM
33842000-12-11 Gerd Moellmann <gerd@gnu.org>
3385
a3642e49 3386 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3387
44b5a125
GM
3388 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3389 nothing to do. Bind inhibit-quit.
3390 (tip_frame): Make it a Lisp_Object.
3391 (x_create_tip_frame): Set tip_frame after it has been added to
3392 Vframe_list.
3393 (Fx_show_tip): Don't set tip_frame here.
3394
3395 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3396
3397 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3398 Lisp_Object.
3399
3400 * dispextern.h: Change external declaration of tip_frame.
3401
d990421f
GM
3402 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3403 return an empty string.
3404
4db87380
GM
3405 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3406 of the window's update_mode_line flag, since the former is set by
3407 force-mode-line-update, not the latter. This makes
3408 column-number-mode slightly faster.
52283633 3409
e5959a9a
GM
3410 * xdisp.c (try_window_id) <all changes above window start>:
3411 Set the cursor.
3412
169fe44e
GM
34132000-12-11 Paul Eggert <eggert@twinsun.com>
3414
3415 * config.in (HAVE_FTELLO): Remove.
3416 (HAVE_FSEEKO): Add.
3417 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3418 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3419 HAVE_FTELLO.
3420 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3421 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3422
59ec59ae
MB
34232000-12-11 Miles Bader <miles@gnu.org>
3424
3425 * window.c (displayed_window_lines): Don't round up when
3426 converting empty space at bottom to lines.
ff904dd6
MB
3427 Handle non-newline-terminated final lines properly.
3428 (Fwindow_text_height): New function (used to be in lisp).
3429 (syms_of_window): Initialize it.
59ec59ae 3430
42ebfa31
SM
34312000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3432
3433 * syntax.c (scan_lists): Check that the right quote char has the
3434 right Sstring syntax when jumping over strings.
3435 (init_syntax_once): Use Smax rather than 13.
3436
5cdb3cf3
MB
34372000-12-09 Miles Bader <miles@gnu.org>
3438
3439 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3440 with PARTIALLY, inverting the sense.
3441 (window_scroll_pixel_based): Scroll partially visible lines into
3442 place if we hit the beginning or end of the buffer.
a12167c5
MB
3443 (displayed_window_lines): Don't include partially visible lines.
3444 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3445
842b2a94
GM
34462000-12-08 Gerd Moellmann <gerd@gnu.org>
3447
3448 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3449
3450 * tparam.c (tparam1): Change the way buffers are reallocated to be
3451 portable and less obfuscated.
3452
3453 * termcap.c (tgetent): Change the way buffers are reallocated to
3454 be portable and less obfuscated.
3455
3456 * macros.c (store_kbd_macro_char): Change the way buffers are
3457 reallocated to be portable and less obfuscated.
3458
3459 * lread.c (read1): Change the way buffers are reallocated to be
3460 portable and less obfuscated.
3461
3462 * doc.c (Fsubstitute_command_keys): Change the way buffers
3463 are reallocated so that it is portable.
3464
137cad7c
EZ
34652000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3466
3467 * dosfns.c (Ffile_system_info): New function.
3468 (syms_of_dosfns): Defsubr it.
3469
5c7f629c
SM
34702000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3471
3472 * alloc.c (gc_sweep): Add comment.
3473
959e647d
GM
34742000-12-07 Gerd Moellmann <gerd@gnu.org>
3475
52283633
SM
3476 * sound.c (vox_configure): Change order of ioctls.
3477 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3478 Ignore errors when changing volume.
3479 (vox_close): Don't reset the device.
3480
926b7e5e
GM
3481 * process.c (read_process_output): Make sure the process marker's
3482 position is valid when the process buffer is changed in
3483 after-change functions. W3 does that.
52283633 3484
959e647d
GM
3485 * xfns.c (x_free_gcs): New function.
3486
3487 * xterm.h (x_free_gcs): Add prototype.
3488
3489 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3490 freeing GCs here.
3491
3492 * xterm.c (x_destroy_window): Call x_free_gcs so that
3493 resources of non-toolkit X windows will be freed.
3494
478ea067
AI
34952000-12-07 Andrew Innes <andrewi@gnu.org>
3496
3497 * w32fns.c (xlfd_charset_of_font): Fix last change.
3498
fbee3231
DL
34992000-12-06 Dave Love <fx@gnu.org>
3500
67292061
DL
3501 * md5.h (__P): Don't define -- it comes from config.h.
3502
fbee3231
DL
3503 * strftime.c: Change some #if foo to #ifdef foo.
3504
4ee87dbb
AI
35052000-12-06 Andrew Innes <andrewi@gnu.org>
3506
3507 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3508
52283633 3509 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3510 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3511 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3512
9765b4a4
GM
35132000-12-06 Gerd Moellmann <gerd@gnu.org>
3514
d285b373
GM
3515 * alloc.c (gc_sweep): Prevent symbols read during loadup
3516 from being freed.
3517
384333ee
GM
3518 * xdisp.c (underlying_face_id): New function.
3519 (handle_face_prop, face_before_or_after_it_pos): Use it
3520 to determine the face ``under'' a string. Let strings inherit
3521 the face of the buffer under them.
3522
3523 * xfaces.c (face_at_string_position): Update function comment.
52283633 3524
d4b72d58
GM
3525 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3526 matrix if the window's left position has changed; we need to
3527 redraw it in this case.
3528
3529 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3530
e1d05387
GM
3531 * window.c (coordinates_in_window): Check mouse on mode-line or
3532 header-line first.
3533
eb1b0c74
GM
3534 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3535 advertized by the function documentation.
3536
d94d636f
GM
3537 * window.c (syms_of_window): Doc fix.
3538
3887b449
GM
3539 * sound.c (vox_configure): Set volume for left and right channel.
3540 (sound_cleanup): Return nil.
3541
efc8f57a
GM
3542 * xdisp.c (move_it_by_lines): Fix paren typo.
3543
9765b4a4
GM
3544 * xterm.c (x_load_font): Don't use the font's max_bounds for
3545 computing the height of the font. If max_bounds' ascent or
3546 descent are greater than the font's ascent or descent, this means
3547 glyphs overlap, which should be handled now by redisplay.
3548
6529ed87
GM
3549 * window.c (Veven_window_heights): New variable.
3550 (syms_of_window): DEFVAR_LISP it.
3551 (Fdisplay_buffer): Check Veven_window_heights before evening the
3552 window heights.
52283633 3553
0eb2ecde
MB
35542000-12-06 Miles Bader <miles@gnu.org>
3555
3556 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3557 update `default-frame-alist' instead of setting no frame parameters.
3558
03d7a167
KH
35592000-12-06 Kenichi Handa <handa@etl.go.jp>
3560
3561 * composite.c (update_compositions): Fix typo (use the correct
3562 variable).
3563
5f8803c2
JR
35642000-12-05 Jason Rumney <jasonr@gnu.org>
3565
3566 * md5.h: Remove underscores from function declarations.
3567 (__attribute__, __alignof__) [!__GNUC__]: Define.
3568
3569 * md5.c: Delay include of md5.h until after namespace cleaning.
3570
c28a075b
JR
3571 * makefile.w32-in (fns.o): Depend on md5.h
3572 (md5.o): New target.
3573 (sunfns.o): Remove.
3574
3575 * makefile.nt: Likewise.
3576
ff3c7056
JR
35772000-12-05 Jason Rumney <jasonr@altavista.net>
3578
3579 * w32term.c (expose_area): Complete last change.
3580
0c21eeeb
KR
35812000-12-05 Ken Raeburn <raeburn@gnu.org>
3582
3583 * minibuf.c: Include intervals.h.
3584
f201d732
JR
35852000-12-05 Jason Rumney <jasonr@gnu.org>
3586
3587 * w32term.c (x_produce_glyphs): If a font for a component of
3588 a composition is not found, use 1 pixel dot ascent and 0 dot
3589 descent value to avoid displaying terribly tall empty boxes.
3590 (expose_area): Pass x-coordinate relative to the exposed
3591 area to x_draw_glyphs instead of a window-relative coordinate.
3592
21999ab9
GM
35932000-12-05 Gerd Moellmann <gerd@gnu.org>
3594
4d2036e4
GM
3595 * xdisp.c (next_element_from_ellipsis): Save face before selective
3596 display in saved_face_id, and set face_before_selective_p.
3597 (reseat_1): Reset face_before_selective_p.
3598 (append_space, extend_face_to_end_of_line): If iterator's
3599 face_before_selective_p is set, use the face from saved_face_id.
3600 (extend_face_to_end_of_line): For tty frames, make sure to
3601 use the right face id when producing spaces at the end of
3602 the line.
3603
3604 * dispextern.h (struct it): Add face_before_selective_p.
3605
52be17cc
GM
3606 * keyboard.c (record_char): Don't record identical help-echo
3607 events in recent_keys.
3608
8a4f36cc
GM
3609 * xterm.c [USE_X_TOOLKIT]: Close the display.
3610 (xim_close_dpy): Handle case that the display has been closed.
3611
57d6e381
GM
3612 * xterm.c (x_destroy_window): Reset the frame's X window after
3613 destroying it.
3614
21999ab9
GM
3615 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3616 variable window_width.
3617 (line_draw_cost): Fix code skipping over spaces at the end of the
3618 line when must_write_spaces is not set.
3619 (scrolling_window): Fix code inserting runs in list of all runs.
3620
91372bb7
KH
36212000-12-05 Kenichi Handa <handa@etl.go.jp>
3622
3623 * coding.c (setup_coding_system): Be sure to initialize
3624 coding->category_idx.
3625
6c083b4c
GM
36262000-12-04 Gerd Moellmann <gerd@gnu.org>
3627
0c68ce6f 3628 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3629
6452929e
GM
3630 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3631 area to x_draw_glyphs instead of a window-relative coordinate.
3632
d7f31e22
GM
3633 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3634 error in the message.
3635
ae18aa3b
GM
3636 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3637 timer after having read a key. It's not good for code reading
3638 several keys in a loop, like an input method.
3639
caa15ef7
GM
3640 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3641 record undo information for format-decode.
3642
3643 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3644 current buffer is read-only, not if it isn't.
3645
6c083b4c
GM
3646 * keyboard.c (record_char): Record `help-echo' input events
3647 in recent_keys only if they display some help. Don't record
3648 `help-echo' events as macro char.
3649
caa15ef7
GM
36502000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3651
3652 * editfns.c (save_excursion_restore): Don't move point
3653 in another window if it is showing the wrong buffer.
3654 Avoid the call to Fwindow_live_p, for speed.
3655
5a13529b
KH
36562000-12-04 Kenichi Handa <handa@etl.go.jp>
3657
e225faa7
KH
3658 * xfaces.c (struct font_name): New member registry_priority.
3659 (split_font_name): Initialize the above member to zero.
3660 (concat_font_list): New function.
3661 (font_list): Include fonts of all alternative registries.
3662 (FONT_POINT_SIZE_QUANTUM): New macro.
3663 (better_font_p): Ignore point size difference less than
3664 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3665
e89648b4
KH
3666 * xterm.c (x_produce_glyphs): If a font for a component of
3667 a composition is not found, use 1 pixel dot ascent and 0 dot
3668 descent value to avoid displaying terribly tall empty boxes.
3669
5a13529b
KH
3670 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3671
d7935eb6
KR
36722000-12-03 Ken Raeburn <raeburn@gnu.org>
3673
3674 * coding.h (code_convert_string1): Declare.
3675
3676 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3677
52283633 3678 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3679
0dd5e255
JR
36802000-12-02 Jason Rumney <jasonr@gnu.org>
3681
3682 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3683 correctly for single byte character case.
3684 (w32_per_char_metric): Do not try to make any assumptions about
3685 the metrics of BDF fonts.
250cfece 3686 (x_estimate_mode_line_height): If `mode-line' face
52283633 3687 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3688 (note_mouse_highlight): Change the cursor shape on the vertical
3689 border between windows [not enabled].
3690
3691 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3692
3693 * w32fns.c (Fx_create_frame): Reintroduce the call to
3694 face-set-after-frame-defaults.
3695 (Vx_window_horizontal_drag_shape): New variable.
3696 (syms_of_xfns): DEFVAR_LISP it.
3697 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3698 enabled].
0dd5e255 3699
b5d8d2ca
GM
37002000-12-02 Simon Josefsson <simon@josefsson.org>
3701
3702 * fns.c (Fmd5): Use a different logic to decide the coding system
3703 to use.
3704
3705 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3706
fbb87147
EZ
37072000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3708
52283633 3709 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3710
447e9da0
GM
37112000-12-01 Gerd Moellmann <gerd@gnu.org>
3712
7708ced0
GM
3713 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3714 height for YNegative.
3715 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3716 height; also see comment there.
3717
447e9da0
GM
3718 * window.c (coordinates_in_window): Handle computations for
3719 positions on the vertical bar and fringes differently for
3720 window-system frames. Consider some pixels near the vertical bar
3721 as on the bar if the frame doesn't have vertical scroll bars.
3722 Associate positions between mode or header lines with the
3723 right window, the left one.
3724
86d1db20
JR
37252000-12-01 Jason Rumney <jasonr@gnu.org>
3726
3727 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3728
3729 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3730 invalid frame.
3731
a1d58e5b
GM
37322000-12-01 Gerd Moellmann <gerd@gnu.org>
3733
52283633 3734 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3735 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3736 (save_window_save, Fset_window_configuration): Save/restore
3737 window's orig_top and orig_height.
3738
89c609af
JR
37392000-12-01 Jason Rumney <jasonr@gnu.org>
3740
4d177746 3741 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3742
89c609af
JR
3743 * w32fns.c (x_set_cursor_color): Fix last change.
3744
eccc05db
GM
37452000-11-30 Gerd Moellmann <gerd@gnu.org>
3746
31b6671b
GM
3747 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3748 sure that the next redisplay displays the minibuffer, so that
3749 the cursor will be replaced with what the minibuffer wants.
3750
eccc05db
GM
3751 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3752 #ifndef instead of using #if.
3753 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3754 USE_TOOLKIT_SCROLL_BARS is defined.
3755
162de750
JR
37562000-11-30 Jason Rumney <jasonr@gnu.org>
3757
3758 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3759 x_display_cursor.
3760
693c4692
GM
37612000-11-30 Gerd Moellmann <gerd@gnu.org>
3762
3763 * fns.c (Fmd5): Doc fix.
3764
b5d8d2ca 37652000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3766
3767 * fns.c (Fmd5): New function.
3768 (syms_of_fns): Defsubr md5.
3769
3770 * Makefile.in (obj): Add md5.o
3771
b02cd40b
GM
37722000-11-30 Gerd Moellmann <gerd@gnu.org>
3773
edfb795e
GM
3774 * md5.h, md5.c: New files, taken from glibc.
3775
df3aedcf
GM
3776 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3777
b02cd40b 3778 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3779 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3780
8b5176cd
SM
37812000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3782
3783 * eval.c (Frun_hooks): Allow 0 arguments.
3784
346598f1
GM
37852000-11-29 Gerd Moellmann <gerd@gnu.org>
3786
f9396e03
GM
3787 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3788 is over the menu bar widget, say it's not on the frame.
3789
4a967a9b
GM
3790 * xfns.c (Fx_create_frame): Reintroduce the call to
3791 face-set-after-frame-defaults.
3792
346598f1
GM
3793 * eval.c (Fsignal): Reset handling_signal.
3794
222456a1
JR
37952000-11-28 Jason Rumney <jasonr@gnu.org>
3796
3797 * w32menu.c (add_menu_item): Reset menu item text when changing
3798 type to radio button.
3799
8049ddc0
GM
38002000-11-28 Gerd Moellmann <gerd@gnu.org>
3801
346598f1 3802 * xselect.c: Update copyright.
f4f4ee4d 3803
bebe4a2c
GM
3804 * window.c (coordinates_in_window): If on a mode or header line,
3805 but sufficiently close to its start, return ``on vertical
3806 border''. This gives us a way to drag windows horizontally when
3807 using toolkit scroll bars.
3808
3809 * xterm.c (note_mouse_highlight): Change the cursor shape
3810 on the vertical border between windows.
3811
3812 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3813
3814 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3815 (syms_of_xfns): DEFVAR_LISP it.
3816 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3817
8d2c2642
GM
3818 * textprop.c (text_read_only): New function.
3819 (verify_interval_modification): Use it instead of signaling
3820 `text-read-only'. This makes it easier to catch this error
52283633 3821 with a breakpoint.:
8d2c2642 3822
52283633 3823 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3824 not end of line, which includes CR.
3825
5a2bae6c
KH
38262000-11-28 Kenichi Handa <handa@etl.go.jp>
3827
3828 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3829 include no-conversion.
3830
ae31f84d
JR
38312000-11-27 Jason Rumney <jasonr@gnu.org>
3832
3833 * w32fns.c (w32_load_system_font): Always mark font as double byte
3834 if codepage is unicode.
3835
67f1cf4c
GM
38362000-11-27 Gerd Moellmann <gerd@gnu.org>
3837
4a74d071 3838 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3839 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3840
902ae620
GM
3841 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3842 `vertical-line', `mode-line' and `header-line' events.
3843
3844 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3845 of a character, a TAB for instance. This is easier than to set
3846 up the iterator exactly, and it's not a frequent case, so the
3847 additional effort wouldn't really pay off.
3848
c1e279c2
AC
38492000-11-26 Andrew Choi <akochoi@i-cable.com>
3850
67f1cf4c 3851 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3852 init_window_once.
3853
a609568a
JR
38542000-11-25 Jason Rumney <jasonr@gnu.org>
3855
52283633
SM
3856 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3857 Args to window_from_coordinates should be pixel coordinates.
48b21762 3858
a609568a
JR
3859 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3860 redisplay handles them properly.
3861
a658d039
MB
38622000-11-25 Miles Bader <miles@gnu.org>
3863
3864 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3865
d3416cca
JR
38662000-11-24 Jason Rumney <jasonr@gnu.org>
3867
3868 * w32.c (init_environment): Set LANG environment variable based on
3869 locale settings, if not set.
3870
3871 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3872 making tool bar smaller. When clearing the frame, also
3873 clear current matrices. Clear frame when tool bar disappears.
3874 Don't use more lines for the tool-bar than is available.
3875 (x_change_window_heights): New function.
3876
ba193890
GM
38772000-11-24 Gerd Moellmann <gerd@gnu.org>
3878
2be8f184
GM
3879 * xdisp.c (init_from_display_pos): If POS says we're already after
3880 an overlay string ending at POS, make sure to pop the iterator
3881 because it will be in front of that overlay string. When POS is
3882 ZV, we've thereby also ``processed'' overlay strings at ZV.
3883
ba193890
GM
3884 * xfaces.c (lface_from_face_name): Function comment fix.
3885
1862a24e
MB
38862000-11-24 Miles Bader <miles@gnu.org>
3887
3888 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3889 apply `mode-line-inverse-video' -- zero means force display using
3890 the default face, non-zero means display using the specialized face.
3891 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3892
f07fa1b8
KH
38932000-11-23 Kenichi Handa <handa@etl.go.jp>
3894
3895 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3896 hard coded `4'.
3897
2bcdf662
EZ
38982000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3899
3900 * coding.c (decode_coding_emacs_mule): Fix the case of
3901 CODING_EOL_LF, which used uninitialized value of c.
3902
ba8299ff
SM
39032000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3904
3905 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3906
f4117c4d
GM
39072000-11-22 Gerd Moellmann <gerd@gnu.org>
3908
03e757c1
GM
3909 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3910 buffer object.
3911
f4117c4d
GM
3912 * frame.h (struct frame): Replace desired_tool_bar_items,
3913 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3914 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3915
3916 * frame.c (make_frame): Change initialization of tool bar
3917 items accordingly.
3918
3919 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3920 Change references to members deleted from struct frame to use the
f4117c4d
GM
3921 new ones.
3922
3923 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3924 references to members deleted from struct frame to use the new ones.
f4117c4d 3925
52283633 3926 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3927
3928 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3929
3930 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3931 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3932 from struct frame to use the new ones.
3933
f8e2f3f2
MB
39342000-11-23 Miles Bader <miles@gnu.org>
3935
3936 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3937 the face's inverse-video attribute, rather than overriding it.
3938
60e8e0a5
GM
39392000-11-22 Gerd Moellmann <gerd@gnu.org>
3940
3941 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3942 making tool bar smaller.
3943
92dd1b29
DL
39442000-11-22 Dave Love <fx@gnu.org>
3945
3946 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3947
e672fdce
MB
39482000-11-22 Miles Bader <miles@gnu.org>
3949
3a17d6cc
MB
3950 * keyboard.c (Vminibuffer_message_timeout): New variable.
3951 (command_loop_1): Use it to determine message timeout.
3952 (syms_of_keyboard): Initialize it.
3953
60e8e0a5 3954 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3955
e9655d81
KH
39562000-11-22 Kenichi Handa <handa@etl.go.jp>
3957
3958 * sysdep.c: Move the code for declaring h_errno after #include
3959 <netdb.h>.
3960
77270fac
GM
39612000-11-21 Gerd Moellmann <gerd@gnu.org>
3962
cd913aae
GM
3963 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3964 the menu bar when the tooltip is unmapped.
3965
77270fac
GM
3966 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3967 sole visible buffer when we're currently in the mini-buffer, and
3968 give up if so.
52283633 3969
556635d6
JR
39702000-11-21 Jason Rumney <jasonr@gnu.org>
3971
3972 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3973 put on the clipboard.
3974 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3975 copy of what Emacs last put there. If they are the same, do not
52283633 3976 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3977
5b7bde64
MB
39782000-11-22 Miles Bader <miles@gnu.org>
3979
3980 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3981 (syms_of_minibuf): Initialize it.
3982 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3983 to prompt, don't make read-only.
3984
ff23e1dd
GM
39852000-11-21 Gerd Moellmann <gerd@gnu.org>
3986
52283633
SM
3987 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3988 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3989
7aaf4388
GM
3990 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3991
f5f47add 3992 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3993
ff23e1dd
GM
3994 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3995
37c35586
KH
39962000-11-21 Kenichi Handa <handa@etl.go.jp>
3997
3998 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3999 ... #endif scope.
4000
ff9ab414
GM
40012000-11-20 Gerd Moellmann <gerd@gnu.org>
4002
52283633 4003 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4004 screen supports it.
4005
29a01b72
GM
4006 * s/gnu-linux.h: Don't use `#cpu'.
4007
09dfdf85
GM
4008 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4009 not defined in mman.h.
4010
52283633 4011 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4012 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4013 and store an index in the XClientMessageEvent. Storing a
4014 Lisp_Object or pointer can fail on a 64 bit system, since X only
4015 transfers 32 bits.
52283633
SM
4016 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4017
81459ac9
DL
40182000-11-20 Dave Love <fx@gnu.org>
4019
4020 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4021
56c13ae6
GM
40222000-11-20 Gerd Moellmann <gerd@gnu.org>
4023
4024 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4025
495a6df3
KH
40262000-11-20 Kenichi Handa <handa@etl.go.jp>
4027
2bcf3714
KH
4028 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4029 by WIDTH.
4030
495a6df3
KH
4031 * alloc.c (make_string): Fix previous change. Be sure to make
4032 unibyte string correctly.
4033
6d950f4c
GM
40342000-11-19 Gerd Moellmann <gerd@gnu.org>
4035
39b39373
GM
4036 * window.c (Fwindow_list): Change parameter list to be XEmacs
4037 compatible.
4038 (window_list_1): New function.
4039 (window_loop): Use it instead of Fwindow_list.
4040
b95b34e5
GM
4041 * sysdep.c (emacs_ospeed): New variable.
4042 (toplevel): Don't declare ospeed extern.
4043 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4044
4045 * termcap.c (ospeed): Remove.
4046 (tputs) [!emacs]: Remove unused code.
4047 (tgetent): Avoid a compiler warning.
4048
e83dc917
GM
4049 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4050 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4051 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4052
4053 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4054 removed.
4055 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4056 Take the X display as additional argument.
4057 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4058 `Widget' is a pointer type that's not easily stored in Lisp_Object
4059 form in a portable way.
52283633 4060
6d950f4c
GM
4061 * dispnew.c (update_text_area): Fix last change.
4062
e47306e6
GM
40632000-11-18 Gerd Moellmann <gerd@gnu.org>
4064
fb3cd89b
GM
4065 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4066
4067 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4068 clear current matrices.
4069
edaa9aed
GM
4070 * buffer.c (mmap_enlarge): Don't print a message on stderr
4071 if mapping new memory at the end of the existing region fails.
4072
e47306e6
GM
4073 * dispnew.c (update_text_area): Don't skip over equal glyphs
4074 when the last current glyph overlaps the glyph to its right.
4075
509633e3
MB
40762000-11-18 Miles Bader <miles@gnu.org>
4077
4078 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4079 lines that *end* with "..." too (that's the most common case!).
4080
d392e9c5
GM
40812000-11-18 Gerd Moellmann <gerd@gnu.org>
4082
67988445
GM
4083 * xdisp.c (resize_mini_window): Temporarily change to the
4084 mini-window's buffer if necessary.
1bfdbe43 4085
d392e9c5
GM
4086 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4087 the tooltip obscures less text under it.
4088
40892000-11-17 Gerd Moellmann <gerd@gnu.org>
4090
4091 * puresize.h (BASE_PURESIZE): Increase to 700000.
4092
92bb977f
JR
40932000-11-18 Jason Rumney <jasonr@gnu.org>
4094
4095 * w32term.c (w32_draw_bitmap): Use face to set colors.
4096
26fbf20b
DL
40972000-11-17 Dave Love <fx@gnu.org>
4098
4099 * lread.c (Fload): Fix #ifdef for pcc.
4100
100b593b
GM
41012000-11-17 Gerd Moellmann <gerd@gnu.org>
4102
4103 * xdisp.c (pos_visible_p): Compute the default character height
4104 differently.
4105
a288d0d1
GM
41062000-11-16 Gerd Moellmann <gerd@gnu.org>
4107
cac94de6 4108 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4109 knowing the line's height; use the default font's height in that case.
cac94de6 4110
a288d0d1
GM
4111 * xfaces.c (weight_table): Add `demi' with the same meaning as
4112 `demibold'.
4113
981fb6f6
KH
41142000-11-16 Kenichi Handa <handa@etl.go.jp>
4115
2cca872d 4116 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4117 (clear_glyph_row): Delete local static variable null_row.
4118
e5fa381b
JR
41192000-11-15 Jason Rumney <jasonr@gnu.org>
4120
4121 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4122 (w32_alloc_lighter_color): Use new brightness calculations from
4123 xterm.c. Scale delta to be in the range expected by W32.
4124 (w32_draw_relief_rect): Use frame relief colors.
4125
8e42f043
GM
41262000-11-15 Gerd Moellmann <gerd@gnu.org>
4127
6d133d1f
GM
4128 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4129 (Qinhibit_default_face_x_resources): New variable.
4130 (syms_of_frame): Initialize it.
4131 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4132
4133 * xdisp.c (pos_visible_p): Improve function comment.
4134
4135 * lisp.h (BINDING_STACK_SIZE): New macro.
4136
8e42f043
GM
4137 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4138 reading the directory if readdir returns null and errno is EAGAIN
4139 or EINTR.
4140
e8c87124
SM
41412000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4142
4143 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4144 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4145 Set amount_to_scroll to max of dx and scroll_step so that
4146 scroll-conservatively doesn't defeat scroll-step>1.
4147 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4148 scroll-conservatively for line-at-a-time scrolling.
4149
5f0c971d
GM
41502000-11-14 Gerd Moellmann <gerd@gnu.org>
4151
4152 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4153 extra argument.
4154
4155 * xdisp.c (current_mode_line_height, current_header_line_height):
4156 New variables.
4157 (init_xdisp): Initialize them.
4158 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4159 and use exact mode line heights if it is set.
4160
4161 * lisp.h (pos_visible_p): Change prototype.
4162
4163 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4164 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4165 and current_header_line_height first.
52283633
SM
4166 (current_mode_line_height, current_header_line_height):
4167 Declare extern.
5f0c971d 4168
d7361edf
MB
41692000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4170
4171 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4172 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4173 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4174
ee5e440a
MB
41752000-11-14 Miles Bader <miles@gnu.org>
4176
4177 * xterm.c (x_alloc_lighter_color): Include an additive component
4178 too for dark colors, because FACTOR isn't enough.
4179 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4180 New macros.
4181
5ca020fc
GM
41822000-11-13 Gerd Moellmann <gerd@gnu.org>
4183
4184 * keyboard.c (show_help_echo): Call message3_nolog with number of
4185 bytes in the help string as 2nd parameter, instead of the number
4186 of characters.
4187
9d348294
MB
41882000-11-13 Miles Bader <miles@gnu.org>
4189
4190 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4191 (Fload): Use new openp return protocol.
4192 Don't try to use Vload_source_file_function to load .elc files.
4193 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4194 openp return protocol.
4195 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4196
1729bb9a
KH
41972000-11-11 Kenichi Handa <handa@etl.go.jp>
4198
4e677396
KH
4199 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4200
4201 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4202 Defined these macros.
4203 (NLIST_STRUCT): Avoid re-defining it.
4204
1729bb9a
KH
4205 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4206 -I/usr/contrib/X11R6/include.
4207 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4208
a82fe213
JR
42092000-11-10 Jason Rumney <jasonr@gnu.org>
4210
4211 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4212
4213 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4214 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4215
4216 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4217 (Qw32_charset_vietnamese): New symbol.
4218 (xlfd_charset_of_font): New function.
4219 (w32_load_system_font): Use it.
4220 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4221 when Vw32_charset_info_alist is nil to ensure default face always
4222 has font. Use Fcar and Fcdr for safety.
4223 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4224 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4225 pseudo-codepages for special cases.
4226 (w32_to_x_font): New parameter to allow charset portion to be
4227 specified where there is many to one mapping. Callers changed.
4228 (w32_list_fonts): Avoid listing fonts that won't display.
4229
52d89894
GM
42302000-11-10 Gerd Moellmann <gerd@gnu.org>
4231
4232 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4233 (font_list_1): Renamed from font_list.
4234 (font_list): New function, trying alternative registries from
4235 Vface_alternative_font_registry_alist.
4236 (Finternal_set_alternative_font_registry_alist): New function.
4237 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4238 Vface_alternative_font_registry_alist.
4239 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4240
651cd3da
KR
42412000-11-09 Ken Raeburn <raeburn@gnu.org>
4242
4243 * lisp.h (Flooking_at): Declare.
4244
388ac098
GM
42452000-11-09 Gerd Moellmann <gerd@gnu.org>
4246
778fbc46 4247 * dired.c (directory_files_internal): Fix a braino.
52283633 4248
388ac098
GM
4249 * dired.c (directory_files_internal): Add missing GCPRO's.
4250 Some cleanup.
4251
ecaedde1
GM
42522000-11-08 Gerd Moellmann <gerd@gnu.org>
4253
f7eb32aa
GM
4254 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4255 (resize_mini_window): Return quickly if Vresize_mini_window is
4256 nil. Don't return if Vmax_mini_window_height is nil.
4257
4258 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4259 (syms_of_xdisp): Initialize them.
4260 (resize_mini_window): Act according to the setting of
4261 Vresize_mini_window.
4262 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4263
ecaedde1
GM
4264 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4265 scroll bar widget after configuring it, so that it will appear at
4266 the right position from the start.
4267 (XTredeem_scroll_bar): Cleaned up.
4268
3747ef2c
KH
42692000-11-08 Kenichi Handa <handa@etl.go.jp>
4270
4271 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4272 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4273 division by two.
4274
4275 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4276
03391420
DL
42772000-11-07 Dave Love <fx@gnu.org>
4278
7758f1c1 4279 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4280
4281 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4282
b5de343d
GM
42832000-11-07 Gerd Moellmann <gerd@gnu.org>
4284
acad3c0b
GM
4285 * window.c (Fset_window_configuration): Don't try to preserve
4286 point in the current buffer, if that buffer is displayed in more
4287 than one window.
4288
b5de343d
GM
4289 * xfaces.c (lookup_named_face): If default face isn't realized,
4290 try to realize it. Return -1 if not successful.
4291 (Fx_list_fonts): Handle case that face cannot be determined.
4292 (Fface_font): Likewise.
4293
cdb1fe49
GM
42942000-11-06 Gerd Moellmann <gerd@gnu.org>
4295
4296 * window.c (displayed_window_lines): Detect partially
4297 visible lines at the bottom correctly.
4298
d3a67486
SM
42992000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4300
4301 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4302 when ensuring we don't do visit in indirect buffer.
4303
ff8dd5d5
KH
43042000-11-06 Kenichi Handa <handa@etl.go.jp>
4305
4306 * composite.h (compose_chars_in_text): Add prototype.
4307
4308 * composite.c (Vcomposition_function_table): New variable.
4309 (Qcomposition_function_table): New variable.
4310 (run_composition_function): Call
4311 Vcompose_chars_after_function with three arguments.
4312 (compose_chars_in_text): New function.
4313 (syms_of_composite): Modified the doc-string of
4314 Vcompose_chars_after_function. Declare composition-function-table
4315 as a lisp variable, and initialize it.
4316
4317 * xfns.c (x_encode_text): Suppress producing escape sequences for
4318 composition.
4319
4320 * xselect.c: Include composite.h.
4321 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4322
d1145f85
AI
43232000-11-05 Andrew Innes <andrewi@gnu.org>
4324
4325 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4326
4327 * sysdep.c (read_input_waiting): Remove extraneous argument to
4328 read_socket_hook.
4329
4330 * w32fns.c (Fx_server_version): Include w32_build_number in the
4331 return list.
4332
4333 * w32heap.c (w32_build_number): New variable.
4334 (cache_system_info): Set it.
4335
4336 * w32heap.h (w32_build_number): Add extern.
4337
4338 * emacs.c (syms_of_emacs): Update docstring for
4339 system-configuration, to reflect the actual usage on MS-Windows.
4340
e85ee976
GM
43412000-10-31 Gerd Moellmann <gerd@gnu.org>
4342
26dcb81b
GM
4343 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4344 process idle timers while waiting for another event.
4345
52283633 4346 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4347 the default face are colored.
4348
e85ee976
GM
4349 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4350 window height hasn't changed.
4351
01b220b6
JR
43522000-10-31 Jason Rumney <jasonr@gnu.org>
4353
4354 * w32term.c (x_produce_glyphs): Handle composite characters.
4355 (x_draw_glyph_string_foreground)
4356 (x_draw_composite_glyph_string_foreground): Restore old font.
4357
4e6b7204
MB
43582000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4359
4360 * minibuf.c (read_minibuf): Reset the undo history just before
4361 starting the recursive-edit.
4362
d4358b37
GM
43632000-10-30 Gerd Moellmann <gerd@gnu.org>
4364
563f68f1
GM
4365 * xfaces.c (menu_face_change_count): New variable.
4366 (Finternal_set_lisp_face_attribute): Increment it for changes
4367 of the `menu' face.
4368 (realize_basic_faces): Reflect changes in the `menu' faces
4369 in menu bars.
4370
82e274d1
GM
4371 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4372 dy obtained from the iterator's y-position after moving from
4373 scroll_margin_pos to PT; see comment there.
52283633 4374
0dbf9fd2
GM
4375 * xdisp.c (safe_eval_handler): Call add_to_log.
4376
906b3b14
GM
4377 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4378 is not a symbol or string.
4379
d4358b37
GM
4380 * xdisp.c (echo_area_display): Don't perform a display update from
4381 inside redisplay. The update will happen anyway at the end of
4382 redisplay, and it can confuse redisplay (GC messages while
4383 redisplaying, for instance.)
4384
70c825df
SM
43852000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4386
cf9b4b0b
SM
4387 * xrdb.c (x_load_resources): Use the class name in the defaults.
4388
70c825df
SM
4389 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4390 (regex_compile): Catch bogus \(\1\).
4391
a1d34b1e
GM
43922000-10-30 Gerd Moellmann <gerd@gnu.org>
4393
cae71efe
GM
4394 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4395 RGB values.
52283633 4396
35efe0a1
GM
4397 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4398 we have a color cache, check that the cached color equals the
4399 allocated color. If not, clear the color cache.
4400
1d3baf74
GM
4401 * window.c (displayed_window_lines): Change buffers if necessary.
4402 Fix computation of displayed lines.
4403
a1d34b1e
GM
4404 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4405 update_menu_bindings to DEFVAR_BOOL.
4406
70737ea9
KH
44072000-10-30 Kenichi Handa <handa@etl.go.jp>
4408
70c825df 4409 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4410
fa0cb51d
KH
4411 * puresize.h (BASE_PURESIZE): Increase to 680000.
4412
70737ea9
KH
4413 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4414
0e4c08e8
JR
44152000-10-29 Jason Rumney <jasonr@gnu.org>
4416
4417 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4418
4419 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4420 (w32_cache_char_metrics): Handle possibility that 'x' does not
4421 exist in a BDF font.
4422 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4423
4424 * w32bdf.h (bdffont): Add nchars.
4425
4426 * w32bdf.c (set_bdf_font_info): Set it.
4427 (w32_BDF_TextOut): Swap byte order of double byte characters.
4428 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4429
45b84006
EZ
44302000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4431
4432 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4433 don't override the colors in frame's param_alist, unless they are
4434 unspecified.
4435
4436 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4437 reverse the effect of the highlight flag.
4438
caf9deee
KR
44392000-10-27 Ken Raeburn <raeburn@gnu.org>
4440
4441 * window.h (Fwindow_live_p): Declare.
4442
ae0b9b46
KR
4443 * undo.c (record_delete): Check that last_undo_buffer is really a
4444 buffer before applying XBUFFER to it.
4445
4446 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4447 Faref.
4448
02067692
SM
44492000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4450
4451 * lisp.h (KEYMAPP): New macro.
4452 (get_keymap): Remove.
4453 (get_keymap_1): Rename get_keymap.
4454
4455 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4456
4457 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4458
4459 * xmenu.c (single_submenu): Use KEYMAPP.
4460 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4461 Use KEYMAPP rather than Fkeymapp.
4462
4463 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4464
4465 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4466 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4467 Use KEYMAPP rather than Fkeymapp.
4468 (single_submenu): Use KEYMAPP.
4469 (w32_menu_show, w32_dialog_show): Use TRUE.
4470
4471 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4472
4473 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4474 (Fkeymapp): Use KEYMAPP.
4475 (get_keymap): Rename from get_keymap_1. Remove old def.
4476 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4477 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4478 (Fminor_mode_key_binding): Don't raise an error if the binding
4479 is not a keymap.
4480 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4481 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4482
4483 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4484 Allow Vspecial_event_map to be autoloaded.
4485 (menu_bar_items): Fetch the keymap rather than using keymapp.
4486 (menu_bar_one_keymap): No need to follow func-indirect any more.
4487 (parse_menu_item): get_keymap_1 -> get_keymap.
4488 (tool_bar_items): Fetch the keymap rather than using keymapp.
4489 (read_key_sequence): Use KEYMAPP.
4490
4491 * intervals.c (get_local_map): Use get_keymap rather than following
4492 function-indirections explicitly.
4493
4494 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4495
f9d80af3
JR
44962000-10-27 Jason Rumney <jasonr@gnu.org>
4497
4498 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4499 point, as Windows has oversized fonts.
4500
4501 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4502
a3ba27da
GM
45032000-10-27 Gerd Moellmann <gerd@gnu.org>
4504
4505 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4506 (freehook, reallochook): Handle null pointer arguments.
4507 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4508
aa3b80cc
SM
45092000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4510
4511 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4512 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4513 Giving in to popular pressure to shut up the compiler with casts.
4514
e24e84cc
GM
45152000-10-27 Gerd Moellmann <gerd@gnu.org>
4516
4517 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4518 signed value, and use a default value computed from the font's
4519 maximum descent.
4520
05ea7ef2
MB
45212000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4522
4523 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4524 that specify a negative underline position can still use underlines.
4525
4526 * window.c (Fpos_visible_in_window_p): Make POS default to
4527 WINDOW's point, not the current buffer's point.
4528
0b95284b
DL
45292000-10-26 Dave Love <fx@gnu.org>
4530
4531 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4532 when it's necessary.
4533
6c5b90af
GM
45342000-10-26 Gerd Moellmann <gerd@gnu.org>
4535
8b6d9dc9
GM
4536 * window.c (size_window): Compute size difference from sum of old
4537 child window sizes instead of from parent's size.
4538
6bc92b2e
GM
4539 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4540 Handle obscured lines at the top of the window.
4541
4542 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4543 down after the last error condition check.
4544
6c5b90af
GM
4545 * frame.c (Fdelete_frame): Run delete-frame-hook.
4546
42f92d4d
KH
45472000-10-26 Kenichi Handa <handa@etl.go.jp>
4548
4549 * coding.c (decode_coding): Fix previous change (check also
4550 CODING_MODE_LAST_BLOCK).
4551
d97151cb
SM
45522000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4553
e7efc503
SM
4554 * regex.c: More `unsigned char' -> `re_char' changes.
4555 Also change several `int' into `re_wchar_t'.
4556 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4557 (PUSH_FAILURE_POINTER): Don't cast any more.
4558 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4559 We want GCC to complain, since this piece of code makes
4560 re_match non-reentrant, which *should* be fixed.
4561 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4562 (EXTEND_BUFFER): Use RETALLOC.
4563 (SET_LIST_BIT): Don't cast.
4564 (re_wchar_t): New type.
4565 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4566 that those two functions will always properly return.
4567 (IMMEDIATE_QUIT_CHECK): Cast to void.
4568 (analyse_first): Use recursion rather than an explicit stack.
4569 (re_compile_fastmap): Can't fail anymore.
4570 (re_search_2): Don't check re_compile_fastmap for failure.
4571 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4572 Now also sets the new value (passed in a new argument).
4573 (re_match_2_internal): Use it.
4574 Also, use a new var `reg' of type size_t when looping through regs
4575 rather than reuse the inappropriate `mcnt'.
4576
d97151cb
SM
4577 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4578 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4579 (where_is_internal): Renamed from Fwhere_is_internal.
4580 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4581 (Fwhere_is_internal): New function wrapping where_is_internal.
4582 (where_is_internal_1): Handle the case where we're filling the cache.
4583 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4584
d5789b65
MB
45852000-10-25 Miles Bader <miles@gnu.org>
4586
4587 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4588
4ecda532
GM
45892000-10-25 Gerd Moellmann <gerd@gnu.org>
4590
4591 * window.c (pos_fully_visible_p): Removed.
4592 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4593 if position is visible and/or fully visible.
4594
4595 * lisp.h (pos_visible_p): Add prototype.
4596
4597 * xdisp.c (pos_visible_p): New function.
4598
68c3a137
KH
45992000-10-25 Kenichi Handa <handa@etl.go.jp>
4600
4601 * process.c (send_process): If OBJECT is t, it means that the data
4602 is from C string, but we should encode it. Before calling
4603 setup_raw_text_coding_system, be sure to flush out data by the
4604 previous coding system.
4605
7ae1c032
MB
46062000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4607
ff4dcd4b
MB
4608 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4609 assignment of startpos to prev when startpos == pos.
4610
7ae1c032
MB
4611 * editfns.c (find_field): Set the field stickiness correctly from
4612 overlay fields. Use renamed `text_property_stickiness'.
4613 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4614 Only check text properties, not overlays.
7ae1c032
MB
4615 * textprop.c (get_char_property_and_overlay): New function.
4616 (Fget_char_property): Use it.
4617 * intervals.h (get_char_property_and_overlay): Add declaration.
4618
49801145
SM
46192000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4620
4621 * keymap.c: Use AREF, ASET and ASIZE macros.
4622 (Fmake_sparse_keymap): Docstring fix.
4623 (synkey): Remove.
4624 (shadow_lookup): Move up.
4625 Handle the case where lookup-key returns an integer.
4626 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4627 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4628 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4629 Simplify/rewrite the keymap-finding code.
4630 Add check for command shadowing, using shadow_lookup.
4631
39e776cd
SM
46322000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4633
4634 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4635 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4636 a symbol.
4637
2488aba5
AI
46382000-10-24 Andrew Innes <andrewi@gnu.org>
4639
4640 * dired.c (directory_files_internal_unwind): New function.
4641 (directory_files_internal): Use it to ensure closedir is called
4642 even if expand-file-name or file-attributes throw, eg. because of
4643 a user interrupt. Also enable immediate_quit while calling
4644 re_search, so that matching can be interrupted as well.
4645
b94fdf61
AI
46462000-10-24 Andrew Innes <andrewi@gnu.org>
4647
4648 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4649 NT-Emacs only.
4650 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4651 so that re_search functions only quit when callers expect them to.
4652
46532000-10-24 Kenichi Handa <handa@etl.go.jp>
4654
4655 * regex.c (regex_compile): Change the way of handling a range from
4656 a char less than 256 to a char not less than 256.
4657
1946f901
GM
46582000-10-24 Gerd Moellmann <gerd@gnu.org>
4659
7ae2f10f
GM
4660 * window.c (size_window): Prevent setting window's width or
4661 height to a negative value (esp. with XSETFASTINT).
4662
5dcab13e
GM
4663 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4664 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4665 (protect_malloc_state) [GC_MALLOC_CHECK &&
4666 GC_PROTECT_MALLOC_STATE]: New function.
4667 (PROTECT_MALLOC_STATE): New macro.
4668 (__malloc_initialize, morecore, _malloc_internal)
4669 (_free_internal) _realloc_internal): Use it to make _heapinfo
4670 read-only outside of gmalloc.
4671
63e1b552
GM
4672 * keymap.c: Update copyright.
4673
1946f901
GM
4674 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4675 a symbol.
4676
4fa09beb
GM
46772000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4678
4679 * filelock.c (unlock_all_files): Use unlock_file to expand each
4680 buffer's file_truename before trying remove its lock file.
4681
23afac01
EZ
46822000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4683
4684 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4685 or CRLF, decode EOLs.
4686
04448b95
KH
46872000-10-24 Kenichi Handa <handa@etl.go.jp>
4688
4689 * window.c (Fdisplay_buffer): Fix doc.
4690
3090a5a5
JR
46912000-10-23 Jason Rumney <jasonr@gnu.org>
4692
4693 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4694 ASCII font of default fontset on Windows.
4695
4696 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4697 xterm.c comment below).
4698
4699 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4700
a83fee2c
GM
47012000-10-23 Gerd Moellmann <gerd@gnu.org>
4702
4703 * xterm.c (x_connection_closed): Reset handling_signal.
4704
52283633 4705 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4706
6ffdb539
MB
47072000-10-23 Miles Bader <miles@gnu.org>
4708
4709 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4710 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4711 maintain old behavior.
4712 * minibuf.c (Fminibuffer_complete): Likewise.
4713
7f1c969b
MB
47142000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4715
4716 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4717 that when a font can't be exactly centered, it errs up rather than
4718 down.
4719
23afac01 47202000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4721
52283633 4722 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4723
1a578e9b
AC
47242000-10-23 Andrew Choi <akochoi@i-cable.com>
4725
4726 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4727
4728 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4729 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4730
4731 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4732 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4733 syms_of_search, x_term_init, and init_keyboard before calling
4734 init_window_once. Also, call syms_of_xmenu.
4735
4736 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4737 default fontset to Monaco.
4738
4739 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4740 NewMacWindow and DisposeMacWindow.
4741 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4742 instead of calling NewMacWindow and setting fields of
4743 f->output_data.mac directly. Call init_frame_faces.
4744 (Fdelete_frame) [macintosh]: Remove unused code.
4745 (Fmodify_frame_parameters) [macintosh]: Call
4746 x_set_frame_parameters instead of mac_set_frame_parameters.
4747
4748 * frame.h [macintosh]: Define menu_bar_lines field in struct
4749 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4750
4751 * keyboard.c [macintosh]: Include macterm.h.
4752 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4753 and menu_bar_activate_event type events as for X and NT.
4754 (make_lispy_event) [macintosh]: Construct lisp events of type
4755 MENU_BAR_EVENT as for X and NT.
4756
4757 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4758 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4759 (sys_subshell) [macintosh]: Remove definition entirely.
4760 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4761 Vwindow_system_version here. Remove initialization of
4762 Vx_bitmap_file_path.
4763 (read_input_waiting): Correct the number of parameters passed to
4764 read_socket_hook.
4765 Move all Macintosh functions to mac/mac.c.
4766
4767 * term.c [macintosh]: Include macterm.h.
4768
4769 * window.c [macintosh]: Include macterm.h.
4770
4771 * xdisp.c [macintosh]: Include macterm.h. Declare
4772 set_frame_menubar and pending_menu_activation.
4773 (echo_area_display) [macintosh]: Do not return if terminal frame
4774 is the selected frame.
4775 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4776 Allow only the selected frame to set menu bar.
4777 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4778 calling FRAME_EXTERNAL_MENU_BAR (f).
4779 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4780
4781 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4782 and check_x. Declare XCreateGC. Define x_create_gc and
4783 x_free_gc. Initialize font_sort_order.
4784 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4785 but call x_list_fonts instead of w32_list_fonts.
4786 (Finternal_face_x_get_resource) [macintosh]: Do not call
4787 display_x_get_resource.
4788 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4789 (realize_x_face) [macintosh]: Load the font if it is specified in
4790 ATTRS.
52283633 4791 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4792
1ffbabe3
SM
47932000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4794
4795 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4796 is nil: since we go to the end of submap anyway, we'd end up
4797 setting nil to nil.
4798 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4799 doesn't obey autoload.
4800
bed43f1d
EZ
48012000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4802
1ffbabe3 4803 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4804
ea4233a7
JR
48052000-10-21 Jason Rumney <jasonr@gnu.org>
4806
4807 * w32term.c (w32_cache_char_metrics): Double check that font is
4808 really fixed pitch before trusting tmPitchAndFamily.
4809
f3d3c491
AI
48102000-10-21 Andrew Innes <andrewi@gnu.org>
4811
4812 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4813
4814 * w32term.h: Extern decl for w32_cache_char_metrics.
4815
4816 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4817
4818 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4819 (w32_unload_font): Free per_char array if present.
4820
4821 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4822 cached information in emulated XFontStruct to handle common cases
4823 quickly. Do not allocate XCharStruct for return.
4824 (w32_native_per_char_metric): New function.
4825 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4826 allocating one.
4827 (x_produce_glyphs): Don't get an HDC. Change calls to
4828 w32_per_char_metric to match arg change above. Remove calls to
4829 free results.
4830 (w32_get_glyph_overhangs): Ditto.
4831 (w32_cache_char_metrics): New function.
4832
4833 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4834 ($(BLD)/casefiddle.$(O)): Remove compile command.
4835 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4836 ($(BLD)/dispnew.obj):
4837 ($(BLD)/keyboard.obj):
4838 ($(BLD)/w32inevt.obj):
4839 ($(BLD)/w32bdf.obj):
4840 ($(BLD)/alloc.obj):
4841 ($(BLD)/buffer.obj):
4842 ($(BLD)/editfns.obj):
4843 ($(BLD)/emacs.obj):
4844 ($(BLD)/fileio.obj):
4845 ($(BLD)/fns.obj):
4846 ($(BLD)/indent.obj):
4847 ($(BLD)/insdel.obj):
4848 ($(BLD)/intervals.obj):
4849 ($(BLD)/minibuf.obj):
4850 ($(BLD)/print.obj):
4851 ($(BLD)/scroll.obj):
4852 ($(BLD)/sysdep.obj):
4853 ($(BLD)/textprop.obj):
4854 ($(BLD)/widget.obj):
f3d3c491
AI
4855 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4856 ($(BLD)/term.obj): Add dependency on dispextern.h.
4857
52283633
SM
4858 * makefile.nt ($(BLD)\dispnew.obj):
4859 ($(BLD)\keyboard.obj):
4860 ($(BLD)\w32inevt.obj):
4861 ($(BLD)\w32bdf.obj):
4862 ($(BLD)\alloc.obj):
4863 ($(BLD)\buffer.obj):
4864 ($(BLD)\editfns.obj):
4865 ($(BLD)\emacs.obj):
4866 ($(BLD)\fileio.obj):
4867 ($(BLD)\fns.obj):
4868 ($(BLD)\indent.obj):
4869 ($(BLD)\insdel.obj):
4870 ($(BLD)\intervals.obj):
4871 ($(BLD)\minibuf.obj):
4872 ($(BLD)\print.obj):
4873 ($(BLD)\scroll.obj):
4874 ($(BLD)\sysdep.obj):
4875 ($(BLD)\textprop.obj):
4876 ($(BLD)\widget.obj):
f3d3c491
AI
4877 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4878 ($(BLD)\term.obj): Add dependency on dispextern.h
4879
18ad4821
EZ
48802000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4881
4882 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4883 with an additional argument of Qt.
4884
de54681a
MB
48852000-10-21 Miles Bader <miles@gnu.org>
4886
4887 * window.c (pos_fully_visible_in_window_p): New function.
4888 (Fpos_visible_in_window_p): Add FULLY argument.
4889 Use pos_fully_visible_in_window_p.
4890 (window_scroll_pixel_based, window_scroll_line_based): Update
4891 calls to Fpos_visible_in_window_p.
4892 * lisp.h (Fpos_visible_in_window_p): Update prototype
4893
13c844fb
GM
48942000-10-20 Gerd Moellmann <gerd@gnu.org>
4895
4896 * alloc.c (toplevel): Conditionalize compilation of mem_*
4897 functions differently.
52283633 4898
d9506268
JR
48992000-10-20 Jason Rumney <jasonr@gnu.org>
4900
4901 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4902 mem_init where it used to be. mem_z etc not defined otherwise.
4903
8094989b
GM
49042000-10-20 Gerd Moellmann <gerd@gnu.org>
4905
4906 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4907 GC_MALLOC_CHECK.
4908 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4909 structure definition and related variabled to the top of the file.
4910 Include this code when GC_MALLOC_CHECK is defined.
4911 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4912 register/unregister allocated region.
4913 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4914 which isn't allocated.
4915 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4916 something which is already in use.
4917 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4918 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4919 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4920 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4921
4922 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4923 _malloc_internal instead of malloc.
4924 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4925 of free.
4926
ea456eb4
AI
49272000-10-20 Andrew Innes <andrewi@gnu.org>
4928
4929 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4930 Windows.
4931 (my_strftime) <macro>: Don't use macro arg list when redefining as
4932 _strftime_copytm.
4933 (my_strftime) <function>: Supply 0 as ut argument.
4934
e64c3a75
JR
49352000-10-19 Jason Rumney <jasonr@altavista.net>
4936
4937 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4938 including dispextern.h, as it stops faces from working.
4939
4940 * w32fns.c (Fx_create_frame): Don't bother calling
4941 face-set-after-frame-default since the caller does it for us
4942 anyway. Clean up calls to x_get_arg to be consistent with X.
4943
4944 * w32term.c (x_produce_glyphs): Handle
4945 unibyte_display_via_language_environment correctly.
4946 (w32_draw_box_rect): Fix the calculation of width and height.
4947
4948 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4949 as it has stopped working.
4950 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4951 menu-bar.
4952
17401c97
GM
49532000-10-19 Gerd Moellmann <gerd@gnu.org>
4954
4955 * eval.c (skip_debugger): Prevent a compiler warning.
4956 (Fcondition_case): Likewise.
4957 (Fbacktrace_frame): Use a null interactive spec.
4958
773272d8
KH
49592000-10-19 Kenichi Handa <handa@etl.go.jp>
4960
4961 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4962
a42943e9
GM
49632000-10-18 Gerd Moellmann <gerd@gnu.org>
4964
e50517d9
GM
4965 * strftime.c: Sync with glibc, file version 1.78.
4966 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4967 should no longer be used according to ISO 8601.
4968
9035a35a
GM
4969 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4970 no map for meta_prefix_char, don't try to use it as a keymap.
4971 Instead, if T_OK is non-zero, look up a default binding, if any,
4972 otherwise, if T_OK is zero, return nil.
4973
a42943e9
GM
4974 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4975 (x_to_xcolors, png_load): Use x_query_color.
4976
52283633
SM
4977 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4978 New functions.
a42943e9
GM
4979 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4980 which can be slow.
4981 (x_copy_color, x_alloc_lighter_color): Likewise.
4982
4983 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4984 (x_query_color, x_query_colors): Add prototype.
4985
4986 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4987 check_string_bytes only if not noninteractive, increase count to 50.
4988
00de2987
MB
49892000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4990
4991 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4992 markers correctly.
4993
54918e2b
GM
49942000-10-17 Gerd Moellmann <gerd@gnu.org>
4995
1f0b3fd2
GM
4996 * alloc.c (pure_bytes_used): Renamed from pureptr.
4997 (ALIGN): New macro.
4998 (pure_alloc): New function.
4999 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5000 Use it.
5001 (Fpurecopy): Use PURE_POINTER_P.
5002
68c5d1db
GM
5003 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5004 PT has moved backward.
52283633 5005
9a038881
GM
5006 * xdisp.c (cursor_row_p): Take continued lines into account.
5007
361b097f
GM
5008 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5009 string's size_byte.
5010 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5011 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5012 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5013 string allocated.
5014
54918e2b
GM
5015 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5016 of selective display off while searching for the next line start.
5017
03ed0806
KH
50182000-10-17 Kenichi Handa <handa@etl.go.jp>
5019
5020 * Makefile.in (term.o): Depend on dispextern.h.
5021
7e05cdaf
SM
50222000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5023
5024 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5025
a6801fd1
GM
50262000-10-16 Gerd Moellmann <gerd@gnu.org>
5027
483de32b
GM
5028 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5029 the iterator at the beginning, so that they can be set later on,
5030 for instance in reseat_at_next_visible_line_start, without being
5031 overwritten.
5032
a6801fd1
GM
5033 * xfns.c (pbm_format): Add :foreground and :background keywords.
5034 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5035 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5036
dbf1fcc1
EZ
50372000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5038
5039 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5040
52283633 5041 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5042
5043 * msdos.c (IT_set_face): Compare highlighted face with the default
5044 face, and invert colors if these faces' colors are identical.
5045 (Fmsdos_remember_default_colors): Don't swap foreground and
5046 background colors in initial_colors[].
5047 (IT_set_frame_parameters): Don't swap frame's foreground and
5048 background pixels. If ALIST includes "(reverse . t)", swap
5049 foreground-color and background-color properties in frame's
5050 param_alist. If the original frame's param_alist doesn't specify
5051 the colors, store unspecified-fg and unspecified-bg, reversed if
5052 required.
5053
5054 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5055 the colors are unspecified and reversed, reverse fore- and back-
5056 ground in the returned value.
5057 (Fframe_parameter): Ditto.
5058
b41fe2c3 50592000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5060
3a6b59d9
GM
5061 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5062 get_last_unchanged_at_beg_row.
5063 (find_first_unchanged_at_end_row): Renamed from
5064 get_first_unchanged_at_end_row.
5065 (find_first_unchanged_at_end_row): Convert assertions to
5066 unconditional tests which abort. When looking for a row in
5067 unchanged text, don't go further back than first_text_row.
5068
b41fe2c3
GM
5069 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5070 Don't add in the last line's height when deciding if the new
5071 position is below the scroll margin.
9d1af64f 5072
b41fe2c3 50732000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5074
5075 * editfns.c (Fconstrain_to_field): Check carefully for field
5076 boundaries if either OLD_POS or NEW_POS has a non-nil field
5077 property, even if they're the same.
5078
c412cb7b
KH
50792000-10-16 Kenichi Handa <handa@etl.go.jp>
5080
5081 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5082 height for XFillRectangle.
5083
5586f3eb
SM
50842000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5085
5086 * syntax.c (Fstring_to_syntax): New function extracted from
5087 Fmodify_syntax_entry.
5088 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5089 (skip_chars, Fforward_comment): Remove unused variables.
5090 (syms_of_syntax): Add defsubr for string-to-syntax.
5091 (describe_syntax): Add code for comment and string fences.
5092
db785038
SM
50932000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5094
5095 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5096 Do the meta->esc mapping. Call get_keyelt before returning.
5097 Start scanning from the second element (the first is always `keymap')
5098 to make it easier to detect when we reach a parent map.
5099 Handle the case of inheriting from a symbol whose function is a map.
5100 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5101 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5102 (get_keyelt, Flookup_key): Update call to access_keymap.
5103 Remove the meta->esc mappings.
5104 (define_as_prefix): Delete old disabled code.
5105 (menu_item_p): New function.
5106 (where_is_internal_1): Skip over the few remaining menu items.
5107 * lisp.h (access_keymap): Update prototype.
5108 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5109 Update call to access_keymap.
5110 (follow_key, read_key_sequence): Update calls to access_keymap.
5111 Remove the meta->esc mappings.
5112
cafafe0b
GM
51132000-10-13 Gerd Moellmann <gerd@gnu.org>
5114
a2e2a7f6
GM
5115 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5116 with additional argument.
5117
cafafe0b
GM
5118 * xdisp.c (cursor_row_p): New function.
5119 (try_cursor_movement, display_line): Use it.
52283633 5120
cafafe0b
GM
5121 * xdisp.c (append_space): Also save/restore iterator's current
5122 character and its length.
5123
5124 * xdisp.c (init_from_display_pos): Add an assertion.
5125 (handle_stop): Don't set iterator's add_overlay_start.
5126 (handle_invisible_prop): Likewise.
5127 (load_overlay_strings): If text under an overlay is invisible,
5128 take both before- and after-strings into account when the iterator
5129 is positioned either at the start or at the end of the overlay.
5130 (forward_to_next_line_start): Rewritten.
5131 (reseat_at_next_visible_line_start): Rewritten.
5132 (set_iterator_to_next): Add parameter RESEAT_P.
5133
5134 * dispextern.h (struct it): Remove member add_overlay_start.
5135 (set_iterator_to_next): Change prototype.
5136
c744452b
KH
51372000-10-13 Kenichi Handa <handa@etl.go.jp>
5138
5139 * coding.c (code_convert_region): Be sure to initialize
5140 coding->category_idx.
e4a3f4e1
KH
5141 (decode_coding_string): Set coding->src_multibyte and
5142 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5143 (encode_coding_string): Set coding->src_multibyte and
5144 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5145
321fd26f
SM
51462000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5147
5148 * xfns.c (Fx_create_frame): Don't bother calling
5149 face-set-after-frame-default since the caller does it for us anyway.
5150
76832439
EZ
51512000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5152
5153 * window.c (coordinates_in_window): Fix detection of vertical line
5154 on character terminals.
5155
2483cf58
GM
51562000-10-12 Gerd Moellmann <gerd@gnu.org>
5157
5158 * editfns.c (save_excursion_save): Additionally record the
5159 selected window.
5160 (save_excursion_restore): If buffer was visible in a window, and a
5161 different window was selected, and the old selected window is
5162 still live, restore point in that window.
5163
eb991b25
KH
51642000-10-12 Kenichi Handa <handa@etl.go.jp>
5165
8a0eba09
KH
5166 * xterm.c (x_produce_glyphs): Handle
5167 unibyte_display_via_language_environment correctly.
5168
20401fcc
KH
5169 * regex.c (regex_compile): Change the way of handling a range from
5170 unibyte char to multibyte char.
5171
5172 * syntax.c (skip_chars): Change the way of handling a range from
5173 unibyte char to multibyte char.
5174
eb991b25
KH
5175 * process.c (read_process_output): Cancel previous change.
5176
365dd325
EZ
51772000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5178
c1b096cb
EZ
5179 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5180
365dd325
EZ
5181 * charset.c (Ffind_charset_string): Doc fix.
5182 (Ffind_charset_region): Doc fix.
5183
eb483c2b
KH
51842000-10-11 Kenichi Handa <handa@mule.m17n.org>
5185
5186 * process.c (read_process_output): Fix previous change. Adjust
5187 multibyteness of text to insert in a buffer by
52283633 5188 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5189
b40bfb99
AS
51902000-10-10 Andreas Schwab <schwab@suse.de>
5191
5192 * alloc.c (mark_object): Remove all workarounds installed on
5193 1993-08-08.
5194
caff31d4
KH
51952000-10-10 Kenichi Handa <handa@etl.go.jp>
5196
52283633 5197 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5198 (base64_encode_1): Make it work for a text of multibyte form.
5199 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5200 case. Don't call str_to_multibyte because base64_decode_1
5201 produces correct multibyte form for eight-bit codes.
52283633 5202 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5203 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5204 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5205 codes.
5206
5207 * charset.h (CHAR_STRING): Optimized for single byte characters.
5208
cba026ef
AS
52092000-10-09 Andreas Schwab <schwab@suse.de>
5210
5211 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5212 -1 after socket is closed, to fall through to error processing.
5213
1e21fe48
EZ
52142000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5215
5216 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5217 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5218 background-color, change also the colors of the default face for
5219 this frame.
5220
a640322e
EZ
52212000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5222
5223 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5224 them extern (they are defined on xfaces.c).
5225 (syms_of_msdos): Don't intern and don't staticpro
5226 Qbackground_color and Qforeground_color.
5227
a115794c
EZ
52282000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5229
5230 * frame.c (Fframe_parameter): For non-windowed frames, if
5231 f->param_alist says foreground or background color is unspecified,
5232 call tty_color_name to return the color name computed from the
5233 frame's current colors.
5234
f5533b63
DL
52352000-10-06 Dave Love <fx@gnu.org>
5236
5237 * terminfo.c (ospeed): Don't declare.
5238
5239 * sysdep.c: Don't include string.h.
5240 (h_errno): Declare conditional also on TRY_AGAIN.
5241
5242 * charset.c (Ffind_charset_string): Doc fix.
5243
52283633 5244 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5245 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5246 error messages.
5247
2b06561a
DL
52482000-10-05 Dave Love <fx@gnu.org>
5249
5250 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5251 position like menu-bar.
5252
ca839c85
GM
52532000-10-05 Gerd Moellmann <gerd@gnu.org>
5254
5255 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5256
5257 * xdisp.c (handle_single_display_prop): Use safe_call1.
5258 (safe_call): Renamed from call_function.
5259 (safe_call1): New function.
5260 (handle_fontified_prop): Use safe_call1 instead of call1.
5261 (safe_eval): Renamed from eval_form.
5262 (safe_eval_handler): Renamed from eval_handler.
5263 (handle_single_display_prop, display_mode_element): Use safe_eval
5264 instead of eval_form.
5265
5266 * xfaces.c (merge_face_heights): Use safe_call instead of
5267 call_function.
5268
5269 * keyboard.c (show_help_echo): Use safe_call instead of
5270 call_function; use safe_eval instead of eval_form.
5271
5272 * lisp.h (safe_call): Renamed from call_function.
5273 (safe_eval): Renamed from eval_form.
5274 (safe_call1): Add prototype.
5275
a3489ece
MB
52762000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5277
5278 * xfns.c (image_ascent): Rearrange ascent calculation for the
5279 has-a-font case.
5280
35810b6f
SM
52812000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5282
5283 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5284 (where_is_internal_1): Don't bother ignoring menu-items any more.
5285
3dc78168
GM
52862000-10-04 Gerd Moellmann <gerd@gnu.org>
5287
5288 * keyboard.c (update_menu_bindings): New variable.
5289 (parse_menu_item): Use AREF. If update_menu_bindings
5290 is 0, don't update menu bindings.
5291 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5292
1efc2bb9
EZ
52932000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5294
5295 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5296 to `mark_object'.
5297
3f679f55
SM
52982000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5299
5300 * syntax.c (forw_comment): Match nestedness of ender/starter.
5301 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5302 (prev_char_comstart_first): Remove.
5303 (back_comment): Check two-char comment markers more carefully
5304 to better handle overlapping cases like *//* or /* */* */ ...
5305 Match nestedness of ender/starter.
5306
2021ab61
DL
53072000-10-02 Dave Love <fx@gnu.org>
5308
5309 * config.in (HAVE_GAI_STRERROR): Add undef.
5310
5311 * process.c (Fopen_network_stream): Use it.
5312
5313 * m/alpha.h (NO_REMAP): Don't define.
5314
64e6cc18
GM
53152000-10-02 Gerd Moellmann <gerd@gnu.org>
5316
5317 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5318 return with a string converted to an integer or vice versa when
5319 Vmocklisp_arguments is t.
5320 (Fsignal): Likewise. The function can return for `quit'.
5321 (struct gcpro): Declare member `var' to point to a volatile
5322 Lisp_Object.
5323
5324 * eval.c (error): Prevent compiler warning.
5325
b1904cd9
SM
53262000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5327
5328 * keymap.c (keymap_memberp): New function.
5329 (Fset_keymap_parent): Use it.
5330 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5331 Use keymap_memberp to avoid creating cycles.
5332 (access_keymap): Use KEYMAPP.
5333
71c9ec51
GM
53342000-09-30 Gerd Moellmann <gerd@gnu.org>
5335
5336 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5337 gai_strerror. Make sure xerrno is set if connect fails. Improve
5338 error recovery.
71c9ec51 5339
c70c6b58
JR
53402000-09-29 Jason Rumney <jasonr@gnu.org>
5341
5342 * w32term.c (w32_char_font_type, w32_encode_char)
5343 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5344 (w32_bdf_per_char_metric): New function.
5345 (w32_per_char_metric): Use it.
5346 (x_draw_glyph_string_background): Always draw background for BDF
5347 glyphs.
5348
5349 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5350 GDI object which is a scarce resource.
5351
5352 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5353 (get_quoted_string): Fix limit on memchr search.
5354 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5355 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5356 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5357 (get_cached_font_char, cache_char_offset): Use macro
5358 BDF_CODEPOINT_RANGE_COVER_P.
5359 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5360 (clear_cached_bitmap_slots): New function.
5361 (GET_HEX_VALUE): G-Z, g-z are not hex.
5362 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5363 (get_bitmap_with_cache): Use new cache implementation.
5364 (create_offscreen_bitmap): New function.
5365 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5366
5367 * w32term.c (x_produce_glyphs): If the distance from the current
5368 position to the next tab stop is less than a canonical character
5369 width, use the tab stop after that.
5370 (x_draw_glyphs): Handle case START and END are out of bounds more
5371 carefully.
5372 (x_clear_mouse_face): Block/unblock input.
5373 (x_display_and_set_cursor): Don't show a hollow box cursor for
5374 buffers whose cursor_type is nil.
5375
fe01239f
GM
53762000-09-29 Gerd Moellmann <gerd@gnu.org>
5377
52283633 5378 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5379
5380 * dispextern.h (updating_frame): Declare extern.
5381
e7c52f1f
AS
53822000-09-29 Andreas Schwab <schwab@suse.de>
5383
5384 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5385
de6e1f7c
GM
53862000-09-29 Gerd Moellmann <gerd@gnu.org>
5387
25126faa
GM
5388 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5389 use its function definition.
5390 (tool_bar_items): Likewise.
5391
de6e1f7c 5392 * lisp.h (fatal): Declare NO_RETURN.
52283633 5393
454ee39b
KH
53942000-09-29 Kenichi Handa <handa@etl.go.jp>
5395
5396 * keymap.c: Remove the line "#undef NULL".
5397
96301c5f
GM
53982000-09-28 Gerd Moellmann <gerd@gnu.org>
5399
52283633 5400 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5401
efffeeb4
DL
54022000-09-28 Dave Love <fx@gnu.org>
5403
ecb8b666
DL
5404 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5405
dc3cd20f
DL
5406 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5407
5408 * .gdbinit (xreload): Note its need on GNU/Linux.
5409
efffeeb4
DL
5410 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5411 r_alloc, r_alloc_free.
5412
8610d903
KH
54132000-09-28 Kenichi Handa <handa@etl.go.jp>
5414
5415 * syntax.c (skip_chars): Handle negation correctly.
5416
8901d1ac
GM
54172000-09-27 Gerd Moellmann <gerd@gnu.org>
5418
6f22f1ad
GM
5419 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5420 with non-zero FORCE_P argument.
5421
52283633 5422 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5423 Add assertions.
5424
5425 * xdisp.c (window_box_height): Add an assertion.
5426
5427 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5428 tool-bar than is available.
5429 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5430
36f1966f
DL
54312000-09-27 Dave Love <fx@gnu.org>
5432
efffeeb4 5433 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5434
31d929e5
GM
54352000-09-26 Gerd Moellmann <gerd@gnu.org>
5436
c98863bf
GM
5437 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5438 instead of BITS_PER_INT.
5439 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5440 EMACS_UINT, respectively.
5441 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5442
5443 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5444
5445 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5446
77072ab1
GM
5447 * window.c (freeze_window_starts): Construct last argument for
5448 foreach_window differently.
5449
5450 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5451
5452 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5453 EMACS_UINT instead of `int' and `unsigned int'.
5454 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5455
5456 * frame.h (struct frame): Make the `nothing' member of union
5457 output_data an EMACS_INT.
5458
52283633 5459 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5460 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5461 size in the sdata structure.
5462 (SDATA_NBYTES, SDATA_DATA): New macros.
5463 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5464 differently for the different layout of the sdata structure.
5465 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5466 in sdata.
5467 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5468 Check that size recorded in the string size and size recorded in
5469 the sdata structure agree.
5470
3e60b029
DL
54712000-09-25 Dave Love <fx@gnu.org>
5472
5473 * buffer.c: Include stdio.h.
5474
5475 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5476
3e60b029
DL
5477 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5478
5479 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5480 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5481 (__malloc_extra_blocks): Declare as __malloc_size_t.
5482
8ff16b4e
GM
54832000-09-25 Gerd Moellmann <gerd@gnu.org>
5484
755a2ccd
GM
5485 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5486
d8b4516f
GM
5487 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5488 (read_char): If help-echo is showing, preserve the echo area
5489 when redisplaying.
5490
5491 * xdisp.c (help_echo_showing_p): New variable.
5492 (set_message): Reset it to 0.
5493 (init_xdisp): Initialize help_echo_showing_p.
5494
5495 * dispextern.h (help_echo_showing_p): Declare extern.
5496
5497 * config.in: Fix typo in __GNUC_MINOR__.
5498
5499 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5500
b11af2dd
GM
5501 * s/freebsd.h (POSIX_SIGNALS): Define.
5502
8ff16b4e
GM
5503 * xterm.c (x_clear_mouse_face): Block/unblock input.
5504
844eb643
DL
55052000-09-24 Dave Love <fx@gnu.org>
5506
5507 * fns.c (base64_encode_1): Fix last change.
5508
b30ab1b3
GM
55092000-09-22 Gerd Moellmann <gerd@gnu.org>
5510
5511 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5512
5513 * xdisp.c (try_window_reusing_current_matrix): More fixes
5514 for the case window has a header-line.
5515
c6cbe5f0
DL
55162000-09-22 Dave Love <fx@gnu.org>
5517
4c7c1f3f
DL
5518 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5519 a doc string.
5520
5521 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5522
c6cbe5f0
DL
5523 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5524
550a625e
GM
55252000-09-21 Gerd Moellmann <gerd@gnu.org>
5526
4c7c1f3f 5527 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5528 for GCC >= 2.5.
5529
52283633
SM
5530 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5531 Declare NO_RETURN.
fca99116 5532
80d26f99
GM
5533 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5534 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5535 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5536 warnings.
52283633 5537
80d26f99
GM
5538 * marker.c (byte_char_debug_check): Return void.
5539
623a0aae
GM
5540 * xfns.c (Fx_create_frame): Set default frame parameter value
5541 for tool-bar-lines to 1.
5542
5543 * dispnew.c (scrolling_window): Compare y-positions of rows
5544 equal at the start. Some simplification.
5545
5546 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5547 reused rows' y-position in the case window has a header-line, and
5548 new window start is greater than old window start.
5549
42ac0ae5
GM
5550 * process.c (process_sent_to): New variable.
5551 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5552 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5553 Declare more parameters volatile.
5554
550a625e
GM
5555 * lread.c (Vrecursive_load_depth_limit): New variable.
5556 (Fload): Check recursive loads whose recursion depth exceeds
5557 Vrecursive_load_depth_limit.
5558 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5559
8320414c
GM
55602000-09-20 Gerd Moellmann <gerd@gnu.org>
5561
f46c275e
GM
5562 * fileio.c (Fread_file_name): Doc fix.
5563
5564 * editfns.c (Fmessage_or_box): Doc fix.
5565
5566 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5567
b7e11c5b 5568 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5569
8320414c
GM
5570 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5571 symbols are specified, add color translations to the cache.
52283633 5572 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5573 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5574 xpm_cache_color.
5575 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5576 structures to xpm_init_color_cache.
5577
da1608d9
GM
55782000-09-19 Gerd Moellmann <gerd@gnu.org>
5579
52283633 5580 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5581
6badfa25
AI
55822000-09-19 Andrew Innes <andrewi@gnu.org>
5583
5584 * makefile.nt (bootstrap-emacs): Don't change directory.
5585
3a5f42bb
KH
55862000-09-19 Kenichi Handa <handa@etl.go.jp>
5587
1b7649bd
KH
5588 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5589
3a5f42bb
KH
5590 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5591 If output buffer is too small, signal an appropriated error.
5592
9f83cf0b
DL
55932000-09-18 Dave Love <fx@gnu.org>
5594
52283633 5595 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5596 (current_active_maps): Remove redundant get_local_map call.
5597
28c7826c
GM
55982000-09-18 Gerd Moellmann <gerd@gnu.org>
5599
5cefa566
GM
5600 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5601 cursor for buffers whose cursor_type is nil.
52283633 5602
6fed3546
GM
5603 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5604 a feature to implement that is already implemented.
5605 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5606 warnings.
5607
5608 * xfns.c (x_clear_image_1): New function.
5609 (x_clear_image): Use it.
52283633 5610 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5611
05b1f851
GM
5612 * dispnew.c (update_window): Move test for invisible lines
5613 at the top to update_window_line.
5614 (update_window_line): Handle invisible lines here.
5615
f4779de9
GM
5616 * xfns.c (clear_image_cache): Clear current matrices of all
5617 frames sharing an image cache. Block input while freeing
5618 images. Fix timestamp comparison.
5619 (x_clear_image): Also free the mask.
5620
28c7826c
GM
5621 * xfns.c (lookup_image): Block input while loading the image so
5622 that we won't get interrupted in a state where the image isn't yet
5623 set up completely.
5624 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5625 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5626 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5627 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5628
b7412313
GM
56292000-09-16 Gerd Moellmann <gerd@gnu.org>
5630
5631 * dispnew.c (update_window): Make sure to make desired rows
5632 current even if they are completely invisible at the top
5633 of a window.
5634
47e351a3
GM
56352000-09-15 Gerd Moellmann <gerd@gnu.org>
5636
7f8f1edc
GM
5637 * xfns.c (lookup_image): Build mask before applying an algorithm.
5638 Recognize algorithm `disabled'.
5639 (cross_disabled_images): New variable.
5640 (COLOR_INTENSITY): New macro.
5641 (x_detect_edges): Use COLOR_INTENSITY.
5642 (x_disable_image): New function.
5643 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5644
5645 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5646 disabled state, don't apply an image transformation algorithm if
5647 the user specified an image for the disabled state. Use
28c7826c 5648 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5649 user hasn't specified an image.
5650
ebb8f116
GM
5651 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5652 allocation functions with the XPM lib.
5653 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5654 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5655 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5656 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5657 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5658 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5659 functions, if possible, because these handle color allocation
5660 failure more gracefully.
5661 (Fimage_mask_p): New function.
5662
47e351a3
GM
5663 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5664 (Qedge_detection, Qheuristic): New symbols.
5665 (syms_of_xfns): Initialize new symbols.
5666 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5667 `algorithm (edge-detection ...)'.
5668 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5669 (tiff_format, gif_format, gs_format): Add `:mask'.
5670 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5671 (GIF_MASK, GS_MASK): New enumerators.
5672 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5673 (emboss_matrix, laplace_matrix): New variables.
5674 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5675 (x_edge_detection): New functions.
5676 (x_laplace): Rewritten in terms of x_detect_edges.
5677 (x_build_heuristic_mask): If image has a mask, free it.
5678
fe83b953
AI
56792000-09-14 Andrew Innes <andrewi@gnu.org>
5680
5681 * makefile.w32-in: Revert to Unix line endings.
5682
3021e816
AI
56832000-09-14 Andrew Innes <andrewi@gnu.org>
5684
5685 * makefile.w32-in: Standardize indentation somewhat.
5686 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5687 cater for differences between shells.
5688
5689 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5690
2a32b5ea
GM
56912000-09-14 Gerd Moellmann <gerd@gnu.org>
5692
5693 * xterm.c (x_produce_glyphs): If the distance from the current
5694 position to the next tab stop is less than a canonical character
5695 width, use the tab stop after that.
5696
b4331e96
DL
56972000-09-14 Dave Love <fx@gnu.org>
5698
5699 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5700
ef9e4345
GM
57012000-09-14 Gerd Moellmann <gerd@gnu.org>
5702
085536c2
GM
5703 * xdisp.c (handle_fontified_prop): While running fontification
5704 functions, bind `fontification-functions' and
5705 `after-change-functions' to nil.
5706
ef9e4345
GM
5707 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5708 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5709
5710 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5711
5712 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5713 USE_MMAP_FOR_BUFFERS.
5714
5715 * insdel.c (make_gap): Use enlarge_buffer_text.
5716
5717 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5718 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5719 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5720 from former r_alloc_* functions in ralloc.c.
52283633 5721 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5722 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5723 (mmap_init) [REL_ALLOC_MMAP]: New function.
5724 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5725 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5726 BUFFER_FREE.
5727
5728 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5729 (enlarge_buffer_text): Add prototype.
5730
5731 * ralloc.c: Remove everything having to do with the use of mmap.
5732
f8608968
GM
57332000-09-13 Gerd Moellmann <gerd@gnu.org>
5734
2a494b2d
GM
5735 * sound.c (Fplay_sound): Doc fix.
5736
8c907a56
GM
5737 * keyboard.c: Avoid some more compiler warnings.
5738 (parse_tool_bar_item): Ignore cached key bindings.
5739
f8608968
GM
5740 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5741 and allocation of Lisp data.
5742
6ab70e9a
GM
57432000-09-12 Gerd Moellmann <gerd@gnu.org>
5744
d12d0a9b
GM
5745 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5746 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5747 defaults first.
5748
6ab70e9a
GM
5749 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5750
63c36c3c
KH
57512000-09-12 Miyashita Hisashi <himi@meadowy.org>
5752
5753 * ccl.c: Comment fixed.
5754 (MAX_MAP_SET_LEVEL): Increased to 30.
5755 (PUSH_MAPPING_STACK): Enclose with do-while block.
5756 (POP_MAPPING_STACK): Likewise.
5757 (stack_idx_of_map_multiple): New variable.
5758 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5759 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5760 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5761 (ccl_driver) <CCL_MapSingle>: Likewise.
5762 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5763 with the case where looking up process reaches to the end of
5764 map-set, and call CCL programs as the above change.
5765
7ee3bd7b
GM
57662000-09-11 Gerd Moellmann <gerd@gnu.org>
5767
8ec8a5ec
GM
5768 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5769 that might be clobbered by longjmp.
5770 (check_x_display_info, x_decode_color, create_frame_xic)
5771 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5772 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5773
f74b0705
GM
5774 * lread.c (init_lread): Set Vloads_in_progress to nil.
5775 (Fload): Show list of recursively loaded files, when signaling an
5776 error.
5777
7ee3bd7b
GM
5778 * lread.c (Vloads_in_progress): New variable.
5779 (record_load_unwind): New function.
5780 (Fload): Check for recursive loads.
5781 (syms_of_lread): Initialize Vloads_in_progress.
5782 (read_integer, read1): Avoid some compiler warnings.
5783
5784 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5785 compiler warnings.
5786
974e1e5b
MB
57872000-09-11 Miles Bader <miles@gnu.org>
5788
5789 * editfns.c (Fbuffer_string): Doc fix.
5790
9824c4e3
GM
57912000-09-10 Gerd Moellmann <gerd@gnu.org>
5792
5793 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5794
6a72fdd1
KR
57952000-09-09 Ken Raeburn <raeburn@gnu.org>
5796
5797 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5798 whether to include other header files.
5799
28e6fb66
GM
58002000-09-09 Gerd Moellmann <gerd@gnu.org>
5801
52283633 5802 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5803 by Fmemq as a boolean.
28e6fb66 5804
7f8b6551
SM
58052000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5806
5807 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5808
a8710abf
GM
58092000-09-08 Gerd Moellmann <gerd@gnu.org>
5810
d1a02881
GM
5811 * ralloc.c (mmap_fd): Remove initializer which can make it
5812 read-only in a dumped Emacs.
5813 (mmap_fd_1): New variable.
5814 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5815 restore it from there.
5816 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5817 unconditionally so that mmap_fd can be initialized there.
5818 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5819 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5820 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5821
c454aac1
GM
5822 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5823
5824 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5825 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5826
fc653ef2
GM
5827 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5828
3015eec0
GM
5829 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5830 inheritance.
5831
bfe0ee88
GM
5832 * xdisp.c (try_window_id): When trying to locate cursor in
5833 unchanged rows at the top, handle the case that we can't find it.
5834
a8710abf
GM
5835 * xterm.c (x_draw_glyphs): Handle case START and END are out
5836 of bounds more carefully.
5837
6b7d4ae4
DL
58382000-09-08 Dave Love <fx@gnu.org>
5839
423193c5
DL
5840 * s/sol2.h (REL_ALLOC_MMAP): Define.
5841 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5842
5843 * ralloc.c: Don't include string.h (redundant).
5844 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5845 [!MAP_ANON]: Include fcntl.h.
5846 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5847 (r_alloc, r_re_alloc, r_alloc_free)
5848 (mmap_enlarge, mmap_set_vars): Use it.
5849 (r_alloc_init_fd): New function.
5850 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5851 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5852 malloc type.
5853
5854 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5855 Remove vm-limit.o.
5856
6b7d4ae4
DL
5857 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5858 change to __NetBSD__.
5859
44d31981
KH
58602000-09-08 Kenichi Handa <handa@etl.go.jp>
5861
5862 * search.c (compile_pattern): Check the multibyteness of cached
5863 string and PATTERN.
5864
aad40737
MB
58652000-09-08 Miles Bader <miles@gnu.org>
5866
5867 * xfaces.c (default_face_vector): Function removed.
5868 (Finternal_merge_in_global_face): Restore old global/local
5869 attribute override order. Use inline loop instead of calling
5870 default_face_vector.
5871
91a211b5
GM
58722000-09-07 Gerd Moellmann <gerd@gnu.org>
5873
5874 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5875 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5876 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5877 where necessary, in case POINTER_TYPE is `void'.
5878
03419440
EZ
58792000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5880
5881 * frame.c (make_terminal_frame): Initialize frame foreground and
5882 background colors to unspecified, for the initial instance of an
5883 MSDOS frame.
5884
f46f845b
GM
58852000-09-07 Gerd Moellmann <gerd@gnu.org>
5886
24f76fbf
GM
5887 * ralloc.c (mmap_find): Fix overlap computation.
5888 (mmap_enlarge): Compute nbytes before trying to find an
5889 overlapping region.
5890
f46f845b
GM
5891 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5892 instead of `!='.
5893
5894 * lread.c (syms_of_lread): Change value of regexp
5895 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5896
5897 * xmenu.c (xdialog_show): When looking up the selection in
5898 menu_items, take `quote' boundaries into account; this corresponds
5899 to a nil ITEM in x-popup-dialog.
5900
3c014385
KH
59012000-09-07 Kenichi Handa <handa@etl.go.jp>
5902
fd6f711b
KH
5903 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5904 not 0x81.
5905 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5906
3c014385 5907 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5908 encoding, not decoding. Fix the handling of latin-jisx0201.
5909 Check for the charset katakana-jisx0201 too.
3c014385 5910 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5911 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5912
0da3ecef
GM
59132000-09-07 Gerd Moellmann <gerd@gnu.org>
5914
ab0ee409
GM
5915 * xfaces.c (Vparam_value_alist): New variable.
5916 (syms_of_xfaces): Initialize it.
5917 (Finternal_set_lisp_face_attribute): Avoid more consing.
5918
5919 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5920 specially.
5921 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5922 (Qbackground_mode): New variable.
5923 (syms_of_frame_1): Initialize Qbackground_mode.
5924
5925 * lisp.h (Qdisplay): Declare extern.
1091dd67 5926
0da3ecef
GM
5927 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5928 change face on all frames, and change the default for new frames.
5929
b14654b9
DL
59302000-09-07 Dave Love <fx@gnu.org>
5931
5932 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5933
d24fd56f
KH
59342000-09-07 Kenichi Handa <handa@etl.go.jp>
5935
794f3670
KH
5936 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5937
0fddd0dc
KH
5938 * charset.c: Include composite.h
5939 (lisp_string_width): New function.
5940 (Fstring_width): Call lisp_string_width instead of strwidth.
5941
5942 * Makefile.in (charset.o): Depends on composite.h.
5943
d24fd56f
KH
5944 * process.c (read_process_output): Before inserting the decoded
5945 text in the buffer, adjust the multibyteness.
5946
fa0b693c
GM
59472000-09-06 Gerd Moellmann <gerd@gnu.org>
5948
52283633 5949 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5950 buffer's text buffer is null, map new memory.
5951
0a58f946
GM
5952 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5953 POINTER_TYPE and size_t.
5954 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5955 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5956 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5957 [REL_ALLOC_MMAP]: New macros.
5958 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5959 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5960 [REL_ALLOC_MMAP]: New functions.
5961
5962 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5963 before and after unexec.
5964
5965 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5966 text buffers if necessary.
5967
5968 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5969 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5970 in prototypes.
5971
fa0b693c
GM
5972 * config.in (HAVE_MMAP): Add #undef.
5973
877055f6
GM
59742000-09-05 Gerd Moellmann <gerd@gnu.org>
5975
08ba3862
GM
5976 * frame.c (Qdisplay_type): New variable.
5977 (syms_of_frame_1): Initialize it.
5978 (Fframe_parameter): New function that avoids consing.
5979 (syms_of_frame): Defsubr it.
5980
66ffe51c
GM
5981 * buffer.c (Fother_buffer): Consider buffers as invisible when
5982 they are displayed in a window on an invisible frame.
5983
877055f6
GM
5984 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5985 get-largest-window always return nil.
5986
bb970e67
GM
59872000-09-04 Gerd Moellmann <gerd@gnu.org>
5988
5989 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5990 variable; recognize Emacs 19 elc files.
5991
7a3d0e0e
MB
59922000-09-04 Miles Bader <miles@gnu.org>
5993
5994 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5995 before initially popping up the menu, so the menu doesn't flash
52283633 5996 when the face settings are significantly different from the defaults.
7a3d0e0e 5997
14473664
SM
59982000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5999
6000 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6001 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6002 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6003 (BIT_UNIBYTE): Remove.
6004 (re_match_2_internal): Delete corresponding code and streamline the
6005 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6006 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6007 (re_wctype_t): New type.
6008 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6009 (regex_compile): Use them and fix handling of overly long char classes.
6010
c1174479
AI
60112000-09-03 Andrew Innes <andrewi@gnu.org>
6012
f8803e97
AI
6013 * makefile.w32-in: Change to DOS line endings.
6014
c1174479
AI
6015 * s/ms-w32.h (ORDINARY_LINK): New define.
6016
6017 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6018 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6019
6020 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6021 (distclean): Delete them here instead.
6022
44ef7cf6
AI
6023 * w32proc.c (compare_env): Convert to uppercase for comparison,
6024 not lowercase, to match how the native Windows shell works.
6025
49b3bd82
JR
60262000-09-03 Jason Rumney <jasonr@gnu.org>
6027
6028 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6029 CVS changes the line-ends when checking in/out on DOS/Windows.
6030
6031 * makefile.nt (emacs): Do not change directory to run temacs, as
6032 the load-path is set relative to current directory.
6033
a3d35a39
MB
60342000-09-03 Miles Bader <miles@gnu.org>
6035
6036 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6037
d276b0cf
GM
60382000-09-02 Gerd Moellmann <gerd@gnu.org>
6039
715e84c9
GM
6040 * xdisp.c (redisplay_mode_lines): New function.
6041 (display_mode_lines): Return number of mode lines displayed.
6042 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6043 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6044
8892f40b
GM
6045 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6046 string.h and strings.h.
6047 (index) [HAVE_INDEX]: Add prototype.
6048
d276b0cf
GM
6049 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6050 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6051
6052 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6053 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6054
38404229
GM
60552000-09-01 Gerd Moellmann <gerd@gnu.org>
6056
6057 * lread.c (read1): Accept `?' as symbol constituent, for
6058 compatiblity with XEmacs.
6059
c0f9ea08
SM
60602000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6061
6062 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6063 (struct re_pattern_buffer): Remove newline_anchor.
6064 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6065 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6066 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6067 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6068 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6069 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6070 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6071 Get rid of references to newline_anchor.
6072 (regcomp): Allocate and precompute a fastmap.
6073
8c0f83fe
GM
60742000-08-31 Gerd Moellmann <gerd@gnu.org>
6075
6076 * lread.c (openp): GCPRO local variable `filename'.
6077
4bb91c68
SM
60782000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6079
6080 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6081
6082 * regex.c: Merge some changes from GNU libc. Add prototypes.
6083 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6084 Use memcmp and memcpy instead of bcopy and bcmp.
6085 (init_syntax_once): Use ISALNUM.
6086 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6087 (REG_UNSET_VALUE): Remove. Use NULL instead.
6088 (REG_UNSET, re_match_2_internal): Use NULL.
6089 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6090 New macros.
6091 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6092 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6093 (regex_compile): In handle_interval, return an error rather than try to
6094 unfetch the interval if we can't find the closing brace.
6095 Obey the RE_NO_GNU_OPS syntax bit.
6096 (TOLOWER): New macro.
6097 (regcomp): Use it.
6098 (regexec): Allocate regs.start and regs.end as one block.
6099
5226a931
GM
61002000-08-30 Gerd Moellmann <gerd@gnu.org>
6101
868dd24b
GM
6102 * xdisp.c (echo_area_display): Check display_completed instead
6103 of calling detect_input_pending.
6104
6105 * dispnew.c (update_frame): Only set display_completed here; move
6106 the update_begin and update_end calls here from update_frame_1.
6107 (update_frame_1): Don't set display_completed here, don't call
6108 update_begin/update_end.
6109
5226a931
GM
6110 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6111 instead of store_frame_param.
6112
2a8bd25f
GM
61132000-08-29 Gerd Moellmann <gerd@gnu.org>
6114
6115 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6116 desired window matrix hasn't been displayed, use the current row
6117 instead. Make sure that only those frame rows are updated for
6118 which there exists a corresponding enabled desired row.
52283633 6119
ba3478d9
MB
61202000-08-29 Miles Bader <miles@gnu.org>
6121
6122 * xfaces.c (default_face_vector): New function.
6123 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6124
87d0f685
GM
61252000-08-29 Gerd Moellmann <gerd@gnu.org>
6126
6127 * lread.c (openp): Prevent temporary string passed to
6128 Ffile_readable_p from being garbage collected.
6129
6fa86045
DL
61302000-08-28 Dave Love <fx@gnu.org>
6131
6132 * keymap.c (store_in_keymap): Add `static' to declaration.
6133
bb17930d
GM
61342000-08-28 Gerd Moellmann <gerd@gnu.org>
6135
6136 * emacs.c, callint.c, doc.c, editfns.c
6137 (toplevel) [HAVE_STRING_H]: Include string.h.
6138 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6139 (index): Remove prototypes which might conflict with non-standard
6140 definitions of index/strchr.
6141
6142 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6143 (rindex): Define only if !HAVE_RINDEX.
6144
6145 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6146
6147 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6148
87188200
MB
61492000-08-28 Miles Bader <miles@gnu.org>
6150
6151 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6152 made inconsistent by a font-related attribute in FROM.
6153 (merge_face_inheritance): Add function comment.
6154
41a68aef
KH
61552000-08-28 Kenichi Handa <handa@etl.go.jp>
6156
6157 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6158 the 4th arg (PREV_EVENT) Qt to suppress input method.
6159
f7c436c1
SM
61602000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6161
0b32bf0e
SM
6162 * regex.c: Indent cpp directives and remove parens after `defined'.
6163 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6164 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6165 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6166 (re_compile_pattern): Use size_t for length.
6167 (init_syntax_once): Move to a better place.
6168 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6169 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6170
f7c436c1
SM
6171 * syntax.c (back_comment): Detect cases where a comment-starter is
6172 actually inside another comment as in: /* a // b */ c // d \n.
6173 Make it clear that `comstart_pos' is unused for nested comments.
6174
6175 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6176 (KEYMAPP): New macro.
6177 (Fkeymap_parent, Fset_keymap_parent): Use it.
6178 (fix_submap_inheritance): Mark it static.
6179 (define_as_prefix, describe_buffer_bindings, describe_command)
6180 (describe_translation, describe_map): Complete prototypes.
6181
6182 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6183
6184 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6185 to better match the key-lookup behavior.
6186
6288c62f
GM
61872000-08-27 Gerd Moellmann <gerd@gnu.org>
6188
6189 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6190 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6191
e931344e
EZ
61922000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6193
6194 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6195 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6196 (xterm.o): Depend on coding.h
6197
d10dfeef
KH
61982000-08-26 Kenichi Handa <handa@etl.go.jp>
6199
6200 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6201 the corresponding '#endif'.
6202
2d73e8d3
MB
62032000-08-26 Miles Bader <miles@gnu.org>
6204
6205 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6206 * xfaces.c (QCinherit): New variable.
6207 (syms_of_xfaces): Initialize it.
6208 (LFACE_INHERIT): New macro.
6209 (Finternal_get_lisp_face_attribute)
52283633 6210 (merge_face_vector_with_property)
2d73e8d3
MB
6211 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6212 (check_lface_attrs): Allow new types of face height. Check
6213 inherit attribute.
6214 (CYCLE_CHECK): New macro.
6215 (merge_face_inheritance): New function.
6216 (merge_face_vectors): Merge inherited faces too. Add F and
6217 CYCLE_CHECK arguments.
6218 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6219 (lookup_named_face, lookup_derived_face, realize_named_face)
6220 (face_at_string_position, face_at_buffer_position): Supply
6221 new F and CYCLE_CHECK arguments to merge_face_vectors.
6222 (merge_face_heights): New function.
52283633 6223 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6224 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6225 handle relative face heights.
6226 (lface_same_font_attributes_p): Compare heights using EQ.
6227
6ce974d4
KH
62282000-08-26 Kenichi Handa <handa@etl.go.jp>
6229
6230 * charset.c (char_to_string): Check the character validity.
52283633 6231 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6232
dc1e502d
SM
62332000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6234
6235 * regex.c (PUSH_FAILURE_COUNT): New macro.
6236 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6237 Handle popping of a register's or a counter's data.
6238 (POP_FAILURE_POINT): Use the new name.
6239 (re_match_2_internal): Push counter data on the stack for succeed_n,
6240 jump_n and set_number_at and remove misleading dead code in succeed_n.
6241
bd9d0f3f
GM
62422000-08-25 Gerd Moellmann <gerd@gnu.org>
6243
6244 * xdisp.c (redisplay_internal): If considering all windows on all
6245 frames, update the display for each frame as soon as possible,
6246 instead of first building all desired matrices for all frames, and
6247 then updating them all.
6248 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6249
aa5b8e15
GM
62502000-08-24 Gerd Moellmann <gerd@gnu.org>
6251
17494071
GM
6252 * bytecode.c (mark_byte_stack): Add a comment.
6253
52283633
SM
6254 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6255 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6256 a graphical frame.
6257
c543db81
KH
62582000-08-24 Kenichi Handa <handa@etl.go.jp>
6259
d246d5f5
KH
6260 * minibuf.c (do_completion): Always use compare-string, not
6261 string-equal because the latter doesn't pay attention to
6262 multibyteness of strings.
6263
c543db81
KH
6264 * process.c (create_process): Don't setup raw-text coding here.
6265 (Fopen_network_stream): Don't set coding->src_multibyte and
6266 coding->dst_multibyte here.
6267 (read_process_output): For process filter, return unibyte string
6268 if default-enable-multibyte-characters is nil.
6269 (send_process): If OBJECT is multibyte text, be sure to encoded it
6270 by the specified coding system for the process. Otherwise, setup
6271 raw-text coding.
52283633 6272 (init_process): Don't initialize default-process-coding-system here.
c543db81 6273
9b47cfe0
EZ
62742000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6275
6276 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6277 <scroll-down-aggressively>: Likewise.
6278
f5a36960
KH
62792000-08-23 Kenichi Handa <handa@etl.go.jp>
6280
6281 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6282 zero. Set coding->produced_char correctly.
6283
69a7ffa7
AI
62842000-08-22 Andrew Innes <andrewi@gnu.org>
6285
6286 * makefile.w32-in: New file.
6287
6288 * unexw32.c (unexec): Ignore old_name, and use the actual location
6289 of the current executable instead. Base new_name on this.
6290
6291 * w32proc.c (create_child): Remove reference to security
6292 descriptor, which isn't needed and doesn't compile with mingw32.
6293
6294 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6295 up dllimport attributes.
6296 (x_update_window_end): Update prototype.
6297
6298 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6299 extern, which screws up dllimport attributes.
6300
6301 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6302 up dllimport attributes.
6303
6304 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6305 screws up dllimport attributes.
6306
6307 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6308 up dllimport attributes.
6309 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6310 screws up dllimport attributes.
6311
6312 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6313 up dllimport attributes.
6314
6315 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6316 screws up dllimport attributes.
6317
6318 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6319 screws up dllimport attributes.
6320
6321 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6322 up dllimport attributes.
6323
6324 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6325 unnecessary extern, which screws up dllimport attributes.
6326 (main): Ditto.
6327
6328 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6329 up dllimport attributes.
6330
6331 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6332 unnecessary extern, which screws up dllimport attributes.
6333
6334 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6335 screws up dllimport attributes.
6336
6337 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6338 up dllimport attributes.
6339
6340 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6341
52283633
SM
6342 * w32bdf.c (search_file_line):
6343 (set_bdf_font_info):
6344 (seek_char):
6345 (w32_get_bdf_glyph):
69a7ffa7
AI
6346 (w32_BDF_to_x_font): Fix compile warnings.
6347
52283633 6348 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6349
6350 * w32select.c: Include keyboard.h before frame.h.
6351
6352 * w32fns.c (max): Define macro.
6353 (JOHAB_CHARSET): Define if not known.
6354 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6355 (Fx_show_tip): Synch with X version.
6356
6357 * w32xfns.c: Include keyboard.h before frame.h.
6358
6359 * w32fns.c: Include keyboard.h before frame.h.
6360
6361 * w32term.c: Include keyboard.h before frame.h.
6362
6363 * fontset.c: Include keyboard.h before frame.h.
6364
6365 * w32inevt.c: Include keyboard.h before frame.h.
6366 (MOUSE_MOVED): Define if not known.
6367
6368 * minibuf.c: Include keyboard.h before frame.h.
6369
6370 * keyboard.c: Include keyboard.h before frame.h.
6371
6372 * indent.c: Include keyboard.h before frame.h.
6373
6374 * dispnew.c: Include keyboard.h before frame.h.
6375
6376 * buffer.c: Include keyboard.h before frame.h.
6377
6378 * alloc.c: Include keyboard.h before frame.h.
6379
6380 * print.c: Include keyboard.h before frame.h.
6381
6382 * process.c: Include keyboard.h before frame.h.
6383
6384 * scroll.c: Include keyboard.h before frame.h.
6385
6386 * sysdep.c: Include keyboard.h before frame.h.
6387
6388 * term.c: Include keyboard.h before frame.h.
6389
6390 * window.c: Include keyboard.h before frame.h.
6391
6392 * xdisp.c: Include keyboard.h before frame.h.
6393 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6394
6395 * frame.c: Include keyboard.h before frame.h.
6396
6397 * w32heap.h: Undefine min, max.
6398
6399 * w32gui.h: Undefine min, max.
6400
6401 * unexw32.c: Change PUCHAR to PCHAR.
6402 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6403 (relocate_offset):
6404 (get_section_info):
69a7ffa7
AI
6405 (copy_executable_and_dump_data): Remove unnecessary static defs.
6406 (copy_executable_and_dump_data): Fix compile warnings.
6407
6408 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6409
6410 * w32console.c (min): Define macro.
6411 (clear_frame, write_glyphs): Fix compile warning.
6412
52283633 6413 * w32proc.c (compare_env):
69a7ffa7
AI
6414 (find_child_console): Fix compile warning.
6415
6416 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6417 sys_errlist instead of _sys_errlist.
6418 (get_emacs_configuration_options): New function.
6419
6420 * s/ms-w32.h (sys_nerr): Provide default definition.
6421 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6422 name with _ prepended.
6423 (NSIG): Define if not known.
6424 (get_emacs_configuration): Provide extern declaration.
6425 (get_emacs_configuration_options): Provide extern declaration.
6426 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6427
6428 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6429 (map_w32_filename):
69a7ffa7
AI
6430 (read_unc_volume): Fix compile warning.
6431
6432 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6433 definitions from being used.
6434
6435 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6436
52283633 6437 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6438 (open_unc_volume): Make arg const.
6439
6440 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6441 (read_input_waiting): Remove excess parameter.
6442
6443 * w32.c (init_environment): Call _access.
6444 (check_windows_init_file): Call _close.
6445 (init_user_info): Call _putenv.
6446 (init_environment): Call _putenv and _strdup.
6447 (init_ntproc): Reset volume info cache on startup.
6448
6449 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6450 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6451 cannot override the CRT malloc.
6452
6453 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6454 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6455
6456 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6457 unless we are linking with a static CRT.
6458 (RVA_TO_PTR): Cast result to unsigned char*.
6459
6460 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6461 (add_volume_info): Use xstrdup.
6462
25060080
SM
64632000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6464
6465 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6466 (do_completion, Fminibuffer_complete_word): Use it.
6467 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6468 var so it can take non-boolean values.
6469
6917e6bb
GM
64702000-08-21 Gerd Moellmann <gerd@gnu.org>
6471
acb7cc89 6472 * editfns.c (find_field): Formatting changes.
52283633 6473 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6474 changed to prototypes, some new protypes added, some functions
6475 made static.
6476
6477 * lisp.h (set_time_zone_rule): Add prototype.
6478 (use_dialog_box): External declaration.
6479
0bbfdc25
GM
6480 * keyboard.c (gen_help_event): Add parameter SIZE.
6481 (kbd_buffer_events_waiting): Slightly rewritten.
6482 (clear_event): New function.
6483 (kbd_buffer_get_event): Use it, and clear the input_events of
6484 HELP_EVENTs.
6485 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6486 don't fill the newly created array with nils.
6487 (toplevel): Convert some old-style function forward declarations
6488 to prototypes.
6489
6490 * keyboard.h (gen_help_event): Change prototype.
6491
6492 * xterm.c (XTread_socket): Change calls to gen_help_event.
6493
6494 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6495
6917e6bb
GM
6496 * eval.c (Fmacroexpand): Doc fix.
6497
e5cd3d11
JR
64982000-08-20 Jason Rumney <jasonr@gnu.org>
6499
6500 * w32term.h (x_display_info_for_display): Remove as this function
6501 does not exist on W32.
6502
6503 * w32term.c (help_echo_window): New variable.
6504 (syms_of_w32term): staticpro it.
6505 (note_mode_line_highlight): Set it.
6506 (XTextExtents16): Removed as there is no equivalent on W32.
6507 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6508 the X way of doing this will not work for W32.
6509 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6510 (x_draw_image_foreground): Avoid drawing outside of the clip area
6511 when image doesn't have a mask.
6512 (note_mouse_highlight): Process overlays in the right order of
6513 priority. Set help_echo_window.
6514 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6515 because that's more visible for large images.
6516
6517 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6518 name to single_keymap_panes.
6519 (w32_menu_show): Set wv->title when dealing with titles.
6520 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6521
6e69ab8c
MB
65222000-08-21 Miles Bader <miles@gnu.org>
6523
6524 * minibuf.c (do_completion): Try again if we rewrite the input
6525 string, but no completion was done, so that any completion message
6526 will be correct.
6527
511bd4eb
GM
65282000-08-20 Gerd Moellmann <gerd@gnu.org>
6529
6530 * xfaces.c (lface_equal_p): Compare strings differently.
6531 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6532 (realize_tty_face): Use them.
6533 (syms_of_xfaces): Initialize new variables.
6534 (map_tty_color): New function, extracted from realize_tty_face.
6535 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6536 foreground or background color, store the new color name in the
6537 realized face; previous code trying to do this had no effect.
6538 (realize_tty_face): Use map_tty_color.
6539 (Fclear_face_cache): Set face_change_count and ensure thorough
6540 redisplay.
6541
1433385f
GM
65422000-08-19 Gerd Moellmann <gerd@gnu.org>
6543
511bd4eb
GM
6544 * undo.c (record_first_change, record_marker_adjustment): Don't
6545 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6546
419ac0a2
KH
65472000-08-18 Kenichi Handa <handa@etl.go.jp>
6548
6549 * coding.c (decode_coding_string): Set members consumed,
6550 consumed_char, produced, produced_char of *coding correctly. If
6551 decode_coding doesn't consume any byte, don't try anymore.
6552 (encode_coding_string): Likewise.
6553
7eb9e30d
GM
65542000-08-18 Gerd Moellmann <gerd@gnu.org>
6555
511bd4eb
GM
6556 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6557 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6558
6559 * xdisp.c (redisplay_internal): Compare windows for equality with
6560 EQ, instead of applying XWINDOW to something that might not
6561 be a window.
52283633 6562
dd34a735
KH
65632000-08-18 Kenichi Handa <handa@etl.go.jp>
6564
6565 * fontset.c (Finternal_char_font): Search only the selected frame
6566 for a window of the current buffer.
6567
385ff9e3
GM
65682000-08-18 Gerd Moellmann <gerd@gnu.org>
6569
511bd4eb 6570 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6571 Lisp_Objects.
6572
385ff9e3
GM
6573 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6574 second half of a HELP_EVENT is found at the start of kbd_buffer.
6575
d6abb4c7
MB
65762000-08-18 Miles Bader <miles@gnu.org>
6577
4618074a
MB
6578 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6579
d6abb4c7
MB
6580 * editfns.c (save_restriction_save): Rewrite to use markers.
6581 (save_restriction_restore): Rewrite to understand new form of data
6582 saved by save_restriction_save.
6583 (Fsave_restriction): Remove cautionary note in doc-string.
6584
a7b28523
GM
65852000-08-17 Gerd Moellmann <gerd@gnu.org>
6586
6587 * fileio.c (build_annotations): Add a comment explaining the
6588 return value of format-annotate-function. Replace a spurious call
6589 to Flength with a CONSP test. Call format-annotate-function with
6590 a fifth arg specifying how many times the function is been called
6591 in a row, to let it choose temporary buffers appropriately.
6592
03c9ed77
DL
65932000-08-17 Dave Love <fx@gnu.org>
6594
6595 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6596 declare make_temp_name twice.
6597
52283633 6598 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6599 (unreadpure): Give it an arg.
6600
6601 * unexalpha.c: Prototype fatal_unexec, mark_x,
6602 update_dynamic_symbols. Declare unexec as void.
6603
6604 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6605 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6606
6607 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6608 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6609
6610 * alloca.c: Use #error.
6611 [POINTER_TYPE]: Use it.
6612
6613 * eval.c (Fdefvar): Doc fix.
6614
6615 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6616 INITIALIZE_INTERVAL.
6617
6618 * buffer.h: Avoid DECLARE_INTERVALS.
6619
6620 * config.in: Add size_t.
6621
aae41d97
EZ
66222000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6623
6624 * w16select.c (set_clipboard_data): If there's not enough memory
6625 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6626 expects. In case of other failures, return 3.
6627 (system_error_msg): New error message.
6628 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6629 system_error_msg.
6630
65aa5e85
GM
66312000-08-16 Gerd Moellmann <gerd@gnu.org>
6632
6633 * term.c (write_glyphs): Also turn off inverse video after turning
6634 off other appearances in case TS_exit_attribute_mode is not equal
6635 to TS_end_standout_mode.
6636 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6637 with the same face.
6638 (turn_off_face): Reset standout_mode only if
6639 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6640 is equal to TS_end_standout_mode.
6641
ece23901
KH
66422000-08-16 Kenichi Handa <handa@etl.go.jp>
6643
9d7bcb2e
KH
6644 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6645 sequence at the end of the source block.
6646
ece23901
KH
6647 * ccl.c (Fccl_program_p): Docstring modified.
6648 (Fccl_execute): Likewise.
6649 (Fccl_execute_on_string): Likewise.
6650
5e30eaa2
EZ
66512000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6652
6653 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6654
290602fd
KH
66552000-08-16 Kenichi Handa <handa@etl.go.jp>
6656
6657 The following changes are mainly to fix bugs of
6658 encode/decode-coding-string failing if encoding/decoding return
6659 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6660 variable conversion_buffer.
6661
6662 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6663 decrement dst_end to avoid buffer overflow in the later call of
6664 string_as_multibyte
6665
6666 * coding.h (conversion_buffer_size, conversion_buffer)
6667 (get_conversion_buffer): Extern deleted.
6668
6669 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6670 (conversion_buffer, conversion_buffer_size): Variables deleted.
6671 (get_conversion_buffer): Function deleted.
6672 (struct conversion_buffer): New structure.
6673 (MAX_ALLOCA): New macro.
6674 (allocate_conversion_buffer): New macro.
6675 (extend_conversion_buffer, free_conversion_buffer): New functions.
6676 (ccl_coding_driver): Set coding->result.
6677 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6678 this is the last block of source.
6679 (encode_coding): Likewise. Handle the source block as the last
6680 one only when the whole source text is consumed.
6681 (decode_coding_string): Handle the case that the output buffer is
6682 too small to decode the whole source text. Use
6683 allocate_conversion_buffer, extend_conversion_buffer and
6684 free_conversion_buffer, not get_conversion_buffer.
6685 (encode_coding_string): Likewise.
6686 (init_coding): Function deleted.
52283633 6687 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6688
6689 * emacs.c (main): Don't call init_coding.
6690
52283633 6691 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6692
6693 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6694 (insert_glyphs): Likewise.
6695
6696 * w32console.c (write_glyphs): Use a locally declared
6697 conversion_buffer.
6698
b9f80d41
EZ
66992000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6700
6701 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6702 member of display_info is NULL.
6703
32dc52f7
GM
67042000-08-15 Gerd Moellmann <gerd@gnu.org>
6705
52283633 6706 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6707
32dc52f7 6708 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6709 appearances with capability `me'.
32dc52f7
GM
6710 (write_glyphs): Switch on inverse video before each face change.
6711
4eb22d33
DL
67122000-08-14 Dave Love <fx@gnu.org>
6713
6714 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6715 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6716 (lisp_free): Declare and make static.
6717
6718 * window.c: Fix embedded comment.
6719 (syms_of_window): Fix doc string.
6720
90cbf47e
GM
67212000-08-14 Gerd Moellmann <gerd@gnu.org>
6722
52283633 6723 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6724 make sure to print `C-' before `M-', like in the manual.
6725
440fc135
GM
67262000-08-11 Gerd Moellmann <gerd@gnu.org>
6727
6728 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6729 since they aren't relocated anymore.
52283633 6730 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6731
6732 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6733 partially visible line which is smaller than the window's height.
440fc135 6734
6e264fad
KH
67352000-08-11 Kenichi Handa <handa@etl.go.jp>
6736
6737 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6738 the multibyte form of eight-bit-control characters.
6e264fad
KH
6739 (Fccl_execute_on_string): Initialize ccl->multibyte.
6740
6741 * ccl.h (struct ccl_program): New member multibyte.
6742
6743 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6744
c371f69a
KH
67452000-08-11 Kenichi Handa <handa@etl.go.jp>
6746
6747 * regex.c (regex_compile) <normal_char>: Pay attention to
6748 multibyteness.
6749 (analyse_first) <exactn>: Setup fastmap correctly for
6750 eight-bit-control characters.
6751
67522000-08-11 Kenichi Handa <handa@etl.go.jp>
6753
52283633 6754 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6755
6756 * keyboard.c (make_lispy_event): Handle the new event type
6757 multibyte_char_keystroke.
6758
6759 * xterm.c: Include coding.h.
6760 (XTread_socket): Work around a bug of XmbLookupString. If the
6761 input is from XIM, decode it according to the current locale. In
6762 that case, generate multibyte_char_keystroke events.
6763
b8ddbe71
KH
67642000-08-11 Kenichi Handa <handa@etl.go.jp>
6765
6766 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6767 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6768
47589c8c
GM
67692000-08-10 Gerd Moellmann <gerd@gnu.org>
6770
6771 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6772 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6773 (move_it_in_display_line_to): Record iterator's ascent and descent
6774 before producing glyphs, and restore them when we know the glyph
6775 doesn't fit on the line.
6776 (move_it_to): Restructured so that it's easier to debug. If
6777 moving to a vpos, and not moving to an x or character position,
6778 stop as soon as the specified vpos is reached; don't move further
6779 into that line because that might change the computed line height.
6780 (try_cursor_movement): New function, extracted from the cursor
6781 movement branch of redisplay_window. If ending on a partially
6782 visible line, don't try to scroll if the cursor line is taller
6783 than the window.
6784 (redisplay_window): Use try_cursor_movement.
6785
6786 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6787 because that function doesn't cope with variable-height lines.
6788
6789 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6790 box cursor because that's better visible for large images.
52283633 6791
c51bacd6
MB
67922000-08-10 Miles Bader <miles@gnu.org>
6793
6794 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6795
bea56df7
GM
67962000-08-10 Gerd Moellmann <gerd@gnu.org>
6797
6798 * xdisp.c (Vmessages_buffer_name): New variable.
6799 (message_dolog): Use it.
6800 (syms_of_xdisp): Initialize it.
6801
99cd7364
EZ
68022000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6803
52283633 6804 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6805 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6806 redundant now that keyboard.h is included.
6807
7d093d56
EZ
68082000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6809
6810 * keyboard.c (kbd_buffer_events_waiting): New function.
6811
6812 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6813
6814 * msdos.c: Include keyboard.h.
6815 (XMenuActivate): Empty no_event events from the event buffer. If
6816 no events are left after that, call clear_input_pending.
6817 (mouse_clear_clicks): New function, code moved from mouse_init.
6818 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6819 mouse driver to ``forget'' any past clicks.
6820
6821 * Makefile.in (msdos.o): Depend on keyboard.h.
6822
41e757a6
GM
68232000-08-09 Gerd Moellmann <gerd@gnu.org>
6824
8e7bd231
GM
6825 * lisp.h (input_pending): External declaration.
6826
6827 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6828
8e7bd231
GM
6829 * xdisp.c (echo_area_display): Display thoroughly if input is
6830 pending. Bind redisplay-dont-pause to t during the redisplay.
6831 in case input is pending.
6832
6833 * dispnew.c (Qredisplay_dont_pause): New variable.
6834 (syms_of_display): Initialize and staticpro it.
6835 (update_frame_1): Don't interrupt the display for pending input if
6836 redisplay_dont_pause is set.
52283633 6837
43028b7e
GM
6838 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6839
41e757a6
GM
6840 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6841
2f2174fa
KH
68422000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6843
6844 * callproc.c (Fcall_process): Terminate the unwind-protect around
6845 the post-read-conversion of coding system.
6846
0a6fd67e
MB
6847 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6848 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6849 * buffer.h (overlays_at): Update prototype.
6850 * xdisp.c (next_overlay_change): Update call to overlays_at.
6851 * xfaces.c (face_at_buffer_position): Likewise.
6852 * textprop.c (Fget_char_property): Likewise.
6853 * xterm.c (note_mouse_highlight): Likewise.
6854
0c80756e
MB
6855 * minibuf.c (do_completion): Don't consider a simple change of
6856 case as `completion'.
6857
975f250a
KR
68582000-08-08 Ken Raeburn <raeburn@gnu.org>
6859
52283633 6860 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6861 * undo.c (record_delete): Make sure last_point_position_buffer is
6862 a buffer before comparing pointers.
6863
6864 * coding.h (decode_coding_string): Declare.
6865
6866 * intervals.h (Fprevious_single_char_property_change): Declare.
6867
6868 * textprop.c (Fprevious_single_char_property_change): Don't do
6869 arithmetic directly on lisp objects.
6870
52283633 6871 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6872
6873 * keyboard.h (menu_item_eval_property): Declare.
6874
6875 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6876 reuse as buffer name, instead of recreating (and discarding) every
6877 time a message is logged.
6878 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6879 (current_message_1, truncate_message_1, set_message_1)
6880 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6881 (current_message, truncate_echo_area, display_echo_area)
6882 (resize_echo_area_axactly): Changed calls.
b347b3fd 6883
975f250a 6884 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6885 Lisp object.
975f250a 6886 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6887 must be an integer, not a Lisp object.
975f250a 6888
46dc9912
KH
68892000-08-08 Kenichi Handa <handa@etl.go.jp>
6890
6891 * charset.c (Fchar_width): Doc fix.
6892
9f6d1a6c
GM
68932000-08-08 Gerd Moellmann <gerd@gnu.org>
6894
6895 * charset.c (Fstring_width): Doc fix.
6896
ff3d9573
GM
68972000-08-07 Gerd Moellmann <gerd@gnu.org>
6898
41e757a6 6899 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6900 line, clear ascent and descent members of the iterator structure;
6901 the height of the continued line does not affect the height of the
6902 continuation line.
6903 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6904 line taller than the window.
6905 (redisplay_window) <forced window start>: Handle case that the
6906 middle of the window is not found in any row.
6907 (dump_glyph_row): Show more information.
6908 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6909 first text line in a glyph matrix.
6910
6911 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6912 of the clip area when image doesn't have a mask.
6913
70fc58b3
GM
6914 * fns.c (sweep_weak_table): Fix survival conditions for
6915 key-or-value and key-and-value weakness.
6916
6917 * .gdbinit (xhashtable): New command.
6918
ac0e96ee
GM
6919 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6920 tables out of the list of all weak hash tables.
6921
ff3d9573
GM
6922 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6923 a new buffer is created, make sure echo_area_buffer[] references
6924 the new buffer.
6925
e0d8827b
EZ
69262000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6927
6928 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6929 the doc string.
6930
c6f35378
KH
69312000-08-07 Kenichi Handa <handa@etl.go.jp>
6932
6933 * syntax.c (skip_chars): Fix previous change. Make the handling
6934 of unibyte string consistent with that of regex search.
6935
1fd4c450
GM
69362000-08-05 Gerd Moellmann <gerd@gnu.org>
6937
e49aa397
GM
6938 * xmenu.c (popup_get_selection): Use xfree instead of free.
6939
6940 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6941
6942 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6943
6944 * callproc.c (child_setup): Use xfree instead of free.
6945
6946 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6947 instead of malloc.
6948 (run_mac_command, closedir): Use `xfree' instead of `free'.
6949
6950 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6951
6952 * eval.c (error): Use xfree instead of free.
6953
1fd4c450
GM
6954 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6955
6956 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6957 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6958
82d497fc
KH
69592000-08-05 Kenichi Handa <handa@etl.go.jp>
6960
6961 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6962 conversion.
6963
59f953a2
NF
69642000-08-04 Noah Friedman <friedman@splode.com>
6965
6966 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6967 docstring.
6968
688351f2
GM
69692000-08-04 Gerd Moellmann <gerd@gnu.org>
6970
6971 * syntax.c (skip_chars): Fix typo in error message.
6972
2dad51cc
AS
69732000-08-04 Andreas Schwab <schwab@suse.de>
6974
6975 * m/ia64.h: Moved from s/ia64.h.
6976
99bb2c60
KH
69772000-08-04 Kenichi Handa <handa@etl.go.jp>
6978
082a1df2
KH
6979 * process.c (read_process_output): Big simplification. Handle
6980 composition and post-read-conversion of coding system correctly.
6981 (send_process): Handle composition correctly.
6982
6983 * callproc.c (Fcall_process): Handle post-read-conversion of
6984 coding system if any.
6985
99bb2c60
KH
6986 * coding.c (decode_coding_iso2022): More strict check for handling
6987 single shifting.
082a1df2
KH
6988 (coding_restore_composition): Pay attention to the case that
6989 cmp_data is not set properly (because of invalid code in the
6990 source text).
6991 (run_pre_post_conversion_on_str): Include text properties in the
6992 resulting string.
6993 (decode_coding_string): Set members of coding correctly.
99bb2c60 6994
f4988be7
GM
69952000-08-03 Gerd Moellmann <gerd@gnu.org>
6996
6997 * s/ia64.h: New file.
6998
6999 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7000 Use NULL instead of 0 at the end of variable argument list of
7001 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7002 sizeof (int) < sizeof (void *).
7003
7004 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7005 of variable argument lists of XtVaGetValues and XtVaSetValues.
7006
7007 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7008 variable argument lists of XtVaGetValues and XtVaSetValues.
7009
ead53494
GM
70102000-08-02 Gerd Moellmann <gerd@gnu.org>
7011
7012 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7013 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7014
7015 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7016 prototype.
7017
7018 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7019 in call to Fsingle_key_description.
7020
7021 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7022 Callers changed.
7023
70242000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7025
7026 * window.c (display_buffer_reuse_frames): New variable.
7027 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7028 frames displaying BUFFER.
52283633 7029 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7030
10b0f752
MB
70312000-08-01 Miles Bader <miles@gnu.org>
7032
7033 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7034 when to constrain NEW_POS (they were pretty screwed up before).
7035
16425c4a
EZ
70362000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7037
7038 * msdos.c (run_msdos_command): Save and restore the master
7039 environment, for the case that child_setup signals an error.
7040 When mirroring slashes in DOS shell commands, don't fail when
7041 argv[2] has embedded blanks.
da288c14
EZ
7042 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7043 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7044 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7045
7046 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7047 using alloca; free it after run_msdos_command returns.
7048
27f73852
DL
70492000-07-27 Dave Love <fx@gnu.org>
7050
52283633
SM
7051 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7052 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7053
7054 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7055
c0261b5e
EZ
70562000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7057
7058 * editfns.c (lisp_time_argument): Fix last change.
7059
b548072f
GM
70602000-07-27 Gerd Moellmann <gerd@gnu.org>
7061
3ab82477
GM
7062 * fns.c (Fdelete): Make it work on vectors and strings in addition
7063 to lists.
7064
b548072f
GM
7065 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7066 (syms_of_fns): Initialize new variables.
52283633 7067 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7068 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7069 weakness, with t meaning the same as `key-and-value'.
7070
91ae8751
KH
70712000-07-27 Kenichi Handa <handa@etl.go.jp>
7072
7073 * coding.h (struct coding_system): Member safe_charset deleted.
7074
7075 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7076 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7077 New variables.
91ae8751
KH
7078 (coding_safe_chars): New function.
7079 (CODING_SAFE_CHAR_P): New macro.
7080 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7081 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7082 (detect_coding_iso2022): New local variable safe_chars.
7083 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7084 safe_charsets member of the coding system.
7085 (decode_coding_iso2022): New local variable safe_chars.
7086 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7087 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7088 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7089 (ENCODE_UNSAFE_CHARACTER): New macro.
7090 (encode_coding_iso2022): New local variable safe_chars. Check
7091 unsafe chars.
7092 (setup_coding_system): Delete the code to initialize
7093 coding->safe_charses
7094 (intersection, find_safe_codings): New functions.
7095 (Ffind_coding_systems_region_internal): New function.
7096 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7097 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7098 variable and initialize it.
7099
7100 * fns.c (char_table_ref_and_index): New function.
7101
7102 * lisp.h (char_table_ref_and_index): Add prototype.
7103
34a7a267
SS
71042000-07-26 Sam Steingold <sds@gnu.org>
7105
7106 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7107 (Ffloat_time): New built-in Lisp function.
34a7a267 7108
a95cb10a
GM
71092000-07-26 Gerd Moellmann <gerd@gnu.org>
7110
3353ef5a
GM
7111 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7112 for the character code.
7113
7114 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7115 GNU/Linux.
7116
a95cb10a
GM
7117 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7118 if called for a popup menu.
7119 (xmenu_show): Store help string in widget values.
7120
b4a12321
DL
71212000-07-26 Dave Love <fx@gnu.org>
7122
7123 * syswait.h: Move some definitions.
7124 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7125 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7126 perspicuous definitions.
7127 (WTERMSIG): Fix bit pattern used.
7128
13f5ad37
KH
71292000-07-26 Kenichi Handa <handa@etl.go.jp>
7130
7131 * print.c (print_object): If vector printing is truncated, print
7132 "..." to indicate it as well as the case of list printing.
7133
070fe99c
GM
71342000-07-25 Gerd Moellmann <gerd@gnu.org>
7135
969065c3
GM
7136 * xdisp.c (next_element_from_display_vector): Improve comments.
7137
7138 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7139 for the character code, and the rest for the face id as in 20.x.
7140 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7141
7142 * window.c (window_display_table): Cleaned up.
7143
070fe99c
GM
7144 * syntax.c (Fforward_word): Add last arg nil in call of
7145 Fconstrain_to_field.
7146
bad77ef7
EZ
71472000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7148
969065c3 7149 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7150 identical but for the letter-case, don't call
7151 barf_or_query_if_file_exists.
bad77ef7 7152
c28da489
MB
71532000-07-25 Miles Bader <miles@gnu.org>
7154
7155 * editfns.c (find_field): Honor special `boundary' fields.
7156 (Qboundary): New variables.
7157 (syms_of_editfns): Initialize Qboundary.
7158 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7159 Use scan_buffer instead of find_before_next_newline, because it
7160 allows us to detect the boundary case where there's a newline at
7161 the search limit.
7162 * lisp.h (Fconstrain_to_field): Update external declaration.
7163
e3c31fd5
GM
71642000-07-24 Gerd Moellmann <gerd@gnu.org>
7165
7166 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7167 if that is nil.
c28da489 7168
c66c29a2
DL
71692000-07-24 Dave Love <fx@gnu.org>
7170
7171 * s/sunos4-0.h, s/sol2.h:
7172 (LIBS_TERMCAP): Move from m/sparc.h.
7173
7174 * m/sparc.h (TERMINFO): Moved to system files (probably only
7175 relevant for sunos4 judging by its vintage).
7176 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7177 __arch64__.
7178
fbe0a958
EZ
71792000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7180
7181 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7182 name to single_keymap_panes.
7183
7d88e5c9
AS
71842000-07-24 Andreas Schwab <schwab@suse.de>
7185
7186 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7187
e024b101
GM
71882000-07-24 Gerd Moellmann <gerd@gnu.org>
7189
7190 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7191 parameters instead of using int parameters. Expect FN to accept
7192 EMACS_INT parameters.
7193 (display_echo_area, resize_echo_area_axactly, current_message)
7194 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7195 with new argument list.
7196 (resize_mini_window_1): New callback function.
7197 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7198 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7199
25c1a9ce
KH
72002000-07-24 Kenichi Handa <handa@etl.go.jp>
7201
7202 * fontset.c (fontset_ref): Remove INLINE declaration.
7203 (fontset_ref_via_base): Likewise.
7204 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7205 to downcase.
7206
7f987ac0
EZ
72072000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7208
7209 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7210 correct order of priority. If help echo was found in an overlay,
7211 use that overlay as the object in which the help echo was found.
7212
e2db3069
MB
72132000-07-22 Miles Bader <miles@gnu.org>
7214
7215 * textprop.c (Fprevious_single_char_property_change): The initial
7216 property value should be from the position preceding POSITION, not
7217 following it.
7218
5e3203e4
EZ
72192000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7220
7221 * coding.c (syms_of_coding): Doc fix for
7222 inhibit-iso-escape-detection.
7223
62145073
GM
72242000-07-21 Gerd Moellmann <gerd@gnu.org>
7225
c20aeb83
GM
7226 * xterm.c (note_mouse_highlight): Process overlays in the right
7227 order of priority.
34a7a267 7228
743934db
GM
7229 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7230
7231 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7232 overlay, use that overlay as the object in which the help was found.
743934db 7233
d1dc7e43 7234 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7235
62145073
GM
7236 * window.c (foreach_window): Instead of a fake variable argument
7237 list, take one USER_DATA argument.
7238 (foreach_window_1): Likewise, and call callback functions with two
7239 args, the window and USER_DATA.
7240 (struct check_window_data): New struct.
7241 (check_window_containing): Use it.
7242 (window_from_coordinates): Set up a struct check_window_data for
7243 foreach_window.
7244 (add_window_to_list, freeze_window_start): Change parameters
7245 according to new calling convention.
7246
7247 * window.h (foreach_window): Change prototype.
7248
7249 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7250
72512000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7252
7253 * xmenu.c (menu_help_callback): Call show_help_echo with
7254 additional arguments OBJECT and POS.
7255
11270583
KH
72562000-07-21 Kenichi Handa <handa@etl.go.jp>
7257
07b14857
KH
7258 * data.c (Faset): Allow storing any multibyte character in a
7259 string. Convert unibyte string to multibyte if necessary.
7260
11270583
KH
7261 * xfns.c (x_encode_text): New function.
7262 (x_set_name): Use x_encode_text.
7263 (x_set_title): Likewise.
7264
7265 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7266
7267 * xterm.h (x_encode_text): Add prototype.
7268
bc75b4fd
DL
72692000-07-20 Dave Love <fx@gnu.org>
7270
7271 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7272 xfree, not free.
7273
48c14970
EZ
72742000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7275
7276 * msdos.c (help_echo_window): New variable.
7277 (syms_of_msdos): Initialize and staticpro it.
7278 (IT_note_mode_line_highlight): Set help_echo_window.
7279 (IT_note_mouse_highlight): Ditto.
7280 (dos_rawgetc): Store help_echo_window in the second event produced
7281 for HELP_EVENTs.
7282
7283 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7284 Record the object that generated the help echo and the position of
7285 that object in help_echo_object and help_echo_pos. Record that
7286 some glyphs in a row are displayed in mouse-face.
7287 (IT_update_begin): Don't clear mouse highlight unless one of the
7288 enabled glyph rows is marked as being displayed in mouse-face.
7289 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7290 and position recorded in help_echo_object and help_echo_pos to the
7291 event queue.
7292 (IT_menu_display): Accept a new argument PN: the pane number of
7293 the current menu pane. Record the pane number and the item
7294 number of the item which has associated help string.
7295 (XMenuActivate): Update the prototype for help_callback in
7296 function declaration. Call IT_menu_display with the current menu
7297 pane number as an additional argument. Call help_callback with
7298 two additional arguments: the pane number and the item number of
7299 the menu item associated with the help text.
7300 (help_echo_object, help_echo_pos): New variables.
7301 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7302
7303 * msdos.h (XMenuActivate): Update prototype.
7304
4279296d
GM
73052000-07-19 Gerd Moellmann <gerd@gnu.org>
7306
47db06aa
GM
7307 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7308 Add some more prototypes.
7309
7310 * xterm.c, xterm.h: Add some more prototypes.
7311
7312 * lisp.h (Fnext_single_char_property_change): Add prototype.
7313
7314 * dispnew.c (direct_output_for_insert): Remove confusing
7315 outer local variable mouse_face_overwritten_p.
7316 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7317
4279296d
GM
7318 * alloc.c (allocate_string_data): Don't copy old string contents.
7319
670acd62
KH
73202000-07-19 Kenichi Handa <handa@etl.go.jp>
7321
7322 * coding.c (code_convert_region): Delete text properties before
7323 shrinking the conversion region.
7324
7cea38bc
GM
73252000-07-18 Gerd Moellmann <gerd@gnu.org>
7326
dc1cac59
GM
7327 * dispnew.c (update_text_area): Write the whole row if it
7328 has mouse-face in it.
7329
85a8aca9
GM
7330 * xfaces.c (face-alternative-font-family-alist): Remove
7331 DEFVAR_LISP; staticpro instead.
7332
34a7a267 7333 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7334 new arguments.
7335
7336 * keyboard.c (show_help_echo): Add parameter WINDOW.
7337 (read_char): Call show_help_echo with window extracted from Lisp
7338 help event.
7339 (gen_help_event): Add parameter WINDOW.
7340
7341 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7342
7343 * xterm.c (help_echo_window): New variable.
52283633 7344 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7345 (XTread_socket): Pass help_echo_window to gen_help_event.
7346 (syms_of_xterm): Initialize and staticpro help_echo_window.
7347
f8276b77
DL
73482000-07-18 Dave Love <fx@gnu.org>
7349
52283633 7350 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7351
088831a6
GM
73522000-07-18 Gerd Moellmann <gerd@gnu.org>
7353
3d6cd763
GM
7354 * alloc.c (allocate_string_data): If string had already data
7355 assigned, copy old contents to new string data.
7356
7357 * coding.c (syms_of_coding): Fix typo in spelling of variable
7358 `inhibit-iso-escape-detection'.
7359
088831a6
GM
7360 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7361
7362 * Makefile.in: Add dependencies on dispextern.h.
7363 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7364 `free'; both can conflict with system header files.
7365
bc8a8d55
KH
73662000-07-18 Kenichi Handa <handa@etl.go.jp>
7367
7368 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7369 undefined.
7370
069f5950
DL
73712000-07-18 Dave Love <fx@gnu.org>
7372
7373 * window.c (Fwindow_list): Declare arg `window'.
7374
aa96c820
KH
73752000-07-18 Kenichi Handa <handa@etl.go.jp>
7376
7377 * coding.c (setup_coding_system): Don't override the explicitly
7378 specified designations.
7379
06be8d32
MB
73802000-07-15 Miles Bader <miles@gnu.org>
7381
7382 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7383 from `text_property_eq' and `text_property_stickiness', respectively.
7384 (find_field, Fconstrain_to_field, char_property_eq)
7385 (char_property_stickiness): Changed to call char-property functions
7386 instead of text-property-only ones.
7387
7388 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7389 `next_single_char_property_change'). Do more error checking, and
7390 cleanup limit behavior.
7391 (Fprevious_single_char_property_change): New function.
7392 (syms_of_textprop): Initialize new subrs.
7393
7394 * xdisp.c (display_prop_end, invisible_text_between_p):
7395 Call Fnext_single_char_property_change instead of
7396 next_single_char_property_change.
7397
3fddcdc3
JR
73982000-07-15 Jason Rumney <jasonr@gnu.org>
7399
7400 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7401 after menu is finished with.
7402 (add_menu_item): Only consider wv->title as a menu title.
7403 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7404
7405 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7406 null title.
7407 (FONT_REGEXP): Remove unused macro, and its sub-components.
7408 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7409
7410 * w32term.c (help_echo_object, help_echo_pos): New variables.
7411 (note_mode_line_highlight): Store additional information about the
7412 help-echo in help_echo_object and help_echo_pos. Check both
7413 `local-map' and `keymap' properties for changing the cursor
7414 (note_mouse_highlight): Store additional information about the
7415 help-echo in help_echo_object and help_echo_pos.
7416 (note_tool_bar_highlight): Set help_echo_object to nil and
7417 help_echo_pos to -1.
7418 (w32_read_socket): Use gen_help_event instead of filling
7419 input_events manually.
7420 (syms_of_w32term): Staticpro help_echo_object.
7421 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7422 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7423 (x_clear_mouse_face): New function.
7424 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7425 (x_update_window_begin): No need to turn off the mouse
7426 highlight here.
7427 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7428 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7429 (x_fill_stretch_glyph_string): Consume runs of stretch
7430 glyphs instead of a single one.
7431 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7432 with new argument list.
7433 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7434 (x_append_glyph, x_append_composite_glyph)
7435 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7436 changes in struct glyph starting 1999-12-27. See comments for
7437 xterm.c on 2000-07-05.
7438
178c5d9c
SS
74392000-07-14 Sam Steingold <sds@gnu.org>
7440
7441 * xfaces.c (realize_x_face): Fix the last patch:
7442 check `default_face' before dereferencing.
7443
6fe533f6
DL
74442000-07-14 Dave Love <fx@gnu.org>
7445
069f5950 7446 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7447
dd7b81cf
KH
74482000-07-14 Kenichi Handa <handa@etl.go.jp>
7449
0693904a 7450 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7451 default_face's fontset, not using the default fontset.
0693904a 7452
dd7b81cf
KH
7453 * coding.c (inhibit_iso_escape_detection): New variable.
7454 (syms_of_coding): Make it a Lisp variable.
7455 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7456 nonzero, ignore ISO2022's escape sequence.
7457
d5aa31d8
GM
74582000-07-14 Gerd Moellmann <gerd@gnu.org>
7459
e5acf0ca
GM
7460 * alloca.c (malloc) [emacs]: Define as xmalloc.
7461
bd23a692
GM
7462 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7463 use that instead of the mouse position. Add parameters DX and DY.
7464
7465 * dispextern.h (Fx_show_tip): Adjust number of parameters
7466 in prototype.
7467
9662da0b
GM
7468 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7469 if HELP is a function, call it with OBJECT and POS as parameters
7470 to get the help to display.
7471 (gen_help_event, kbd_buffer_store_help_event): New functions.
7472 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7473 (read_char): Call show_help_echo with new parameters.
7474
178c5d9c 7475 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7476 Add prototypes.
7477
7478 * xterm.c (help_echo_object, help_echo_pos): New variables.
7479 (note_mode_line_highlight): Store additional information about the
7480 help-echo in help_echo_object and help_echo_pos. Check both
7481 `local-map' and `keymap' properties for changing the cursor
7482 (note_mouse_highlight): Store additional information about the
7483 help-echo in help_echo_object and help_echo_pos.
7484 (note_tool_bar_highlight): Set help_echo_object to nil and
7485 help_echo_pos to -1.
7486 (XTread_socket): Use gen_help_event instead of filling
7487 input_events manually.
7488 (syms_of_xterm): Staticpro help_echo_object.
7489
7490 * xmenu.c (menu_highlight_callback): Use
7491 kbd_buffer_store_help_event instead of setting up and input_event
7492 structure manually.
7493
7494 * xdisp.c (eval_form): GCPRO argument sexpr.
7495 (call_function): New function.
7496 (handle_single_display_prop): Use call_function and FUNCTIONP
7497 instead of checking whether if font_height is a symbol and
7498 using eval_form.
7499
7500 * eval.c (internal_condition_case_2): New function.
7501
7502 * lisp.h (FUNCTIONP): New macro.
7503 (internal_condition_case_2, call_function): Add prototypes.
7504
d5aa31d8
GM
7505 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7506 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7507 Always set `arg' member of input_events.
7508 (construct_menu_click): Unused function removed.
7509
7510 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7511
7512 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7513 (construct_drag_n_drop, x_scroll_bar_handle_click)
7514 (w32_read_socket): Always set `arg' member of input_events.
7515
7516 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7517
7518 * lisp.h (eval_form): Add prototype.
7519
7520 * xdisp.c (eval_form): Make it externally visible.
7521
0f1a9b23
GM
75222000-07-13 Gerd Moellmann <gerd@gnu.org>
7523
7524 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7525 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7526 consing. For prefix events, store the frame in the `arg' slot of
7527 the event, otherwise store the key there.
7528 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7529 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7530
7531 * xmenu.c (menu_highlight_callback): Store help string in the
7532 `arg' member of the input event; don't cons.
7533 (menubar_selection_callback): Use the `arg' slot of input events
7534 to queue additional information, instead of consing.
7535
7536 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7537
7538 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7539 TOOL_BAR_EVENTs.
7540 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7541
7542 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7543 input events to queue additional information, instead of consing.
7544
7545 * keyboard.c (kbd_buffer_gcpro): Renamed from
7546 kbd_buffer_frame_or_window. Now used for all Lisp objects
7547 referenced from the input queue.
7548 (kbd_buffer_store_event): Always use structure assignment for
7549 copying input events. Record all Lisp objects referenced from
7550 events in kbd_buffer_gcpro.
7551 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7552 differently from input events. Test for prefix menu_bar_events
7553 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7554 event in kbd_buffer_gcpro to nil.
7555 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7556 frame_or_window is equal to its arg member as prefix events.
7557 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7558 used by an input event to nil.
7559 (init_keyboard): Use two times the size of the input queue
7560 for kbd_buffer_gcpro.
7561 (syms_of_keyboard): Likewise.
7562
52283633
SM
7563 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7564 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7565
7566 * termhooks.h (struct input_event): Add member `arg'.
7567 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7568 (USER_SIGNAL_EVENT): Renamed from user_signal.
7569
7570 * xfaces.c (ASET): Remove definition.
7571
7572 * lisp.h (AREF, ASET, ASIZE): New macros.
7573
7574 * fontset.c (AREF, ASIZE): Remove definitions.
7575
7576 * fns.c (AREF): Remove definition.
178c5d9c 7577
0f1a9b23
GM
7578 * composite.c (AREF): Remove definition.
7579
712eaef2
GM
75802000-07-12 Gerd Moellmann <gerd@gnu.org>
7581
d8ee7803
GM
7582 * dispnew.c (redraw_overlapped_rows): Add missing local.
7583 (scrolling_window): Remove debug code.
7584
712eaef2
GM
7585 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7586 Before scrolling, turn off a mouse-highlight in the window
7587 being scrolled.
7588
7589 * xterm.c (x_update_window_end): Add parameter
7590 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7591 redisplay in XTframe_up_to_date.
7592 (x_clear_mouse_face): New function.
7593 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7594
7595 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7596 current glyph row.
7597 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7598 it when any row is written to that contains glyphs highlighted in
7599 mouse-face.
7600 (update_window): Call the window update end hook with new
7601 parameter MOUSE_FACE_OVERWRITTEN_P.
7602 (direct_output_for_insert): Give up if row contains mouse-face.
7603
7604 * dispextern.h (struct redisplay_interface): Add parameter
7605 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7606 (clear_mouse_face): New function pointer member.
7607
02010917
SM
76082000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7609
7610 * syntax.c (back_comment): Use one switch rather than a few `if's.
7611 Obey open_paren_in_column_0_is_defun_start.
7612 When reverting to the `slow' method, try to nicely handle the case
7613 of nested comments by checking that the comment-starter we found
7614 does indeed match the comment-ender.
7615 (scan_sexps_forward, scan_sexps_forward):
7616 Ignore excessive opening parenthesis rather than throwing an error.
7617
d76c03ea
GM
76182000-07-11 Gerd Moellmann <gerd@gnu.org>
7619
7620 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7621 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7622
7623 * dispnew.c (direct_output_forward_char): Give up if currently
7624 displaying a message instead of the minibuffer contents.
7625
7626 * xterm.c (x_update_window_begin): No need to turn off the mouse
7627 highlight here.
7628 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7629 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7630
7631 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7632 compare the mouse_face_p flags of both rows.
7633
7634 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7635
d55ead18
EZ
76362000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7637
7638 * keyboard.c (show_help_echo): Accept additional parameter
7639 ok_to_overwrite_keystroke_echo.
7640 (read_char): Call show_help_echo with a zero
7641 ok_to_overwrite_keystroke_echo argument.
52283633 7642 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7643 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7644 ok_to_overwrite_keystroke_echo argument.
7645 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7646 non-zero ok_to_overwrite_keystroke_echo argument.
7647
df75b1a3
GM
76482000-07-10 Gerd Moellmann <gerd@gnu.org>
7649
4b92c49a
GM
7650 * xdisp.c (try_window_id): If changes are all below what is
7651 displayed in the window, and point is in the window, we still
7652 might have to find point on the display.
7653
7654 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7655 glyphs instead of a single one.
7656 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7657 with new argument list.
7658 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7659
df75b1a3
GM
7660 * keymap.c (get_keymap_1): Add comment that this function can GC.
7661 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7662 comment that functions can GC.
7663 (Fset_keymap_parent): GCPRO arg KEYMAP.
7664
4314cf3e
EZ
76652000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7666
7667 * msdos.c (XMenuActivate): After exiting the menu, restore the
7668 echo area message and erase it.
7669
ab49ce15
KH
76702000-07-10 Kenichi Handa <handa@etl.go.jp>
7671
7672 * fontset.c (Ffontset_info): Make the return value more compatible
7673 with that of Emacs 20.
7674
090a072f
GM
76752000-07-07 Gerd Moellmann <gerd@gnu.org>
7676
7677 * eval.c (Fsignal): Handle case that backtrace_list is null.
7678
f92de4a6
KH
76792000-07-07 Kenichi Handa <handa@etl.go.jp>
7680
7681 * ccl.c (Fccl_execute): Typo fixed.
7682
dd8888a1
GM
76832000-07-06 Gerd Moellmann <gerd@gnu.org>
7684
e5c81191 7685 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7686
dd8888a1
GM
7687 * window.c (Fwindow_list): Reverse list at the end.
7688 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7689 means allow windows on OWINDOW's frame, only.
7690 (window_loop): Simplified; use Fwindow_list.
7691
7692 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7693
485266d0
GM
76942000-07-05 Gerd Moellmann <gerd@gnu.org>
7695
7696 * xterm.c (XTread_socket): Increment handling_signal at the start,
7697 decrement it at the end.
7698
7699 * eval.c (handling_signal): New variable.
7700 (Fsignal): Abort if handling_signal is non-zero.
7701
7702 * lisp.h (handling_signal): External declaration.
178c5d9c 7703
485266d0
GM
7704 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7705
80fcd514
KR
77062000-07-05 Ken Raeburn <raeburn@gnu.org>
7707
7708 Sound support for NetBSD through "Linux emulation" support:
7709 * config.in (HAVE_SOUNDCARD_H): Undef.
7710 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7711 * Makefile.in (LIBSOUND): New variable.
7712 (LIBES): Include it.
52283633
SM
7713 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7714 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7715 (vox_open): Use DEFAULT_SOUND_DEVICE.
7716 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7717
d5c5cddd
GM
77182000-07-05 Gerd Moellmann <gerd@gnu.org>
7719
7720 * print.c (print_error_message): If Vsignaling_function is set,
7721 show it in *Messages*.
7722
7723 * lisp.h (Vsignaling_function): External declaration.
7724
7725 * eval.c (Vsignaling_function): New variable.
7726 (Fsignal): Compute it.
7727 (syms_of_eval): Staticpro it.
7728
65171e3a
DL
77292000-07-05 Dave Love <fx@gnu.org>
7730
7731 * syswait.h: Use the autoconf recommended approach. Old code
7732 #if'd out in case we need to revert.
7733
178c5d9c 7734 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7735
e2c46326
AI
77362000-07-05 Andrew Innes <andrewi@gnu.org>
7737
7738 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7739 when non-NULL instead of __morecore, to take account of buffer
7740 memory. This also solves a problem with spurious memory warnings
7741 on Windows.
7742
7743 * ralloc.c: Make real_morecore non-static.
7744
7745 * eval.c (internal_condition_case): Comment out abort if
7746 interrupt_input_blocked is not zero.
7747
7748 * makefile.nt: Add support for `bootstrap' and related targets.
7749 Include minimal debug info in emacs.exe in release build.
7750 Remove all dependencies on lisp.h, and fixup some others.
7751
7752 * w32.c (init_environment): Install code from 20.7 for providing
7753 default values for environment variables, based on the
7754 executable's own location.
52283633 7755 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7756 (sys_socket): Install socket inheritance bug fix from 20.7.
7757
7758 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7759 here via blockinput.h).
7760
a027a91b
SM
77612000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7762
e4b31601
SM
7763 * w32menu.c (w32_menu_display_help):
7764 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7765
7766 * keyboard.h (show_help_echo): Declare.
7767
7768 * keyboard.c (show_help_echo): New function, extracted from read_char.
7769 Feval its `msg' argument if it's a cons cell.
7770 (read_char): Use it.
4cf8d9d5 7771 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7772
178c5d9c 7773 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7774 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7775 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7776 (dos_rawgetc):
7777 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7778 (note_tool_bar_highlight, w32_read_socket):
7779 Do not gratuitously ignore non-string `help-echo' properties.
7780
88d75730
GM
77812000-07-05 Gerd Moellmann <gerd@gnu.org>
7782
969f7e79
GM
7783 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7784
71201b00
GM
7785 * window.c (delete_all_subwindows): Reset Vwindow_list.
7786
88d75730
GM
7787 * xterm.c (x_append_glyph, x_append_composite_glyph)
7788 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7789 changes in struct glyph starting 1999-12-27. Some bit-fields of
7790 struct glyph were not set, which made glyphs unequal when compared
7791 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7792 effects were the result. This also depended on the contents of
7793 memory returned by xmalloc. If flickering happens again, activate
7794 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7795 gone with that, chances are that it is caused by something similar.
88d75730
GM
7796
7797 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7798
88d75730
GM
7799 * dispextern.h: Add some comments.
7800
7801 * window.c (add_window_to_list): Add parameter LIST.
7802 (window_list): Order list so that, for each frame, windows are
7803 in canonical order, and so that frames appear in the list in
7804 the order given by Vframe_list.
7805 (next_window): Reverse the handling of NEXT_P.
7806
53654733
GM
78072000-07-04 Gerd Moellmann <gerd@gnu.org>
7808
87efd256
GM
7809 * window.c (Vwindow_list): New variable.
7810 (make_window, delete_window): Set Vwindow_list to nil.
7811 (check_window_containing): New function.
7812 (window_from_coordinates): Rewritten.
7813 (add_window_to_list, window_list, candidate_window_p)
7814 (decode_next_window_args, next_window): New functions.
52283633 7815 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7816 (Fwindow_list): New function.
7817 (Fother_window): Cleaned up.
7818 (foreach_window): Add a longer "variable argument list". Let
7819 callback function return 0 to indicate that cycling over windows
7820 should stop.
7821 (foreach_window_1): Likewise.
7822 (freeze_window_start): Return int.
7823 (init_window): New function.
7824 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7825
7826 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7827 input_event with bzero.
7828 (main): Call init_window.
7829
53654733
GM
7830 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7831 a menu filter.
7832
4a8c194f
KH
78332000-07-04 Kenichi Handa <handa@etl.go.jp>
7834
7835 * composite.h (make_composition_value_copy): Extern it.
7836
7837 * composite.c (make_composition_value_copy): New function.
7838
7839 * editfns.c (Fformat): While copying text properties, make each
7840 composition property value a copy.
7841
7842 * fns.c (concat): While copying text properties, make each
7843 composition property value a copy.
7844
831a6cb0
GM
78452000-07-03 Gerd Moellmann <gerd@gnu.org>
7846
2f516940
GM
7847 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7848
178c5d9c 7849 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7850 marked already.
7851
831a6cb0
GM
7852 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7853 include those frames as candidates which have their focus
7854 redirected to the minibuffer frame.
7855
d9c4f922
SM
78562000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7857
7858 * fns.c (Fputhash): Return `value' rather than nil.
7859
3780bc22
GM
78602000-06-30 Gerd Moellmann <gerd@gnu.org>
7861
97d176db
GM
7862 * frame.c (next_frame): Don't check focus redirection in case
7863 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7864 unless their focus is redirected, which contradicts the
7865 specification of next-frame, and leads to infinite loops in
7866 certain situations when cycling through windows with next-window.
7867
dca9961d
KH
78682000-06-30 Kenichi Handa <handa@etl.go.jp>
7869
7870 * coding.c (code_convert_region): Even if the length of text is
7871 zero, try to convert it if coding->type is coding_type_ccl.
7872 (decode_coding_string, encode_coding_string): Likewise.
7873
d5483ab1
GM
78742000-06-28 Gerd Moellmann <gerd@gnu.org>
7875
af5c25e1 7876 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7877 the display if windows_or_buffers_changed.
af5c25e1
GM
7878
7879 * dispnew.c (struct row_entry): New structure.
7880 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7881 (row_table_size, old_lines, new_lines, old_lines_size)
7882 (new_lines_size, run_pool, runs_size, runs): New variables.
7883 (add_row_entry): New function.
7884 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7885 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7886 holding them in local variables. Use a larger hash table whose
7887 size depends on glyph matrix sizes. Don't use bzero to clear the
7888 hash table; instead, clear used slots only.
7889
7890 * fns.c (next_almost_prime): Make it externally visible.
7891
7892 * lisp.h (next_almost_prime): Add prototype.
7893
d5483ab1
GM
7894 * s/isc4-0.h (sigunblock): Define.
7895
7896 * s/sco5.h (sigunblock): Define.
7897
93e40f40
DL
78982000-06-27 Dave Love <fx@gnu.org>
7899
7900 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7901 (moved to osf5-0.h).
7902 [!NOT_C_CODE]: Protect string.h stuff.
7903
7904 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7905 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7906
3c4b7685
GM
79072000-06-27 Gerd Moellmann <gerd@gnu.org>
7908
97d176db 7909 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7910 below the last line from the needed window height.
7911
32cad0aa
SM
79122000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7913
7914 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7915 (Fwidget_get): Use it.
7916 (syms_of_fns): Defsubr it.
7917
2c69ced2
GM
79182000-06-26 Gerd Moellmann <gerd@gnu.org>
7919
178c5d9c 7920 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7921 display info for XIM.
7922 (xim_open_dpy): Likewise.
7923 (xim_close_dpy): Don't free the display info's XIM.
7924
7925 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7926
7927 * config.in (USE_XIM): New define.
7928
3fc720e4
GM
7929 * keymap.c (get_keyelt): For menu-items containing a `:filter
7930 FILTER', apply FILTER to the menu-item's definition to get the
7931 real definition to use.
7932
7933 * lisp.h (QCfilter): External declaration.
7934
2c69ced2
GM
7935 * xfns.c (Fimage_size): New function.
7936 (syms_of_xfns): Defsubr it.
7937
f978b2a2
AS
79382000-06-26 Andreas Schwab <schwab@suse.de>
7939
7940 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7941 Fstring_as_unibyte.
7942
94cc7892
DL
79432000-06-25 Dave Love <fx@gnu.org>
7944
52283633 7945 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7946
7947 * Makefile.in (blockinput.h): Depend on atimer.h.
7948 (atimer.h): Depend on systime.h.
7949
52283633 7950 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7951
52283633 7952 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7953
7954 * lisp.h (swap_in_global_binding): Declare.
7955
b8c24556
KR
79562000-06-24 Ken Raeburn <raeburn@gnu.org>
7957
7958 * process.c (Fopen_network_stream): Turn off atimers for duration
7959 of call to connect. (Patch from Gerd.)
7960
8cf8560b
DL
79612000-06-23 Dave Love <fx@gnu.org>
7962
511c7541
DL
7963 * ralloc.c: Maybe include unistd.h
7964
8cf8560b
DL
7965 * emacs.c (setgrp): Undefine before defining.
7966 (malloc_warning, set_time_zone_rule, index): Prototype.
7967
7968 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7969 HAVE_STRUCT_TIMEZONE.
7970
7971 * s/osf1.h: Move string.h hack here from alpha.h and make it
7972 conditional.
7973 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7974 _XOPEN_SOURCE.
7975 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7976 (SOCKLEN_TYPE): Don't define.
7977
7978 * m/alpha.h: Remove string.h hack.
7979
7980 * s/osf5-0.h: New file.
7981
7982 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7983 include time.h, done by systime.h.
7984 [__FreeBSD__]: Remove redundant includes.
7985
3fc720e4 7986 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7987 (delete_temp_file): Return Qnil to avoid warning.
7988
7989 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7990
7991 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7992 HAVE_X_WINDOWS.
7993
7994 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7995
7996 * composite.h (compose_text): Declare.
7997
7998 * xterm.c: Don't include sys/types.h unconditionally. Don't
7999 protect its inclusion with !USG (following xmenu.c).
8000
ea055732
GM
80012000-06-23 Gerd Moellmann <gerd@gnu.org>
8002
8003 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8004 in x_create_frame.
8005
74b01b80
EZ
80062000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8007
8008 * coding.c (decode_eol_post_ccl): Special handling for undecided
8009 and inconsistent EOL types.
8010
64f3a166
GM
80112000-06-22 Gerd Moellmann <gerd@gnu.org>
8012
16cf31f7
GM
8013 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8014 trough color and main window's background color.
8015
52283633 8016 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8017
8018 * xterm.h (Xt_app_con): External declaration.
8019
8020 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8021
486a103d
GM
8022 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8023
64f3a166
GM
8024 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8025 (handle_invisible_prop): Record the start of invisible text in
8026 it->add_overlay_start.
8027 (struct overlay_entry): Add member `overlay'.
8028 (handle_overlay_change): Simplify.
8029 (next_overlay_string): After having processed overlay strings at the
8030 end of the buffer, record that fact in
8031 it->overlay_strings_at_end_processed_p.
8032 (compare_overlay_entries): If before- and after-strings come
8033 from the same overlay, let before-strings come first.
8034 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8035 (load_overlay_strings): Take it->add_overlay_start into account
8036 when adding overlay strings.
8037
8038 * dispextern.h (struct it): Add member add_overlay_start.
8039
bb746ea6
DL
80402000-06-22 Dave Love <fx@gnu.org>
8041
8042 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8043
8044 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8045
a8f573f3
KH
80462000-06-22 Kenichi Handa <handa@etl.go.jp>
8047
8048 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8049 is greater than 0.
8050
9f2bbc92
DL
80512000-06-21 Dave Love <fx@gnu.org>
8052
178c5d9c 8053 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8054
3ee5041c
SM
80552000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8056
8057 * syntax.c (back_comment): Simplify string-parity counting (with
8058 the added benefit of handling multiple string-styles as long as
8059 they are not intertwined).
8060 Jump to the slow code as soon as a comment starter is found in
8061 a "string_lossage" position. Fixes the case: " /* " /* " */.
8062
4c343001
DL
80632000-06-21 Dave Love <fx@gnu.org>
8064
8065 * Makefile.in: Use GETLOADAVG_LIBS.
8066
8067 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8068 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8069
e6365855
SM
80702000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8071
8072 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8073 (Fforward_comment, scan_lists):
8074 Check the comstyle of single-char comment-starters.
8075 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8076 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8077 Check the comstyle of single-char comment-starters.
8078 Clarify control-flow around the Scomment case.
e6365855 8079
5700d2cc
DL
80802000-06-20 Dave Love <fx@gnu.org>
8081
d355bd8a
SM
8082 * fns.c (make_hash_table, maybe_resize_hash_table):
8083 Cast arg of next_almost_prime.
5700d2cc 8084
178c5d9c 8085 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8086
8087 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8088 and unistd.h.
8089
4a27bdfb
GM
80902000-06-20 Gerd Moellmann <gerd@gnu.org>
8091
a61d762c 8092 * keyboard.c (adjust_point_for_property): Check if display
52283633 8093 property should be treated as intangible by looking at its value.
a61d762c 8094
178c5d9c 8095 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8096 (display_prop_intangible_p): New functions.
8097
8098 * dispextern.h (display_prop_intangible_p): Add prototype.
8099
8100 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8101
4a27bdfb
GM
8102 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8103 argument to sigprocmask.
8104
8105 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8106 argument to sigprocmask.
8107
8108 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8109 sigprocmask_set, and pass a pointer to it to sigprocmask.
8110
8111 * sysdep.c (sigprocmask_set): New variable.
8112
8113 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8114 report_file_error.
8115
427ec082
SS
81162000-06-20 Sam Steingold <sds@gnu.org>
8117
8118 * xrdb.c: Don't declare xmalloc, xrealloc.
8119
8972fe79 81202000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8121
8122 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8123 (re_comp): Cast gettext return value to avoid complaints when
8124 !HAVE_LIBINTL.
8125
074b6efe
DL
81262000-06-20 Dave Love <fx@gnu.org>
8127
52283633 8128 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8129
5700d2cc 8130 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8131
d355bd8a 8132 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8133
8134 * m/alpha.h: Don't declare xmalloc, xrealloc.
8135
0af4f205
DL
8136 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8137
8138 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8139
8140 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8141
8142 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8143 HAVE_GETWD.
8144
074b6efe
DL
8145 * keyboard.h (poll_for_input_1): Declare.
8146
8147 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8148
8149 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8150
8151 * doprnt.c: Don't declare xmalloc, xrealloc.
8152
8153 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8154 (getenv, ctime, getwd): Removed.
8155 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8156
8157 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8158 x_set_tool_bar_lines.
8159
8160 * config.in: Add HAVE_GETWD. Move some definitions above
8161 machine/system includes.
8162
68a5e97b
KH
81632000-06-20 Kenichi Handa <handa@etl.go.jp>
8164
95417e1e
KH
8165 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8166
68a5e97b
KH
8167 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8168 contain information about ENCODING.
8169
8170 * fontset.c (FONTSET_ASCII): Use the first element of char table
8171 for an ASCII font, not defalt slot.
8172 (fontset_ref_via_base): If FONTSET doesn't contain information for
8173 C, try the default fontset.
8174 (make_fontset): Don't copy the default fontset.
8175 (fontset_font_pattern): Likewise.
8176 (accumulate_font_info): If ELT is nil, use the corresponding
8177 element in the default fontset.
8178
3b4fa1b2
DL
81792000-06-19 Dave Love <fx@gnu.org>
8180
943e731c
DL
8181 * syntax.c (Fparse_partial_sexp): Doc fix.
8182
8183 * regex.h: Test PROTOTYPES as well as __STDC__.
8184
3b4fa1b2
DL
8185 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8186 errno, strerror. Put text after #endif in comment.
8187
52283633 8188 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8189
8190 * xterm.c (x_frame_of_widget): Likewise.
8191
cdf0357b
GM
81922000-06-19 Gerd Moellmann <gerd@gnu.org>
8193
8194 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8195 to Vfundamental_mode_abbrev_table.
8196
8197 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8198 bogus objects are marked. This slows down GC by ~80 percent, but
8199 it might be worth trying when debugging GC-related problems.
8200 This feature requires conservative stack marking to be enabled.
8201
8202 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8203 returns XLookupChars, reset `modifiers' to zero.
8204
998e9f8c
DL
82052000-06-19 Dave Love <fx@gnu.org>
8206
8207 * mktime.c: Unprotoized.
8208
18e21ce8 82092000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8210
8211 * data.c (set_internal): If variable is frame-local,
8212 store the new value immediately into the frame parameter alist.
8213
140c4ac6
KR
82142000-06-19 Ken Raeburn <raeburn@gnu.org>
8215
14358466
KR
8216 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8217 in the custom handler pointer.
8218
140c4ac6
KR
8219 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8220 value, or checks for CHAR_META can fail when Lisp_Object is a
8221 union type.
8222 * keymap.c (get_keyelt): Likewise.
8223
10d7bf84
KH
82242000-06-19 Kenichi Handa <handa@etl.go.jp>
8225
8226 * ccl.h (struct ccl_program): New member eol_type.
8227 (struct ccl_spec): New member cr_carryover.
8228
8229 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8230 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8231
8232 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8233 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8234 (decode_eol_post_ccl): New function.
8235 (decode_coding): Don't detect EOL format here for CCL based coding
8236 systems.
8237 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8238 decode_eol_post_ccl after running the CCL program.
8239 (code_convert_region): Don't detect EOL format here for CCL based
8240 coding systems.
8241 (decode_coding_string): Likewise.
8242
52e386c2
KR
82432000-06-18 Ken Raeburn <raeburn@gnu.org>
8244
8245 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8246 when treating it as an integer.
8247
8248 * coding.h (encode_coding_string): Declare.
8249
8250 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8251 it as an integer.
8252
8253 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8254 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8255 to be passed to get_local_map.
8256
8257 * sound.c (Fplay_sound): Don't call make_number on
8258 Frun_hook_with_args count argument.
8259
8260 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8261 for lisp objects in X event structure data field, when lisp
8262 objects are represented with unions.
8263 (x_scroll_bar_to_input_event): Ditto.
8264
b357b9d4
KR
82652000-06-16 Ken Raeburn <raeburn@gnu.org>
8266
8267 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8268 termination of string. Fix sense of test whether
8269 Vline_number_display_limit is an integer.
b357b9d4 8270
a871441d
GM
82712000-06-16 Gerd Moellmann <gerd@gnu.org>
8272
a9021acd
GM
8273 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8274 only if HAVE_X_WINDOWS.
8275
6344985d
GM
8276 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8277 of titles.
8278
427ec082 8279 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8280 out of bounds.
8281
228b083e
EZ
82822000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8283
8284 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8285 of its headers.
8286
c25b53a2
KH
82872000-06-15 Kenichi Handa <handa@etl.go.jp>
8288
8289 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8290 start of the while loop.
8291
a6981b11
GM
82922000-06-15 Gerd Moellmann <gerd@gnu.org>
8293
e9924e52
GM
8294 * atimer.c (alarm_signal_handler): Add forward declaration.
8295
a6981b11
GM
8296 * data.c (set_internal): Remove debug code.
8297
25fa6deb
GM
82982000-06-14 Gerd Moellmann <gerd@gnu.org>
8299
dce6b995
GM
8300 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8301
9f817ea4
GM
8302 * unexec.c (toplevel) [COFF]: Include coff.h.
8303
8304 * s/lynxos.h: New file.
8305
8306 * keymap.c (Fsingle_key_description): Enclose function key and
8307 event symbol names in angle brackets.
8308
8a4e3c0c
GM
8309 * xdisp.c (setup_echo_area_for_printing): Call
8310 message_log_maybe_newline if message_buf_print is not set.
8311
8312 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8313 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8314 function does something useful even when message_buf_print is
8315 already set.
8316
52283633
SM
8317 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8318 New variables.
25fa6deb
GM
8319 (ensure_echo_area_buffers): Initialize echo buffer's
8320 truncate lines setting to nil.
8321 (with_echo_area_buffer): Don't set the echo buffer's truncate
8322 lines setting here.
8a4e3c0c 8323 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8324 of message_truncate_lines.
8325 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8326 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8327 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8328
8329 * keyboard.c (read_char): Bind message-truncate-lines to t
8330 while displaying a help-echo.
8331
8332 * lisp.h (Qmessage_truncate_lines): External declaration.
8333
163dcff3
GM
83342000-06-13 Gerd Moellmann <gerd@gnu.org>
8335
1681ead6
GM
8336 * xdisp.c (Vline_number_display_limit): Renamed from
8337 line_number_display_limit.
8338 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8339 Extend documentation string. Initialize
8340 Vline_number_display_limit to nil meaning no limit.
8341 (decode_mode_spec): Use Vline_number_display_limit with its new
8342 meaning.
8343
163dcff3
GM
8344 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8345
18e21ce8 83462000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8347
8348 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8349
163dcff3
GM
8350 * xfns.c (x_set_frame_parameters): Comment fix.
8351
8352 * frame.c (store_frame_param): Call swap_in_global_binding if the
8353 variable's current binding was chosen based on this frame.
8354
8355 * data.c (swap_in_global_binding): New function.
8356
a704139d
EZ
83572000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8358
8359 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8360 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8361
9b6610db
EZ
83622000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8363
8364 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8365
c68833d2
JR
83662000-06-12 Jason Rumney <jasonr@gnu.org>
8367
8368 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8369
8370 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8371
8372 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8373
8374 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8375
ed1056b3
GM
83762000-06-12 Gerd Moellmann <gerd@gnu.org>
8377
8378 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8379 (syms_of_xfaces): Defsubr Sdump_colors.
8380 (x_free_colors): Don't treat b&w specially on default visual.
8381 (x_free_dpy_colors): New function.
8382 (free_face_colors): Don't check visual class; it's done
8383 in x_free_colors.
8384
8385 * xterm.c (x_frame_of_widget): New function.
8386 (x_alloc_nearest_color_for_widget): Use it.
8387 (x_copy_dpy_color): New function.
8388 (x_destroy_window): Free various colors.
8389
5050a2ef
KH
83902000-06-12 Kenichi Handa <handa@etl.go.jp>
8391
8392 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8393
8394 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8395
8396 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8397
8398 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8399
8400 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8401
fb1b041d
DL
84022000-06-11 Dave Love <fx@gnu.org>
8403
8404 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8405
ff96b5f4
EZ
84062000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8407
8408 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8409
db8eeecd
GM
84102000-06-11 Gerd Moellmann <gerd@gnu.org>
8411
ed1056b3 8412 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8413 to `XEvent *'.
8414
49b71c5f
KH
84152000-06-10 Kenichi Handa <handa@etl.go.jp>
8416
c479bd55
KH
8417 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8418 (regex_compile): Fix the code for handling the case of single byte
8419 char and multibyte char being mixed in a range within [...].
8420
ff6a65c2
KH
8421 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8422 and dst_multibyte members of coding.
8423
49b71c5f
KH
8424 * charset.c (update_charset_table): Update the table
8425 bytes_by_char_head.
8426 (init_charset_once): Initialize elements of bytes_by_char_head to
8427 1 except for leading codes for private charases.
8428
8429 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8430 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8431
9e80b57d
KR
84322000-06-09 Ken Raeburn <raeburn@gnu.org>
8433
8434 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8435 access the data it doesn't point to.
8436
f83fe4b4
GM
84372000-06-08 Gerd Moellmann <gerd@gnu.org>
8438
8439 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8440 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8441 event queue. This is necessary because Emacs otherwise won't
8442 perform a switch-frame to a new frame until some other event, for
8443 example a keystroke event, forces it to do so. This has various
8444 effects, one visible being that the cursor of a frame created with
8445 C-x 5 2 or switched to with a window manager key binding like
8446 A-TAB stays hollow because selected_window isn't on the newly
8447 focused frame until the switch-frame is performed.
8448
8449 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8450 generating a switch-frame event if necessary.
8451
8452 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8453
8454 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8455 it's an integer.
8456
0890801b
KH
84572000-06-08 Kenichi Handa <handa@etl.go.jp>
8458
52283633 8459 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8460
173cbca8
GM
84612000-06-07 Gerd Moellmann <gerd@gnu.org>
8462
3091c2a6
GM
8463 * window.c (displayed_window_lines): Take empty lines at
8464 the bottom of a window into account.
427ec082 8465
f38952fe
GM
8466 * window.c (displayed_window_lines): New function.
8467 (Fmove_to_window_line): Use displayed_window_lines to determine
8468 the number of lines to move, instead of using the window's height.
8469
8470 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8471 to stop reading, even if the form read sets point to a different
8472 value when evaluated.
8473
427ec082 8474 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8475 put the cursor.
8476
6ba6c818
KH
84772000-06-07 Kenichi Handa <handa@etl.go.jp>
8478
8479 * fileio.c (e_write): Free composition data if stored in
8480 coding->cmp_data.
8481
5f1aea9a
GM
84822000-06-06 Gerd Moellmann <gerd@gnu.org>
8483
666852af
GM
8484 * xdisp.c (display_line): Set row's and iterator's
8485 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8486 Set cursor even if row ends in the middle of a character.
8487 (dump_glyph_row): Print values of new flags.
8488 (redisplay_window) <cursor movement in unchanged window>: When
8489 point has been moved forward, and PT is at the end of the cursor
8490 row, don't place the cursor in the next row if the cursor row ends
8491 in the middle of a character or at ZV.
8492
8493 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8494 (struct glyph_row): Add starts_in_middle_of_char_p and
8495 ends_in_middle_of_char_p.
8496 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8497 ends_in_middle_of_char_p flag.
8498 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8499
d13f3e2e
GM
8500 * term.c (append_glyph): Revert change of 2000-06-06.
8501
8502 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8503 padding glyph not fitting on line as whole character not
8504 fitting on line.
8505
5f1aea9a
GM
8506 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8507 this isn't true for images with `:ascent 100'.
8508
10cda9b0
KH
85092000-06-06 Kenichi Handa <handa@etl.go.jp>
8510
ed00559d
KH
8511 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8512 as modified if it is originally unmodified.
8513
10cda9b0
KH
8514 * term.c (encode_terminal_code): Change the way to check if
8515 terminal coding does any conversion.
8516 (append_glyph): Set glyph->pixel_width correctly.
8517
8518 * xdisp.c (display_line): While checking line continuation, pay
8519 attention to a padding glyph.
8520
1969fae2
GM
85212000-06-05 Gerd Moellmann <gerd@gnu.org>
8522
8523 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8524
162ccef4
DL
85252000-06-05 Dave Love <fx@gnu.org>
8526
f19f32dd
DL
8527 * xdisp.c: Include fontset.h.
8528
8529 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8530
8531 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8532
8533 * dispnew.c: Conditionally include term.h.
8534
8535 * coding.h: Declare code_convert_string_norecord.
8536
8537 * frame.h (struct frame): Use volatile unconditionally.
8538
8539 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8540
8541 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8542
8543 * systime.h: Protect against multiple inclusion.
8544 (timezone) [USG5_4]: Define as time_t.
8545
8546 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8547 (Foptimize_char_table, make_temp_name): Declare.
8548
8549 * Makefile.in (xdisp.o): Depend on fontset.h.
8550
8551 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8552
8553 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8554 (Foptimize_char_table, make_temp_name): Declare.
8555
427ec082 8556 * s/irix4-0.h:
162ccef4
DL
8557 * s/irix5-0.h:
8558 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8559
2082fe81
DL
85602000-06-02 Dave Love <fx@gnu.org>
8561
8562 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8563
dcf671d2
GM
85642000-06-02 Gerd Moellmann <gerd@gnu.org>
8565
8566 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8567 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8568 be freed.
8569
8570 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8571 glyph, use the ASCII NUL character to determine the face.
8572
d42122a3
DL
85732000-06-02 Dave Love <fx@gnu.org>
8574
8575 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8576 (VFORK_RETURN_TYPE): Remove.
427ec082 8577
d42122a3
DL
8578 * config.in: Add NO_MATHERR.
8579
dd432f16
DL
85802000-06-01 Dave Love <fx@gnu.org>
8581
90aa4ea8
DL
8582 * cmds.c (internal_self_insert): Don't check
8583 Vbefore_change_function, Vafter_change_function.
8584
8585 * insdel.c (signal_before_change, signal_after_change): Likewise.
8586
8587 * buffer.c (Vbefore_change_function, Vafter_change_function):
8588 Variables and their initializations deleted.
8589
2330c9d4
DL
8590 * callint.c (Fcall_interactively): Doc fix.
8591
dd432f16
DL
8592 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8593
bf9e8804
DL
85942000-05-31 Dave Love <fx@gnu.org>
8595
8596 * textprop.c: Revert last change -- duplicated.
8597
3694b4ab
GM
85982000-05-31 Gerd Moellmann <gerd@gnu.org>
8599
8600 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8601 in #if 0.
8602
8603 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8604
f14156cd
JR
86052000-05-31 Jason Rumney <jasonr@gnu.org>
8606
8119aab8
JR
8607 * search.c (Fre_search_forward, Fre_search_backward)
8608 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8609
f14156cd
JR
8610 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8611
4aab9be3
JR
86122000-05-30 Jason Rumney <jasonr@gnu.org>
8613
8614 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8615 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8616
52283633 8617 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8618
8619 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8620 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8621 expand a nil default_filename.
8622
8623 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8624 pointer to glyph_to_pixel_coords, not a frame.
8625
8626 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8627 coding.h to dependencies.
8628
8629 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8630
8631 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8632 window pointer to be consistent with w32term.c and xterm.c.
8633
8634 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8635 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8636 (Qline_spacing, Qcenter): New variables.
8637 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8638 (x_set_line_spacing): New function.
52283633 8639 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8640 (x_specified_cursor_type): New function.
8641 (x_set_cursor_type): Use it.
8642 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8643 and icon strings.
8644 (validate_x_resource_name, x_get_resource_string): Measure lengths
8645 of external strings in bytes.
8646 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8647 GetTextExtentPoint32 with NULL title.
8648 (Fx_create_frame): Initialize Qline_spacing.
8649 (w32_load_system_font): Initialize font->double_byte_p.
8650 (x_to_w32_charset): Use Vw32_charset_info_alist.
8651 (Image, busy cursor, tooltip functions): Merged changes from
8652 xfns.c. Not yet functional on Windows.
8653
8654 * w32gui.h (W32FontStruct): Add double_byte_p member.
8655
8656 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8657 (emacs_button_translation): Use it.
8658 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8659 in `mask' to be set.
8660
8661 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8662 menu strings.
8663
8664 * w32term.c: Format and doc changes to bring closer to xterm.c.
8665 (w32_char_font_type): New enum.
8666 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8667 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8668 (w32_encode_char): New function.
8669 (x_encode_char): Removed.
8670 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8671 x_encode_char and w32_font_is_double_byte.
8672 (x_produce_image_glyph): Use image_ascent.
8673 (x_produce_glyphs): Use new version of w32_per_char_metric and
8674 handle NULL return value. Allow extra line spacing.
8675 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8676 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8677 w32_font_type member of glyph instead.
8678 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8679 (fast_find_position): Make sure not to consider rows not visible
8680 in the window.
8681 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8682 w32_menu_display_help with input blocked, as it can abort.
8683 (x_display_and_set_cursor): Choose cursor depending
8684 on buffer-local value of cursor_type.
8685 (x_draw_bar_cursor): Add parameter WIDTH.
8686
8687 * w32term.h (CP_DEFAULT): Define.
8688 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8689
10fc3187
GM
86902000-05-30 Gerd Moellmann <gerd@gnu.org>
8691
8692 * search.c (Fre_search_forward, Fre_search_backward)
8693 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8694
d0555360
KH
86952000-05-30 Kenichi Handa <handa@etl.go.jp>
8696
8697 * coding.c (detect_coding_iso2022): Fix code for checking
8698 CODING_CATEGORY_MASK_ISO_8_2.
8699
f1ad044f
SM
87002000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8701
8702 * regex.c (PREFETCH_NOLIMIT): New function.
8703 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8704
84ec3b4b
GM
87052000-05-29 Gerd Moellmann <gerd@gnu.org>
8706
66254a13
GM
8707 * syntax.c (find_defun_start): Move test for
8708 open_paren_in_column_0_is_defun_start outside of the loop.
8709
49e70dec
GM
8710 * xdisp.c (redisplay_window): Really switch buffers when
8711 displaying mode lines, and temporarily set selected_frame to the
8712 frame of the window that's redisplayed.
8713
84ec3b4b
GM
8714 * xfaces.c (free_realized_faces): Block/unblock input.
8715 (free_realized_multibyte_face): Ditto.
8716
869a3a14
DL
87172000-05-29 Dave Love <fx@gnu.org>
8718
8719 * textprop.c (Qkeymap): New variable.
8720 (syms_of_textprop): Intern it.
8721
8722 * keymap.c: Include intervals.h.
8723 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8724
8725 * Makefile.in (keymap.o): Depend on intervals.h.
8726
8727 * keyboard.c (menu_bar_items, tool_bar_items)
8728 (Fexecute_extended_command): Deal with `keymap' property.
8729 (read_key_sequence): Track map from `keymap' property as well as
8730 `local_map'.
8731
8732 * intervals.c (get_local_map): Extra arg to allow looking for
8733 `keymap' too.
8734
8735 * intervals.h (map_property): New enum.
8736 (get_local_map): Extra arg using it.
8737 (Qkeymap): Declare.
8738
84ec3b4b 8739 * lisp.h (get_local_map): Don't declare here.
869a3a14 8740
89d0c844
KH
87412000-05-29 Kenichi Handa <handa@etl.go.jp>
8742
8743 * Makefile.in (callproc.o): Depend on composite.h.
8744
8745 * callproc.c: Include composite.h.
8746 (Fcall_process): Handle composition correctly.
8747
8748 * coding.h (coding_allocate_composition_data): Extern it.
8749 (coding_restore_composition): Likewise.
8750
8751 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8752 yet allocated, finish decoding with result
8753 CODING_FINISH_INSUFFICIENT_CMP.
8754 (coding_allocate_composition_data): Make it non-static.
8755 (coding_restore_composition): Likewise.
8756
797a084a
EZ
87572000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8758
8759 * charset.c (syms_of_charset): Revert last change.
8760
cf872af5
EZ
87612000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8762
8763 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8764 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8765 Handa.
cf872af5 8766
5b1ae051
EZ
87672000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8768
8769 * charset.c (syms_of_charset): Set width of character sets
8770 eight-bit-control and eight-bit-graphic to 1 column.
8771
34ec9ebe
GM
87722000-05-26 Gerd Moellmann <gerd@gnu.org>
8773
8774 * config.in (HAVE_SPEED_T): New define.
8775
8776 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8777 `extern speed_t'.
8778
dd854dc2
DL
87792000-05-26 Dave Love <fx@gnu.org>
8780
8781 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8782
8783 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8784 (Fsubr_arity): New function.
8785 (syms_of_data): Install them.
8786
ba9f8f95
KH
87872000-05-26 Kenichi Handa <handa@etl.go.jp>
8788
0f3e0672
KH
8789 * charset.c (init_charset_once): Set the table bytes_by_char_head
8790 correctly.
8791
cebefb44
KH
8792 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8793 the default fontset to what Emacs uses by default.
0f3e0672
KH
8794 (check_registry_encoding): This function deleted.
8795 (Fset_fontset_font): Remove the adhoc condition for the default
8796 fontset. Allow cons in FONTNAME.
cebefb44 8797
0f3e0672
KH
8798 * fns.c (map_char_table): Ignore char-table entries for
8799 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8800
7a18af49
KR
88012000-05-25 Ken Raeburn <raeburn@gnu.org>
8802
8803 * emacs.c (main): Initialize keyboard syms before initializing
8804 window code, so face names are available.
8805
d2af47df
SM
88062000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8807
8808 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8809 of an anchor at the beginning of a shy-group.
8810
fc6a6a4e
GM
88112000-05-25 Gerd Moellmann <gerd@gnu.org>
8812
8813 * xdisp.c (handle_invisible_prop): Don't try to skip over
8814 invisible text if end of text is already reached.
8815
005f0d35
DL
88162000-05-25 Dave Love <fx@gnu.org>
8817
02513cdd
DL
8818 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8819
005f0d35
DL
8820 * coding.c (encode_eol): Add null statement after label.
8821
89f6ca4e
EZ
88222000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8823
8824 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8825 2000-05-20.
8826
a4e1759e
KH
88272000-05-25 Kenichi Handa <handa@etl.go.jp>
8828
8829 * ccl.c (ccl_driver): Fix previous change.
8830
eacfd7fe
KH
88312000-05-25 Kenichi Handa <handa@etl.go.jp>
8832
46ab33a9
KH
8833 * coding.c (run_pre_post_conversion_on_str): Set point to the
8834 beginning of buffer before calling coding->post_read_conversion.
8835 (decode_coding_string): Give correct args to
8836 run_pre_post_conversion_on_str.
8837 (encode_coding_string): Likewise.
8838
eacfd7fe
KH
8839 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8840 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8841 eight-bit-graphic correctly.
8842
f8569325
DL
88432000-05-24 Kenichi HANDA <handa@etl.go.jp>
8844
8845 * fileio.c (Finsert_file_contents): Even if a file is not found,
8846 execute codes for setting up coding system. Call
8847 after-insert-file-functions unconditionally.
8848
04545643
GM
88492000-05-24 Gerd Moellmann <gerd@gnu.org>
8850
8851 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8852 BSD_PGRPS are not defined.
8853
747d90ea
KH
88542000-05-24 Kenichi Handa <handa@etl.go.jp>
8855
8856 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8857 DESCRIPTION.
8858 (syms_of_charset): Avoid building same strings.
8859
716e3b88
GM
88602000-05-23 Gerd Moellmann <gerd@gnu.org>
8861
8862 * lread.c (Fload): Add a comment about the meaning of
8863 Vuser_init_file being t.
8864
8865 * puresize.h (BASE_PURESIZE): Increase to 675000.
8866
8867 * s/gnu-linux.h (setpgrp): Don't define it here because this
8868 prevents compilation on GNU/Linux systems with glib 2.2.
8869
8870 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8871 as setpgid.
427ec082 8872
9aeb39fa
EZ
88732000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8874
8875 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8876 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8877 version.
8878 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8879
29ced61b
KH
88802000-05-23 Kenichi Handa <handa@etl.go.jp>
8881
52283633 8882 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8883
3d80f24d
KH
8884 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8885
52283633 8886 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8887
29ced61b
KH
8888 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8889
d7e00792
KH
88902000-05-22 Kenichi Handa <handa@etl.go.jp>
8891
c9d80d38
KH
8892 * keyboard.c (read_char): Allow character codes 128..255 to be
8893 handled by input-method-function.
8894
d7e00792
KH
8895 * insdel.c (adjust_markers_for_replace): Fix previous change.
8896 (adjust_after_replace): If PREV_TEXT is nil, call
8897 adjust_markers_for_insert, not adjust_markers_for_replace.
8898
087121cc 88992000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8900
087121cc
GM
8901 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8902 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8903 [HAVE_GRANDPT]: Define.
8904 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8905
8906 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8907 like SYSV_PTYS.
8908
8909 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8910
8911 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8912
c9671f81
KH
89132000-05-20 Kenichi Handa <handa@etl.go.jp>
8914
8915 The following changes are to handle 8-bit characters in a
8916 multibyte buffer/string without facing with byte combining
8917 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8918 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8919
8920 * Makefile.in (fns.o): Depend on charset.h.
8921
8922 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8923 convert it to unibyte.
8924 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8925
8926 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8927 apparent char boundary.
8928 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8929 0x80..0x9F to/from multibyte form.
8930
8931 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8932 to unibyte.
8933
8934 * callproc.c (Fcall_process): Always encode an argument string if
8935 it is multibyte. Setup src_multibyte and dst_multibyte members of
8936 process_coding properly.
ce75fd23 8937
c9671f81
KH
8938 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8939 SPLIT_NON_ASCII_CHAR.
8940
8941 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8942 as is.
8943 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8944
52283633 8945 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8946 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8947 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8948 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8949 and eight-bit-graphic.
8950 (char_to_string): Likewise. Signal an error for too large
8951 character code.
8952 (char_printable_p): Return 0 for 8-bit characters.
8953 (update_charset_table): Update iso_charset_table only when a final
8954 character is non-negative.
8955 (find_charset_in_text): Renamed from find_charset_in_str.
8956 Arguments and return value changed. Callers changed.
8957 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8958 be -1 if CHARSET is used only internally.
8959 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8960 eight-bit-graphic.
8961 (Fcharset_after): Simplified.
8962 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8963 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8964 (multibyte_chars_in_text): Simplified by assuming there's no
8965 invalid multibyte sequence.
52283633
SM
8966 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8967 (str_as_unibyte): New functions.
8968 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8969 (init_charset_once): Initialization for
8970 LEADING_CODE_8_BIT_CONTROL.
8971 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8972 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8973 eight-bit-control and eight-bit-graphic.
8974
52283633
SM
8975 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8976 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8977 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8978 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8979 (CHARSET_REVERSE_CHARSET): Likewise.
8980 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8981 eight-bit-graphic.
8982 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8983 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8984 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8985 encounter an invalid multibyte sequence.
8986 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8987 sequence is always valid.
8988 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8989 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8990 (CHAR_STRING): For 8-bit characters, call char_to_string.
8991 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8992 multibyte sequence is always valid.
8993 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8994 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8995 (str_as_unibyte): Extern them.
c9671f81 8996 (BCOPY_SHORT): Fix a bug.
52283633 8997 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8998 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8999 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9000 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9001
bd4bde7f 9002 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9003 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9004 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9005 (EMIT_BYTES): New macros.
9006 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9007 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9008 macros deleted.
9009 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9010 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9011 check the validity of multibyte sequence.
9012 (decode_coding_emacs_mule): New function.
9013 (encode_coding_emacs_mule): New macro.
9014 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9015 the source.
9016 (DECODE_ISO_CHARACTER): Just return a character code.
9017 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9018 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9019 EMIT_CHAR to produced decoded characters. Exit the loop only by
9020 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9021 block here.
9022 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9023 only position codes for an invalid character.
9024 (encode_designation_at_bol): Return new destination pointer. 5th
9025 arg DSTP is changed to DST.
9026 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9027 from the source by ONE_MORE_CHAR. Don't handle the case of last
9028 block here.
9029 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9030 macros deleted.
52283633
SM
9031 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9032 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9033 TWO_MORE_BYTES to fetch a byte from the source.
9034 (encode_eol): Pay attention to coding->src_multibyte.
9035 (detect_coding, detect_eol): Preserve members src_multibyte and
9036 dst_multibyte.
9037 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9038 (encoding_buffer_size): Set magnification to 3 for all coding
9039 systems that require encoding.
9040 (ccl_coding_driver): For decoding, be sure that the result is
9041 valid multibyte sequence.
9042 (decode_coding): Initialize coding->errors and coding->result.
9043 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9044 and raw-text, always call decode_eol. Handle the case of last
9045 block here. If not coding->dst_multibyte, convert the resulting
9046 sequence to unibyte.
9047 (encode_coding): Initialize coding->errors and coding->result.
9048 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9049 and raw-text, always call encode_eol. Handle the case of last
9050 block here.
9051 (shrink_decoding_region, shrink_encoding_region): Detect cases
9052 that we can't skip data more rigidly.
9053 (code_convert_region): Setup src_multibyte and dst_multibyte
9054 members of coding. For decoding, if the buffer is multibyte,
9055 convert the source sequence to unibyte in advance. For encoding,
9056 if the buffer is multibyte, convert the resulting sequence to
9057 multibyte afterward.
9058 (run_pre_post_conversion_on_str): New function.
9059 (code_convert_string): Deleted and divided into the following two.
9060 (decode_coding_string, encode_coding_string): New functions.
9061 (code_convert_string1, code_convert_string_norecord): Call one of
9062 above.
9063 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9064 MAKE_NON_ASCII_CHAR.
52283633
SM
9065 (Fset_terminal_coding_system_internal)
9066 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9067 and dst_multibyte members.
9068 (init_coding_once): Initialize iso_code_class with new enum
9069 ISO_control_0 and ISO_control_1.
9070
9071 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9072 devided into ISO_control_0 and ISO_control_1.
9073 (struct coding_system): New members src_multibyte, dst_multibyte,
9074 errors, and result. Delete member fake_multibyte.
9075 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9076 nonzero.
9077 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9078 nonzero.
9079
9080 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9081 (Faset): Likewise.
9082
9083 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9084 multibyte form.
9085 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9086 combining occurs.
9087 (Ftranspose_region): Delete codes for handling byte combining.
9088
9089 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9090 dst_multibyte members of coding. On handling REPLACE on unibyte
9091 buffer, convert the result of decode_coding to unibyte. On
9092 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9093 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9094 multibyteness of the source (buffer or string).
9095
9096 * fns.c (concat): Handle 8-bit characters correctly.
9097 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9098 unibyte in the result.
9099 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9100 valid multibyte form in the result.
9101 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9102 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9103 return -1, signal an error.
9104 (base64_encode_1): New arg MULTIBYTE. Get each character by
9105 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9106 character is found, return -1.
9107 (Fbase64_decode_region): Delete codes for handling byte-combining.
9108 Treat each decoded byte as a unibyte character.
9109 (Fbase64_decode_string): Return unibyte string.
9110 (Fcompare_strings, concat, string_byte_to_char): Use
9111 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9112 FETCH_STRING_CHAR_ADVANCE.
9113 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9114 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9115
9116 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9117 SPLIT_NON_ASCII_CHAR.
9118 (fontset_ref_via_base, fontset_set): Likewise
9119
9120 * insdel.c (adjust_markers_for_record_delete): Deleted.
9121 (adjust_markers_for_insert): Argument changed. Caller changed.
9122 (adjust_markers_for_replace): Likewise.
52283633
SM
9123 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9124 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9125 (copy_text): Delete unused local varialbe c_save. For converting
9126 to multibyte, be sure to make all 8-bit characters in valid
9127 multibyte form.
9128 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9129 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9130 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9131 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9132 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9133 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9134 handling byte combining.
9135 (adjust_before_replace): Deleted.
427ec082 9136
c9671f81
KH
9137 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9138 SPLIT_NON_ASCII_CHAR.
9139 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9140 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9141 (Fkey_description): Likewise.
9142
9143 * lread.c (read1): On reading multibyte string, be sure to make
9144 all 8-bit chararacters in valid multibyte form.
9145 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9146
9147 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9148 unconditionally.
9149
9150 * process.c (Fstart_process): GCPRO current_dir before calling
9151 Ffind_operation_coding_system. Encode arguments here.
9152 (create_process): Don't encode arguments here. Setup
9153 src_multibyte and dst_multibyte members of struct coding.
9154 (read_process_output): Setup src_multibyte and dst_multibyte
9155 members of struct coding. If the output is to multibyte buffer,
9156 always decode the output of the process. Adjust the
52283633 9157 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9158 (send_process): Setup coding->src_multibyte according to the
9159 multibyteness of the source.
9160
52283633 9161 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9162 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9163 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9164
52283633 9165 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9166
9167 * w16select.c (Fw16_set_clipboard_data): Setup members
9168 src_multibyte and dst_multibyte of coding. Adjusted for the
9169 change for find_charset_in_str.
9170 (Fw16_get_clipboard_data): Likewise.
9171
9172 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9173 dst_multibyte of coding.
9174 (x_to_w32_font): Likewise.
9175
9176 * w32select.c (Fw32_set_clipboard_data): Setup members
9177 src_multibyte and dst_multibyte of coding. Adjusted for the
9178 change for find_charset_in_str.
9179 (Fw32_get_clipboard_data): Likewise.
9180
9181 * xdisp.c (get_next_display_element): Handle 8-bit characters
9182 correctly.
52283633
SM
9183 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9184 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9185
9186 * xselect.c (selection_data_to_lisp_data): Setup members
9187 src_multibyte and dst_multibyte of coding. Adjusted for the
9188 change for find_charset_in_str.
9189 (lisp_data_to_selection_data): Likewise.
9190
5f64c9e0
GM
91912000-05-19 Gerd Moellmann <gerd@gnu.org>
9192
52283633 9193 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9194
5f64c9e0
GM
9195 * dispextern.h (Vimage_types): Add extern declaration.
9196
9197 * xdisp.c (Vimage_types): Moved here from xfns.c.
9198 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9199
9200 * xfns.c (Vimages_types): Moved to xdisp.c.
9201 (syms_of_xfns): Move `image-types' to xdisp.c.
9202
9203 * w32fns.c (Vimage_types): Removed.
9204 (syms_of_w32fns): Remove `image-types'.
9205
813086ea
KH
92062000-05-18 Kenichi Handa <handa@etl.go.jp>
9207
9208 * fns.c (map_char_table): Pay attention to character number of
9209 charset. Check the validity of charset at the first level. For
9210 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9211 the default value.
9212
9213 * fontset.c: Include "buffer.h".
9214 (fs_load_font): If the face has fontset, record the face ID in
9215 that fontset.
9216 (Finternal_char_font): New function.
9217 (accumulate_font_info): New function.
9218 (Ffontset_info): Rewritten for the new fontset implementation.
9219 (syms_of_fontset): Register Vdefault_fontset in the first element
9220 of Vfontset_table. Include Vdefault_fontset in
9221 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9222 function.
9223
bdaebbf0
DL
92242000-05-16 Dave Love <fx@gnu.org>
9225
9226 * m/iris5d.h: Deleted -- unused.
9227
cb613bb8
GM
92282000-05-16 Gerd Moellmann <gerd@gnu.org>
9229
b15f3b77
GM
9230 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9231 `invalid' instead of `illegal'.
9232
9233 * indent.c (Fmove_to_column): When ending within a tab, insert
9234 spaces first so that markers at the end of the tab get adjusted.
9235
835c1b36
GM
9236 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9237 buffer list that wasn't selected in that frame.
9238
cb613bb8
GM
9239 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9240 is needed on mescaline, use a 2 char prefix, and call
9241 make_temp_name with second arg non-zero.
9242
9243 * fileio.c (make_temp_name): New function, extracted from
9244 Fmake_temp_name.
9245 (Fmake_temp_name): Use it.
9246
f685bea9
EZ
92472000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9248
52283633 9249 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9250
a1b8d58b
GM
92512000-05-15 Gerd Moellmann <gerd@gnu.org>
9252
9253 * Makefile.in (lisp): Add env.elc.
9254
9255 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9256
a265079f
GM
92572000-05-12 Gerd Moellmann <gerd@gnu.org>
9258
9259 * search.c (Freplace_match): Handle case of `\N' in the
9260 replacement when there's no group N.
9261
da4496b6
GM
92622000-05-11 Gerd Moellmann <gerd@gnu.org>
9263
0ace421a
GM
9264 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9265 of the message to message_dolog.
9266
1172eb8d
GM
9267 * keyboard.c (read_char): Don't clear current message for help
9268 events; let the code handling help events handle this. Change
9269 code detecting help events that should be ignored.
9270
da4496b6
GM
9271 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9272 we're interating over a string.
9273
0623e40f
DL
92742000-05-09 Dave Love <fx@gnu.org>
9275
9276 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9277 that offset before writing. Move gcpro region past call of
9278 Ffile_regular_p.
9279
bae2503b
DL
92802000-05-04 Dave Love <fx@gnu.org>
9281
9282 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9283
ec82fb2f
GM
92842000-05-04 Gerd Moellmann <gerd@gnu.org>
9285
9286 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9287 of inserted characters when BUF equals the current buffer, and PT
9288 is in front of or equal to FROM.
9289
cbf18892
GM
92902000-05-03 Gerd Moellmann <gerd@gnu.org>
9291
4ff40dd0
GM
9292 * xdisp.c (handle_single_display_prop): If display property value
9293 is invalid, or something not supported on the frame, restore
9294 iterator's position to what it was initially. Make sure to return
9295 0 for invalid and unsupported property values.
9296
cbf18892
GM
9297 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9298 that x_per_char_metric returns null.
9299
1b0672c3
GM
93002000-05-02 Gerd Moellmann <gerd@gnu.org>
9301
576da55d
GM
9302 * xterm.h (struct face): Add forward declaration.
9303 (struct image): Ditto.
9304 (image_ascent): Add prototype.
9305
9306 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9307 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9308 image_ascent instead of using IMAGE_ASCENT.
9309
9310 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9311 (IMAGE_ASCENT): Removed.
9312
9313 * xfns.c (Qcenter): New variable.
9314 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9315 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9316 (image_ascent): New function.
9317 (lookup_image): Recognize `:ascent center'.
9318 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9319 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9320 (xbm_load): Don't set image's ascent here.
9321 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9322 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9323 check ascent values here.
9324 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9325 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9326 (syms_of_xfns): Initialize Qcenter.
9327
1b0672c3
GM
9328 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9329 to the limits, increase the limits.
9330
0d7811ed
KH
93312000-05-01 Kenichi Handa <handa@etl.go.jp>
9332
9333 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9334 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9335
a943a5ca
GM
93362000-04-28 Gerd Moellmann <gerd@gnu.org>
9337
9338 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9339 taller than the window.
9340
5dba1e29
KH
93412000-04-28 Kenichi Handa <handa@etl.go.jp>
9342
9343 * xfaces.c (realize_x_face): Fix the argument of the second
9344 xassert. BASE_FACE may not be a face for ASCII.
9345
353964e3
GM
93462000-04-27 Gerd Moellmann <gerd@gnu.org>
9347
c76e04a8
GM
9348 * print.c (print_object): Treat print-length < 0 as nil.
9349
9350 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9351
9352 * s/freebsd.h (TERMCAP_OBJ): Removed.
9353 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9354
9355 * lread.c (read1): Don't treat period followed by certain
9356 characters as symbol start.
9357
9358 * xfns.c (slurp_file): New function.
9359 (xbm_image_p): Handle case of in-memory XBM files.
9360 (xbm_scan): Rewritten to work on memory buffers instead of files.
9361 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9362 Work on memory buffers instead of files. If DATA is null test
9363 if buffer looks like an in-memory XBM file.
9364 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9365 memory buffers instead of files.
9366 (xbm_file_p): New function.
9367 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9368
353964e3
GM
9369 * lread.c (end_of_file_error): New function.
9370 (read1): Call it instead of signaling `end-of-file' directly.
9371
427ec082 9372 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9373 with Fprinc instead of Fprin1.
9374
24d744ac
KR
93752000-04-26 Ken Raeburn <raeburn@gnu.org>
9376
9377 * window.c (freeze_window_start): Check that minibuffer scroll
9378 window isn't nil before extracting the window structure pointer
9379 from it.
9380
9381 * undo.c (record_delete): If we hit the end of the undo list, stop
9382 picking elements apart.
9383
7464346d
GM
93842000-04-26 Gerd Moellmann <gerd@gnu.org>
9385
9386 * xdisp.c (display_line): If lines are continued, restore
9387 iterator's ascent/descent information to the values before the
9388 first glyph not fitting on the line.
9389
612839b6
GM
93902000-04-25 Gerd Moellmann <gerd@gnu.org>
9391
9392 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9393 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9394
9395 * dispnew.c (increment_matrix_positions): Renamed from
9396 increment_glyph_matrix_buffer_positions.
9397 (increment_row_positions): Renamed from
9398 increment_glyph_row_buffer_positions.
9399
9400 * dispextern.h: Change names of renamed functions from dispnew.c
9401 in prototypes.
9402
cc181e95
GM
94032000-04-24 Gerd Moellmann <gerd@gnu.org>
9404
abfcc168
GM
9405 * fileio.c (Fdo_auto_save): Create directories for auto-save
9406 list file if necessary.
9407
cc181e95
GM
9408 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9409 from buffer or frame.
9410 (automatic_hscrolling_p): New variable.
9411 (hscroll_windows): Scroll windows horizontally only if automatic
9412 hscrolling is allowed.
9413 (syms_of_xdisp): New variable `automatic-hscrolling'.
9414
9415 * frame.h (struct frame): Add member extra_line_spacing.
9416
9417 * xfns.c (x_set_line_spacing): New function.
9418 (Fx_create_frame): Set line spacing from resources.
9419 (Qline_spacing): New variable.
9420 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9421
cc181e95
GM
9422 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9423
9424 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9425 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9426 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9427 extra_line_spacing from default value.
9428 (init_buffer_once): Initialize default value of extra_line_spacing.
9429
9430 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9431 and extra3.
9432
9433 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9434 prompt_width. Add extra line spacing.
9435
9436 * term.c (produce_glyphs): Remove reference to struct it's
9437 prompt_width.
9438
9439 * dispextern.h (struct it): Remove member prompt_width, add
9440 extra_line_spacing.
9441
58827478
GM
94422000-04-22 Gerd Moellmann <gerd@gnu.org>
9443
9444 * dispnew.c (update_frame_line): When writing a whole line, make
9445 sure cursor is in the right row afterwards, otherwise a use of
9446 capability `ch' in cmgoto might leave the cursor in the row below.
9447
25a87f42
GM
94482000-04-21 Gerd Moellmann <gerd@gnu.org>
9449
9450 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9451
9452 * keyboard.c (timer_check): Fix typo in comment.
9453
54edf5c2
KH
94542000-04-21 Kenichi Handa <handa@etl.go.jp>
9455
9456 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9457 name change: ch -> character.
9458
3a64eef5
GM
94592000-04-20 Gerd Moellmann <gerd@gnu.org>
9460
9461 * keyboard.c (echo_message_buffer): New variable.
9462 (echo_now): Set echo_message_buffer to the echo area buffer used
9463 to display the echo.
9464 (cancel_echoing): Reset echo_message_buffer to nil.
9465 (read_char): Code rewritten that handles canceling an echo or
9466 echoing a dash, respectively.
9467
9468 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9469 directory doesn't exist.
9470
6142fdcb
DL
94712000-04-19 Dave Love <fx@gnu.org>
9472
9473 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9474 (concat): Don't allow numeric args.
9475 (Fconcat): Doc change.
6142fdcb 9476
ac6b5352
SM
94772000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9478
9479 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9480 instead define end_match(1|2) more carefully.
9481 Use GET_CHAR_BEFORE_2 for `begline'.
9482
cb9215e4
GM
94832000-04-19 Gerd Moellmann <gerd@gnu.org>
9484
5e3dac3f
GM
9485 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9486 on 64-bit systems where NULL is defined as `0'.
9487
9488 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9489 the `variable argument list' to make it work on Alpha.
9490
cb9215e4
GM
9491 * m/alpha.h (_LP64) [!_LP64]: Define.
9492 (ORDINARY_LINK): Define for NetBSD.
9493
9494 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9495
f532dca0
DL
94962000-04-19 Dave Love <fx@gnu.org>
9497
c750667e
DL
9498 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9499 change.
9500
9501 * Makefile.in (LIBS): Don't use.
9502 (GETLOADAVG_OBJ): Define again.
9503 (otherobj): Add GETLOADAVG_OBJ.
9504
f532dca0
DL
9505 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9506
1c7e22fd
GM
95072000-04-18 Gerd Moellmann <gerd@gnu.org>
9508
f6d3257b
GM
9509 * lread.c (read_filtered_event): Cancel and start busy cursor.
9510
427ec082 9511 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9512 that the per-character metrics may be null.
9513
e10f64e7
GM
95142000-04-17 Gerd Moellmann <gerd@gnu.org>
9515
0daee095
GM
9516 * buffer.c (clone_per_buffer_values): New function.
9517 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9518 clone_per_buffer_values if CLONE is not nil.
9519
e10f64e7
GM
9520 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9521
38687d43
DL
95222000-04-16 Dave Love <fx@gnu.org>
9523
9524 * Makefile.in: Remove obsolete localcpp stuff.
9525 (GETLOADAVG_OBJ): Don't define.
9526 (obj): Move LIBOBJS...
9527 (otherobj): ... to here.
9528 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9529 whitespace-only lines after the continuation (Irix).
9530
c21c7262
GM
95312000-04-14 Gerd Moellmann <gerd@gnu.org>
9532
9533 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9534
9535 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9536
314767c0
DL
95372000-04-14 Dave Love <fx@gnu.org>
9538
9539 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9540 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9541 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9542 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9543 NLIST_STRUCT.
9544
9545 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9546 autoconfiscated HAVE_GETLOADAVG.
9547
9548 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9549 BROKEN_MKTIME.
9550
a2522dca
GM
95512000-04-14 Gerd Moellmann <gerd@gnu.org>
9552
9553 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9554 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9555
33744b5d
DL
95562000-04-14 Dave Love <fx@gnu.org>
9557
c21c7262 9558 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9559 (INTERVAL_SRC): Convert to make variable.
9560 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9561 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9562 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9563 add LIBOBJS.
9564 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9565 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9566 (shortlisp): Add facemenu, float-sup, frame.
9567 (SOME_MACHINE_LISP): Remove them from here.
9568 (LIBES): Change unused LDLIBS to autoconf LIBS.
9569
9570 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9571
9d3d5916
KH
95722000-04-14 Kenichi Handa <handa@etl.go.jp>
9573
9574 * composite.c (update_compositions): If FROM and TO are not in a
9575 valid range, do nothing.
9576
198e3c7a
GM
95772000-04-13 Gerd Moellmann <gerd@gnu.org>
9578
52283633 9579 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9580
52283633 9581 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9582
9583 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9584 as TERMCAP_OBJ.
9585
055a28c9
EZ
95862000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9587
9588 * fileio.c (a_write): Remove redundant semi-colons.
9589 (e_write): Return -1 if failed to write all the data.
9590 This fixes the changes made at 1999-12-15.
9591
f5c75033
DL
95922000-04-12 Dave Love <fx@gnu.org>
9593
9594 * fns.c (mapcar1): Test for null vals to support mapc.
9595 (Fmapc): New function.
9596
0c3cfc51
EZ
95972000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9598
9599 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9600 (IT_frame_up_to_date): Support the buffer local value of
9601 cursor-type, if defined.
9602
33465a31
DL
96032000-04-10 Dave Love <fx@gnu.org>
9604
9605 * editfns.c (preceding-char, following-char): Doc fix.
9606
6ed56568
KR
96072000-04-10 Ken Raeburn <raeburn@gnu.org>
9608
9609 * Makefile.in (temacs): Revert 2000-03-12 change.
9610
7cf80d4e
JR
96112000-04-10 Jason Rumney <jasonr@gnu.org>
9612
9613 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9614
34f3f342
GM
96152000-04-10 Gerd Moellmann <gerd@gnu.org>
9616
1a1b1895
GM
9617 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9618 area buffer, if it's not set up yet.
9619
34f3f342
GM
9620 * indent.c (compute_motion): Set immediate_quit.
9621
be0dbdab
GM
96222000-04-09 Gerd Moellmann <gerd@gnu.org>
9623
52283633 9624 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9625 (realize_tty_face): Suppress boldness if colors are the inverse of
9626 the default colors, and tty_suppress_bold_inverse_default_colors_p
9627 is set.
9628 (Ftty_suppress_bold_inverse_default_colors): New function.
9629 (syms_of_xfaces): Defsubr it.
9630
be0dbdab
GM
9631 * buffer.c (Frestore_buffer_modified_p): New function.
9632 (syms_of_buffer): Defsubr it.
9633
e8413c3b
KR
96342000-04-08 Ken Raeburn <raeburn@gnu.org>
9635
87f67317
KR
9636 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9637 charset id (int) argument, not a charset (Lisp_Object).
9638
e8413c3b
KR
9639 * coding.h (code_convert_string): Declare.
9640 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9641 object, as the fourth argument to code_convert_string.
9642
52283633 9643 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9644 (Fset_fontset_font): Use EQ to compare lisp objects.
9645
7c752c80
KR
96462000-04-05 Ken Raeburn <raeburn@gnu.org>
9647
c0333abc
KR
9648 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9649 a pointer that looks like a lisp object.
9650 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9651 zero, instead see whether it's an integer object, since they can't
9652 have intervals.
9653 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9654
52283633
SM
9655 * dispnew.c (allocate_matrices_for_frame_redisplay)
9656 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9657 to convert between (unsigned) int values and lisp integers.
9658 * keyboard.c (read_key_sequence): Likewise.
9659 * lread.c (substitute_object_recurse): Likewise.
9660 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9661 * minibuf.c (do_completion, Fminibuffer_complete_word)
9662 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9663 * term.c (produce_special_glyphs): Likewise.
9664
9665 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9666 * print.c (print_preprocess, print_object): Likewise.
9667
9668 * search.c (compile_pattern): Use NILP when checking for nil.
9669
74e49b38
KR
9670 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9671 __OPTIMIZE__]: Provide a GNU C macro version that handles
9672 lisp-object unions.
9673 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9674 field, to better cope with ENABLE_CHECKING and calls that modify a
9675 Lisp_Object using its old value.
9676
685e5ed2
GM
96772000-04-04 Gerd Moellmann <gerd@gnu.org>
9678
c407c570
GM
9679 * window.c (compare_window_configurations): Signal an error
9680 if parameters C1 or C2 aren't window configurations.
9681
685e5ed2
GM
9682 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9683 AFTER_POTENTIAL_GC calls around calls to functions that can
9684 signal an error and thus invoke the debugger.
9685
587a49ab
GM
96862000-04-03 Gerd Moellmann <gerd@gnu.org>
9687
62f20204
GM
9688 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9689 an error if decoding fails.
9690
587a49ab
GM
9691 * keyboard.c (lispy_mouse_names): Variable removed.
9692 (Vlispy_mouse_stem): New variable.
9693 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9694 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9695 for any mouse button number. Increase size of mouse_syms and
9696 button_down_location as needed. Call modify_event_symbol with
9697 different arguments.
9698 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9699 Call modify_event_symbol with different arguments.
9700 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9701 for any button number. Call modify_event_symbol with different
9702 arguments.
9703 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9704 Accept a string for NAME_ALIST_OR_STEM.
9705
9706 * lisp.h (larger_vector): Add prototype.
9707
9708 * fns.c (larger_vector): Make externally visible.
9709
9710 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9711
2d1675e4
SM
97122000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9713
9714 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9715 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9716 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9717 we are between str1 and str2.
9718 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9719 (PATFETCH): Use `TRANSLATE'.
9720 (PATFETCH_RAW): Fetch multibyte char if applicable.
9721 (PATUNFETCH): Remove.
9722 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9723 When writing a char, write it directly into the pattern buffer rather
9724 than going needlessly through a temp char-array.
9725 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9726 multibyte magic and remove the useless `#ifdef emacs'.
9727 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9728 buffer.
9729
9730 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9731 conditional on `emacs'.
9732
9733 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9734
cc2d8c6b
KR
97352000-04-01 Ken Raeburn <raeburn@gnu.org>
9736
9737 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9738 non-union-type versions of XMARK and friends here, because XMARK
9739 and friends won't work on an integer field if NO_UNION_TYPE is not
9740 defined.
52283633 9741 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9742
52283633 9743 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9744 (syms_of_composite): Delete local var NARGS, pass an int as first
9745 argument to Fmake_hash_table.
9746
2387b382
KR
9747 * editfns.c (text_property_stickiness): Use NILP to test
9748 Lisp_Object boolean value.
9749 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9750 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9751 problems reading from and changing the same lisp value in an
9752 XSETSTRING call.
9753
27660e89
GM
97542000-04-01 Gerd Moellmann <gerd@gnu.org>
9755
9756 * term.c (TN_no_color_video): New variable.
9757 (term_init): Intitialize TN_no_color_video.
9758 (enum no_color_bit): New enumeration.
9759 (MAY_USE_WITH_COLORS_P): New macro.
9760 (turn_on_face): Use it to determine if attributes may be used
9761 combined with colors.
9762
3578db3c
KR
97632000-04-01 Ken Raeburn <raeburn@gnu.org>
9764
9765 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9766 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9767 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9768 proper accessor macros.
9769 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9770 (grow_mini_window): Fix typo getting int value of root->height.
9771
6fc556fd
KR
9772 * xdisp.c (compute_string_pos): Fix order of arguments to
9773 string_pos_nchars_ahead.
9774 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9775 count arg to variable-arg routines like Frun_hook_with_args and
9776 Fformat.
587a49ab
GM
9777 (back_to_previous_visible_line_start)
9778 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9779 fixed-arg routines like Fget_char_property and Fmake_string.
9780 (reconsider_clip_changes): Use XINT when comparing integer lisp
9781 objects, or passing them as int arguments.
587a49ab
GM
9782 (mark_window_display_accurate, insert_left_trunc_glyphs)
9783 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9784 storing or passing integer values as lisp objects.
9785 (set_cursor_from_row, highlight_trailing_whitespace): Use
9786 INTEGERP, not implicit test against zero, for glyph object.
9787 (try_window_id): Don't use make_number when we want an int value.
9788
9789 * xfaces.c (xlfd_symbolic_value): Make last argument a
9790 Lisp_Object, to be consistent with callers.
9791 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9792 (lface_hash): Apply XFASTINT to lisp values before folding in.
9793
9794 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9795 fill in window width and height. Pass an int, not a lisp object,
9796 as first arg to Finsert.
9797
6e7b2457
GM
97982000-04-01 Gerd Moellmann <gerd@gnu.org>
9799
610d841e
GM
9800 * xfaces.c (realize_basic_faces): Block input while realizing
9801 the faces.
9802
6e7b2457
GM
9803 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9804
9805 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9806
aa110c0c
GM
98072000-03-31 Gerd Moellmann <gerd@gnu.org>
9808
9809 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9810 or ASCII, handle case that per-char metric is null.
aa110c0c 9811
8801a864
KR
98122000-03-30 Ken Raeburn <raeburn@gnu.org>
9813
c6129d7e
KR
9814 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9815
52283633
SM
9816 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9817 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9818 pointer, using eassert.
9819 * frame.h (XFRAME): Likewise.
9820
52283633
SM
9821 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9822 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9823 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9824 * data.c (set_internal): Likewise.
52283633
SM
9825 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9826 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9827 * fileio.c (auto_save_1): Likewise.
9828 * insdel.c (check_markers): Likewise.
9829 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9830 * undo.c (record_insert): Likewise.
9831 * vmsproc.c (child_sig): Likewise.
9832 * window.c (unshow_buffer, window_loop): Likewise.
9833 * xterm.c (x_erase_phys_cursor): Likewise.
9834
8e7af858
GM
98352000-03-30 Gerd Moellmann <gerd@gnu.org>
9836
9837 * xfns.c (free_image_cache): Free the cache structure itself
9838 last, after all its members have been freed.
9839
9840 * lisp.h (xstrdup): Add prototype.
9841
9842 * alloc.c (xstrdup): Moved here from xfaces.c.
9843 (allocating_for_lisp): Variable removed.
52283633 9844 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9845
9846 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9847 of Fsymbol_value.
9848 (xstrdup): Moved to alloc.c.
9849
e0b8c689
KR
98502000-03-29 Ken Raeburn <raeburn@gnu.org>
9851
b96f9fb7
KR
9852 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9853
9854 * emacs.c (main): Fix sense of no-loadup test.
9855
e0b8c689
KR
9856 * config.in (ENABLE_CHECKING): Undef.
9857
9858 * lisp.h (struct interval): Replace "parent" field with a union of
9859 interval pointer and Lisp_Object; add new bitfield to use as
9860 discriminant. Change other flag fields to bitfields.
9861 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9862 is defined and the supplied test fails, print a message and abort.
9863 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9864
9865 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9866 pointers; abort if the value looks like a lisp object.
52283633
SM
9867 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9868 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9869 Modify for new interval parent definition.
9870
52283633
SM
9871 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9872 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9873 addressable lisp object in the interval structure.
9874 (die): New function.
9875 (suppress_checking): New variable.
9876
9877 * intervals.c (interval_start_pos): Just return 0 if there's no
9878 parent object.
9879
f83c5440
GM
98802000-03-29 Gerd Moellmann <gerd@gnu.org>
9881
9882 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9883 and earlier Emacs versions.
9884
9885 * keyboard.c (Ftop_level): Cancel busy-cursor.
9886
9887 * eval.c (call_debugger): Cancel busy-cursor.
9888
fdce64ff
KH
98892000-03-29 Kenichi Handa <handa@etl.go.jp>
9890
9891 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9892 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9893
f6a3f532
SM
98942000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9895
9896 * regex.c (analyse_first): New function obtained by ripping out most
9897 of re_compile_fastmap and generalizing it a little bit so that it
9898 can also just return whether a given (sub)pattern can match the empty
9899 string or not.
9900 (regex_compile): Use `analyse_first' to decide whether the loop-check
9901 needs to be done or not for *, +, *? and +? (the loop check is costly
9902 for non-greedy repetition).
9903 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9904
e9b309ac
DL
99052000-03-28 Dave Love <fx@gnu.org>
9906
52283633 9907 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9908
e9b309ac
DL
9909 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9910
ed0767d8
SM
99112000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9912
9913 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9914 an expression.
9915 (enum re_opcode_t): Update description of succeed_n.
9916 (PATFETCH): Always define.
9917 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9918 operators, char classes, shy-groups and intervals).
9919 Optimize special cases of intervals so as to only use succeed_n and
9920 jump_n when really needed.
9921 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9922 that we don't have to handle the special cases any more.
9923 Simplify on_failure_jump handling as well.
9924
e11e7e46
JR
99252000-03-28 Jason Rumney <jasonr@gnu.org>
9926
9927 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9928
88faab89
GM
99292000-03-27 Gerd Moellmann <gerd@gnu.org>
9930
182ff242
GM
9931 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9932
9933 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9934
182ff242
GM
9935 * alloc.c (mark_maybe_object): New function.
9936 (mark_memory): Use it.
9937 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9938 (setjmp_tested_p, longjmp_done): New variables.
9939 (test_setjmp): New function.
9940 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9941 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9942
c1005d06
GM
9943 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9944 to DEC_TEXT_POS and INC_TEXT_POS.
9945
9946 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9947 with parameter MULTIBYTE_P.
9948
52283633 9949 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9950
7439e5b9 9951 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9952 buffers because it looks for multibyte character byte sequences
9953 which don't exist in unibyte text.
7439e5b9 9954
d9c545da
GM
9955 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9956
11fd416e 9957 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9958 [DEBUG_X_COLORS]: New functions.
9959 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9960
9961 * xfns.c (x_set_cursor_color): Get color reference counts right.
9962
9963 * xterm.c (x_copy_color): New function.
9964 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9965
9966 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9967 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9968 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9969 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9970 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9971 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9972 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9973 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9974 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9975 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9976
11fd416e
GM
9977 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9978 names for handling per-buffer variables.
d9c545da
GM
9979
9980 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9981 instead of MAX_BUFFER_LOCAL_VARS.
9982 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9983
9984 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9985
88faab89
GM
9986 * xfns.c (x_specified_cursor_type): New function.
9987 (x_set_cursor_type): Use it.
9988
9989 * buffer.h (struct buffer): Add cursor_type.
9990
d80f42b7
SM
99912000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9992
9993 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9994 (print_partial_compiled_pattern, re_compile_fastmap):
9995 Handle new opcode.
d80f42b7
SM
9996 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9997 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9998 executing it as well as when popping it off the stack to find infinite
9999 loops in non-greedy repetition operators.
10000
89e80928
GM
100012000-03-26 Gerd Moellmann <gerd@gnu.org>
10002
3d4ff2dd
GM
10003 * doc.c (Qfunction_documentation): New variable.
10004 (syms_of_doc): Initialize Qfunction_documentation.
10005 (Fdocumentation): If FUNCTION is a symbol with non-nil
10006 `function-documentation' property, return a documentation derived
10007 from that.
10008
bd96bd79
GM
10009 * buffer.c (syms_of_buffer): Add default-cursor-type.
10010 (init_buffer_once): Don't let cursor_type have a local value
10011 in every buffer.
10012
19d1bc27
GM
10013 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10014 on buffer-local value of cursor_type.
10015 (x_draw_bar_cursor): Add parameter WIDTH.
10016
10017 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10018 (init_buffer_once): Set default cursor_type value to t.
10019 Mark cursor_type as local everywhere.
10020 (syms_of_buffer): New per-buffer variable cursor-type.
10021
89e80928
GM
10022 * buffer.h (struct buffer): Remove member local_var_flags,
10023 add local_flags.
10024 (MAX_BUFFER_LOCAL_VARS): New macro.
10025 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10026 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10027 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10028 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10029
52283633 10030 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10031
10032 * category.c (Fset_category_table): Use new macros for per-buffer
10033 variables.
10034
10035 * buffer.c (buffer_permanent_local_flags): Make a char array.
10036 (max_buffer_local_idx): New variable.
10037 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10038 for new handling of per-buffer variables.
10039 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10040 (init_buffer_once): Initialize per-buffer vars differently.
10041 Set max_buffer_local_idx.
10042
10043 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10044 variables.
10045
52283633 10046 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10047
10048 * data.c (do_symval_forwarding, store_symval_forwarding)
10049 (find_symbol_value, set_internal, default_value, Fset_default)
10050 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10051 per-buffer variables.
10052
10053 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10054
9a0dd3dc
GM
100552000-03-24 Gerd Moellmann <gerd@gnu.org>
10056
b68c375f
GM
10057 * xterm.c (x_term_init): Unblock input around call1 of
10058 Qvendor_specific_keysyms.
10059
9a0dd3dc
GM
10060 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10061 (find_defun_start): Consider an open parenthesis in column 0
10062 a defun start only if open_paren_in_column_0_is_defun_start is set.
10063 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10064
7973e637
SM
100652000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10066
10067 * eval.c (Fautoload): Add entry in load-history (if after dump).
10068 * lread.c (load-history): Update docstring.
10069
39210e90
GM
100702000-03-24 Gerd Moellmann <gerd@gnu.org>
10071
10072 * indent.c (Fvertical_motion): Always use the current buffer.
10073 Temporarily change the window's buffer, if necessary.
10074
72db3ab5
GM
100752000-03-23 Gerd Moellmann <gerd@gnu.org>
10076
10077 * xterm.c (fast_find_position): Make sure not to consider rows
10078 not visible in the window.
10079
990b2375
SM
100802000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10081
10082 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10083 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10084
ff4df011
JR
100852000-03-22 Jason Rumney <jasonr@gnu.org>
10086
10087 * w32menu.c (single_submenu): Set help string to NULL if none.
10088 (w32_menu_show): Set help string correctly.
10089 (add-menu-item): Set help string in MIIM_DATA for menu item.
10090 Load SetMenuItemInfoA explicitly.
10091 (w32_menu_display_help): New function.
427ec082 10092
ff4df011
JR
10093 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10094 (QCdata): Moved to xdisp.c.
10095
10096 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10097 (Vw32_charset_to_codepage_alist): Removed.
10098 (Vw32_charset_info_alist): New variable.
52283633
SM
10099 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10100 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10101 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10102 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10103 with TODO comment.
10104 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10105 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10106 Define Vw32_charset_info_alist and w32_charset symbols.
10107
101082000-03-22 Jason Rumney <jasonr@gnu.org>
10109
10110 * makefile.nt (w32bdf.obj): Update dependencies.
10111
10112 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10113
10114 * w32fns.c: Include fontset.h after dispextern.h.
10115 (Fx_create_frame): Do not create fontset.
10116 (w32_load_system_font): Doc fix.
10117 (Fx_close_connection): Free full_name if it is not shared.
10118
10119 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10120 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10121 Callers updated.
ff4df011
JR
10122 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10123 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10124 (w32_font_is_double_byte): New function, needs body.
10125 (x_append_glyph): Set glyph->glyph_not_available_p.
10126 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10127 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10128 character, convert it to a unibyte character.
10129 (struct glyph_string): Delete member `charset'.
10130 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10131 calculating it is found.
10132 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10133 the case that per char metric is not available correctly.
10134 (x_fill_glyph_string): Handle the case that the specific glyph is
10135 not available correctly.
10136 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10137 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10138 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10139 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10140 fontset. Don't call FS_LOAD_FONT.
10141
439d5cb4
KR
101422000-03-22 Ken Raeburn <raeburn@gnu.org>
10143
10144 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10145 (INT_LISPLIKE): New macro.
10146 (NULL_INTERVAL_P): Use it.
52283633
SM
10147 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10148 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10149 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10150
10151 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10152 explicit references to "parent" field of struct interval and
10153 associated unclean type conversions.
52283633
SM
10154 * intervals.c (create_root_interval, root_interval, rotate_right)
10155 (rotate_left, balance_possible_root_interval, split_interval_right)
10156 (split_interval_left, interval_start_pos, find_interval)
10157 (next_interval, previous_interval, update_interval)
10158 (adjust_intervals_for_insertion, delete_node, delete_interval)
10159 (adjust_intervals_for_deletion, merge_interval_right)
10160 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10161 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10162 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10163 Likewise.
10164 * syntax.c (update_syntax_table): Likewise.
10165
10166 * intervals.c (reproduce_tree_obj): New function, like
10167 reproduce_tree but takes a Lisp_Object for the parent. Declare
10168 with prototype.
10169 (graft_intervals_into_buffer): Use it when appropriate.
10170 (reproduce_tree): Declare with prototype.
10171 (balance_possible_root_interval): Check that the parent is a lisp
10172 object before trying to examine its type.
10173
ee1c5b21
GM
101742000-03-22 Gerd Moellmann <gerd@gnu.org>
10175
10176 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10177 as strings only if both are known to be strings.
10178
10179 * s/openbsd.h (LIBS_TERMCAP): Undef.
10180
1fb352e0
SM
101812000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10182
10183 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10184 definitions for non-Emacs compilation.
10185 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10186 outside of `#ifdef emacs'.
10187 (print_partial_compiled_pattern): Update.
10188 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10189 (re_compile_fastmap): Merge handling of charset and charset_not (for
10190 emacs and non-emacs compilation as well).
10191 Similarly for (not)categoryspec and (not)syntaxspec.
10192 Don't use the fastmap when reaching `anychar' since the added
10193 complexity is not justified.
10194 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10195 and (not)syntaxspec. Merge (not)categoryspec.
10196
fdaa1f77
KH
101972000-03-22 Kenichi Handa <handa@etl.go.jp>
10198
52283633
SM
10199 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10200 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10201 --without-x.
fdaa1f77 10202
d152fb46
DL
102032000-03-21 Dave Love <fx@gnu.org>
10204
10205 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10206 doc string.
10207
d2cafc8c
GM
102082000-03-21 Gerd Moellmann <gerd@gnu.org>
10209
10210 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10211 (lface_fully_specified_p): Don't check contents of
10212 LFACE_FONT_INDEX because that attribute is optional.
10213 (realize_x_face): Remove now unwarranted xassert.
10214
9111d4b5
KH
102152000-03-21 Kenichi HANDA <handa@etl.go.jp>
10216
10217 The following changes are to make font selection based on
10218 characters, not charset. In addition, they recover fontset
10219 facilities while utilizing the new font selection mechanism.
10220
6c4bfdc0
KH
10221 * Makefile.in (fontset.o): Depend on dispextern.h.
10222
10223 * alloc.c (mark_face_cache): Don't mark face->registry.
10224
9111d4b5
KH
10225 * dispextern.h (struct glyph): New member glyph_not_available_p.
10226 Use 22 bits for face_id.
10227 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10228 (struct face): Delete member registry, new member ascii_face.
10229 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10230 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10231 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10232 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10233
10234 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10235 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10236 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10237 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10238 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10239 (fs_free_face_fontset, fontset_font_pattern)
10240 (face_suitable_for_char_p, face_for_char)
10241 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10242 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10243 (FS_LOAD_FACE_FONT): New macro.
10244
10245 * fontset.c: All codes rewritten or adjusted for the change of
10246 fontset implementation. Now fontset is represented by char table.
52283633
SM
10247 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10248 Variables removed.
9111d4b5 10249 (my_strcasecmp): Function removed.
52283633 10250 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10251 (AREF, ASIZE): New macros.
52283633
SM
10252 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10253 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10254 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10255 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10256 (fontset_id_valid_p, font_family_registry, fontset_name)
10257 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10258 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10259 New functions.
10260 (fs_load_font): New arg FACE. Caller changed.
10261 (fs_query_fontset): Argument changed. Caller changed.
10262 (Fquery_fontset): call fs_query_fontset.
10263 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10264 Functions removed.
52283633
SM
10265 (clear_fontset_elements, check_registry_encoding)
10266 (check_fontset_name): New functions.
9111d4b5
KH
10267 (syms_of_fontset): Set char-table-extra-slots property of fontset
10268 to 3. Staticpro and initialize Vfontset_table and
10269 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10270
10271 * frame.h (struct frame): Member `fontset_data' removed.
10272 (FRAME_FONTSET_DATA): Macro removed.
10273
10274 * frame.c (make_frame): Don't allocate f->fontset_data.
10275 (Fdelete_frame): Don't free f->fontset_data.
10276
6c4bfdc0
KH
10277 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10278
9111d4b5
KH
10279 * xdisp.c (charset_at_position): Function removed.
10280 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10281 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10282 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10283 Likewise.
10284 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10285 FACE_FOR_CHARSET.
52283633
SM
10286 (get_next_display_element, append_space)
10287 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10288
10289 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10290 Variables removed.
10291 (clear_font_table, frame_update_line_height, load_face_font):
10292 Adjusted for the change of fontset implementation.
10293 (load_face_fontset_font): Function removed.
10294 (pixel_point_size): New function.
10295 (font_list): Argument type changed. Caller changed.
10296 (LFACE_FONT): New macro.
10297 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10298 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10299 Lisp_Object. Determine the font name by actually loading a font
10300 by the specified pattern. Set LFACE_FONT (lface) to the specified
10301 pattern. Even if a font is not found, don't try alternatives.
10302 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10303 (set_font_frame_param): If `font' is specified in lface, use it.
10304 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10305 (lface_same_font_attributes_p): Likewise.
10306 (make_realized_face): Arguent changed. Caller changed. Set
10307 face->ascii_face to face itself.
10308 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10309 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10310 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10311 (free_realized_multibyte_face): New function.
10312 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10313 changed. Caller changed.
10314 (try_font_list): Argument type changed.
10315 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10316 (choose_face_font): Argument changed. Handle fontset properly.
10317 (choose_face_fontset_font): Function removed.
10318 (realize_default_face, realize_named_face): Don't remove the
10319 former face here.
10320 (realize_face): Argument changed. Caller changed. Remove face
52283633 10321 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10322 (realize_x_face): Argument changed. Caller changed. For a
10323 multibyte character, share fontset with base_face. For a single
52283633 10324 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10325 (realize_tty_face): Argument changed. Caller changed.
10326 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10327 (face_at_buffer_position): Don't check multibyte_p for returning
10328 DEFAULT_FACE_ID.
10329 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10330 FACE_SUITABLE_FOR_CHARSET_P.
10331 (syms_of_xfaces): Remove code for Qx_charset_registry and
10332 Vface_default_registry.
10333
6c4bfdc0
KH
10334 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10335 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10336 (x_per_char_metric): Don't try FONT->default_char. Even if
10337 pcm->width is zero, glyph bits may exist.
10338 (x_encode_char): Always initialize char2b->byte1.
10339 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10340 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10341 (x_append_glyph): Set glyph->glyph_not_available_p.
10342 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10343 it->charset. Handle the case that per char metric is not
10344 available. If it->multibyte_p is zero and it->c is a multibyte
10345 character, convert it to a unibyte character.
10346 (struct glyph_string): Delete member `charset'.
10347 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10348 the case that per char metric is not available correctly.
10349 (x_fill_glyph_string): Handle the case that the specific glyph is
10350 not available correctly.
10351 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10352 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10353 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10354 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10355 fontset. Don't call FS_LOAD_FONT.
10356
10357 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10358 (x_create_tip_frame): Likewise.
10359 (Fx_close_connection): Free full_name of font_info.
10360
10361 * fns.c (optimize_sub_char_table): New function.
10362 (Foptimize_char_table): New function.
10363 (syms_of_fns): Defsubr Soptimize_char_table.
10364
b33dd3b0
GM
103652000-03-20 Gerd Moellmann <gerd@gnu.org>
10366
10367 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10368 only if buffer is displayed in some window.
10369
10370 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10371 (try_window_reusing_current_matrix): Don't call scroll run
10372 function if run's current and desired position are the same;
10373 this prevents cursor flickering.
10374
4e8a9132
SM
103752000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10376
10377 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10378
10379 * regex.c (RE_STRING_CHAR): New macro.
10380 (GET_CHAR_AFER_2): Remove.
10381 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10382 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10383 (print_partial_compiled_pattern, re_compile_fastmap)
10384 (re_match_2_internal): Remove on_failure_jump_exclusive.
10385 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10386 optimization only need to work for * (ie. can use of_keep_string_jump).
10387 Remove the special case for .*\n since it is now covered by the general
10388 optimization.
10389 (re_search_2): Don't bother with `room'.
10390 (skip_one_char): New function.
10391 (skip_noops): Simplify since `memory' is not needed any more.
10392 (mutually_exclusive_p): Restructure slightly to use `switch' and
10393 add handling for "all" remaining cases.
10394 (re_match_2_internal): Change on_failure_jump_smart to use
10395 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10396 rather than on_failure_jump_exclusive.
10397
2136fdd4
GM
103982000-03-19 Gerd Moellmann <gerd@gnu.org>
10399
10400 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10401 number of bits per RGB because it's everywhere used as the depth
10402 of the visual.
10403
10404 * term.c (calculate_costs): Remove code dealing with X frames.
10405
18e21ce8 104062000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10407
10408 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10409
d7b511c4
GM
104102000-03-18 Gerd Moellmann <gerd@gnu.org>
10411
10412 * lread.c (read_integer): Unread the last char not consumed.
10413
16b5d424
GM
104142000-03-17 Gerd Moellmann <gerd@gnu.org>
10415
10416 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10417 which are in the process of being deleted.
16b5d424 10418
1fa28578
GM
104192000-03-16 Gerd Moellmann <gerd@gnu.org>
10420
83488cce
GM
10421 * Makefile.in (mostlyclean): Add `*.core'.
10422 (clean): Add `bootstrap-emacs'.
10423
1fa28578
GM
10424 * lread.c (read_integer): New function.
10425 (read1): Support read syntax #o, #x, #b, #r.
10426
99633e97
SM
104272000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10428
1fa28578
GM
10429 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10430 make sure POINTER_TO_OFFSET gives the same value before and after
10431 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10432 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10433 (debug): Now only active if > 0 rather than if != 0.
10434 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10435 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10436 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10437 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10438 (store_op1, store_op2, insert_op1, insert_op2)
10439 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10440 (group_in_compile_stack): Move to after its arg's types are
10441 declared and add a prototype.
99633e97 10442 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10443 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10444 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10445 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10446 indentation of the greedy-op and shy-group code.
99633e97
SM
10447 (at_(beg|end)line_loc_p): Fix argument's types.
10448 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10449 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10450 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10451 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10452 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10453 QUIT unconditionally.
99633e97 10454
699238d9
GM
104552000-03-15 Gerd Moellmann <gerd@gnu.org>
10456
10457 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10458 a sole completion.
10459
10460 * process.c (send_process): Add a hint that the function
10461 can call Lisp code to its comment.
10462
10463 * lread.c (load_dangerous_libraries): New variable.
10464 (Vbytecomp_version_regexp): New variable.
10465 (safe_to_load_p): New function.
10466 (Fload): Handle files not compiled with Emacs specially.
10467 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10468
34e23e5a
GM
104692000-03-14 Gerd Moellmann <gerd@gnu.org>
10470
9c763cca
GM
10471 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10472
10473 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10474 support functions only if HAVE_X11R6_XIM is defined.
10475 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10476
10477 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10478
10479 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10480 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10481 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10482
10483 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10484 (HAVE_X11R6_XIM): Define.
10485
10486 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10487
34e23e5a
GM
10488 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10489 If set, call XSynchronize.
10490
66f0296e
SM
104912000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10492
34e23e5a
GM
10493 * regex.c: Declare a new type `re_char' used throughout the code
10494 for the string char type. It's `const unsigned char' to match the
10495 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10496 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10497 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10498 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10499 code duplication.
66f0296e
SM
10500
10501 * charset.h (GET_CHAR_AFTER_2): Remove.
10502 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10503
854a025c
KR
105042000-03-12 Ken Raeburn <raeburn@gnu.org>
10505
10506 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10507 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10508 of them try to use backquotes.
10509
b9d2c7e2
DL
105102000-03-12 Dave Love <fx@gnu.org>
10511
10512 * unexelf.c: Restore changes of 1999-10-19.
10513 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10514 fix its type and alignment; copy it from current process.
10515
5e5dff44
GM
105162000-03-12 Gerd Moellmann <gerd@gnu.org>
10517
9b2f3c38
GM
10518 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10519 has been found. Fix bug not computing timer's predecessor.
10520
427ec082 10521 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10522 file name.
10523
e1cff360
GM
10524 * window.c (Fsave_window_excursion): Doc fix.
10525
52283633 10526 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10527
e411ce4b
EZ
105282000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10529
10530 * msdos.c (vga_installed): New function, code moved from
10531 dos_set_window_size.
10532 (Qbar, Qcursor_type, outside_cursor): New variables.
10533 (syms_of_msdos): Intern and staticpro them.
10534 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10535 shape used outside Emacs when called for the first time.
10536 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10537 cursor shape used outside Emacs.
10538 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10539 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10540 type has changed.
10541 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10542 parameters specify the cursor. Make qreverse a global
10543 variable (renamed to Qreverse).
10544
80460654
GM
105452000-03-09 Gerd Moellmann <gerd@gnu.org>
10546
10547 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10548
95cd4c40
SM
105492000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10550
10551 This is a big redesign of failure-stack and register handling, prompted
10552 by bugs revealed when trying to add shy-groups. Overall, what happened
10553 is that loops are now structured a little differently, groups can be
10554 shy and the code is a little simpler.
10555
10556 * regex.h: Update the copyright.
10557 (RE_SHY_GROUPS): New value.
10558 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10559 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10560
80460654
GM
10561 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10562 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10563 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10564 for (start|stop)_memory since they now only take one argument (the
10565 second has becomes unnecessary).
52283633 10566 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10567 (print_compiled_pattern): Use %ld to printf long ints and flush to
10568 make debugging a little easier.
95cd4c40
SM
10569 (union fail_stack_elt): Make the integer unsigned.
10570 (struct fail_stack_type): Add a `frame' element.
10571 (INIT_FAIL_STACK): Init `frame' as well.
10572 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10573 (DEBUG_PUSH, DEBUG_POP): Remove.
10574 (NUM_REG_ITEMS): Remove.
10575 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10576 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10577 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10578 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10579 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10580 New macros.
80460654
GM
10581 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10582 address pushed is not the destination of the jump but the source
10583 of it instead.
95cd4c40
SM
10584 (NUM_FAILURE_ITEMS): Remove.
10585 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10586 registers before the actual failure point). Don't hardcode any
10587 meaning for str==NULL anymore.
95cd4c40 10588 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10589 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10590 Remove.
95cd4c40
SM
10591 (REG_UNSET_VALUE): Use NULL (why not?).
10592 (compile_range): Remove declaration since it doesn't exist.
10593 (struct compile_stack_elt_t): Remove inner_group_offset.
10594 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10595 (regex_grow_registers): Remove dead code.
10596 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10597 (regex_compile): Add shy-groups Change loops to use
10598 on_failure_jump_smart&jump instead of
10599 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10600 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10601 variable to me). Use `jump' instead of `jump_past_alt' and don't
10602 bother with push_dummy_failure in alternatives since it is now
10603 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10604 emacs' for (re)allocating the stack.
10605 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10606 from loop when bufp->can_be_null rather than jumping to `done'.
10607 Avoid jumping backwards so as to ensure termination. Use
10608 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10609 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10610 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10611 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10612 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10613 (lowest_active_reg, highest_active_reg)
10614 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10615 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10616 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10617 variables. Push register (in `start_memory') on the stack rather
10618 than storing it in old_reg(start|end). Remove the cycle detection
10619 from `stop_memory', replaced by the use of on_failure_jump_loop
10620 for greedy loops. Add code for the new on_failure_jump_<foo>.
10621 Remove ad-hoc code in `on_failure_jump' to push more registers in
10622 the case of a loop. Take out code from `maybe_pop_jump' into
10623 separate functions and adapt it to the semantics of
10624 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10625 and push_dummy_failure. Remove dummy_failure handling and
10626 handling of `failures to jump to on_failure_jump' (this last one
10627 was already dead code, it seems).
10628 (group_match_null_string_p, alt_match_null_string_p)
10629 (common_op_match_null_string_p): Remove.
95cd4c40 10630
7397acc4
DL
106312000-03-08 Dave Love <fx@gnu.org>
10632
10633 * config.in: Don't depend on __STDC__ for volatile.
10634 Add POINTER_TYPE, PTR, PROTOTYPES.
10635
10636 * hftctl.c, strftime.c: Use PROTOTYPES.
10637 * eval.c (find_handler_clause): Likewise.
10638
10639 * mem-limits.h: Use POINTER_TYPE.
10640
10641 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10642 (memory_warnings): Declare using POINTER_TYPE.
10643
5e91ff9e
GM
106442000-03-08 Gerd Moellmann <gerd@gnu.org>
10645
feab4fba
GM
10646 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10647
52283633 10648 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10649
5e91ff9e
GM
10650 * xfns.c: Remove obsolete code in #if 0.
10651 (Fx_focus_frame): New function.
10652
a735b7e1
KH
106532000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10654
10655 * coding.c (coding_category_name): Add coding-category-utf-8,
10656 coding-category-utf-16-be, coding-category-utf-16-le.
10657 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10658 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10659 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10660 (detect_coding_utf_8): New function.
10661 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10662 UTF_16_LOW_SURROGATE_P): New macros.
10663 (detect_coding_utf_16): New function
10664 (detect_coding_mask): When priorities are specified, skip any
10665 categories that have `nil' coding-system. Fix bug of returning
10666 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10667 returns a mask not set in PRIORITIES.
10668 (detect_eol_type_in_2_octet_form): New function.
10669 (detect_eol): selects detect_eol_type_XXX to call according to
10670 cooding->category_idx.
10671 (detect_coding_system): Remove `nil' coding-system in the result.
10672 (Fupdate_coding_systems_internal): Update all coding-categories.
10673
52283633
SM
10674 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10675 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10676 New macros.
10677 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10678 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10679 (CODING_CATEGORY_IDX_UTF_16_LE)
10680 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10681 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10682 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10683 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10684
9994cc69
GM
106852000-03-07 Gerd Moellmann <gerd@gnu.org>
10686
e9b4e5ff
GM
10687 * doc.c (Fdocumentation_property): If value is not a string,
10688 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10689
f7daf1e1
GM
10690 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10691 close the display with XtCloseDisplay. This caused a bus error
10692 on OpenWindows.
10693
9994cc69
GM
10694 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10695 complete but not unique.
10696
4336c705
GM
106972000-03-06 Gerd Moellmann <gerd@gnu.org>
10698
18bb0684
GM
10699 * process.c (send_process): Remove local variable `procname' that
10700 might become invalid when a GC happens. Instead, access the
10701 process name slot directly.
10702
4336c705
GM
10703 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10704 orig_height if set.
10705
10706 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10707 orig_height if set.
10708
515d0d0e
EZ
107092000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10710
10711 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10712 glyph matrices have been freed.
10713
100b3cbb
GM
107142000-03-05 Gerd Moellmann <gerd@gnu.org>
10715
50df5e5a 10716 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10717 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10718
10719 * xfns.c (QCdata): Moved to xdisp.c.
10720
10721 * xdisp.c (QCdata): Moved here from xfns.c.
10722 (syms_of_xdisp): Initialize QCdata.
10723
10724 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10725
10726 * window.c (coordinates_in_window): Use
10727 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10728 FRAME_INTERNAL_BORDER_WIDTH.
10729
100b3cbb 10730 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10731 it is obviously invalid.
100b3cbb
GM
10732
10733 * xterm.c (x_term_init): Create a colormap if not using the
10734 default visual.
10735
10736 * xterm.h (select_visual): Change prototype.
10737
10738 * xfns.c (select_visual): Rewritten. Recognize user-specified
10739 visual classes.
10740 (visual_classes): New variable.
10741
64d739c4
GM
107422000-03-04 Gerd Moellmann <gerd@gnu.org>
10743
10744 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10745 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10746 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10747 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10748 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10749 XtNcolormap resources.
10750 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10751 (Fx_create_frame): Initialize color members of x_output structure.
10752 (xpm_load): Pass colormap to XPM lib.
10753
10754 * xfaces.c (x_free_colors): Access colormap of frame using
10755 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10756 when default colormap is used.
10757
10758 * xterm.c (x_term_init): Set Colormap member of x_display_info
10759 structure. Copy colormap if resource `privateColormap' is
10760 specified (PseudoColor only).
10761 (x_setup_relief_color): Access colormap of frame using
10762 FRAME_X_COLORMAP.
10763
10764 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10765 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10766
c3cee013
JR
107672000-03-04 Jason Rumney <jasonr@gnu.org>
10768
10769 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10770 other non-platform-specific equivalents.
64d739c4 10771 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10772 specific functions and macros as their w32 equivalents where
10773 non-platform-specifics are not available.
10774 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10775 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10776 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10777 (frame_update_line_height): Use macros to access f->output_data.
10778 (defined_color): Remove FIXME comments; fixed.
10779 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10780 into #ifdef blocks. Add WINDOWSNT blocks.
10781 (Fx_list_fonts): Use macros for accessing font data.
10782 (set_lface_from_font_name): Different default fonts for X and
10783 WINDOWSNT.
10784 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10785 scalable for backward compatibility.
64d739c4 10786 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10787 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10788
64d739c4 10789 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10790 syms_of_w32faces.
10791
10792 * makefile.nt (w32faces.obj): Remove.
10793 (xfaces.obj): Add.
10794
807cc41c
JR
107952000-03-03 Jason Rumney <jasonr@gnu.org>
10796
10797 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10798 correct parameters.
10799
0007072a
KR
108002000-03-03 Ken Raeburn <raeburn@gnu.org>
10801
10802 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10803 standard ELF definitions here if the system header does not.
10804
71a6ba55
GM
108052000-03-03 Gerd Moellmann <gerd@gnu.org>
10806
10807 * xterm.c (PER_CHAR_METRIC): Removed.
10808 (x_per_char_metric_1, x_default_char): New functions.
10809 (x_per_char_metric): If font's default char is invalid, return
10810 metrics of a suitably chosen usable default char.
10811 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10812 char, replace occurrences of unprintable chars with a suitably
10813 chosen usable default char.
71a6ba55 10814
900fa1f1
GM
108152000-03-02 Gerd Moellmann <gerd@gnu.org>
10816
42f55fe0
GM
10817 * xterm.c (note_mouse_highlight): Return quickly if frame's
10818 glyph matrices have been freed.
10819
10820 * dispnew.c (free_glyphs): Block input while freeing matrices.
10821
900fa1f1
GM
10822 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10823
52283633
SM
10824 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10825 Use x_free_colors.
900fa1f1
GM
10826
10827 * dispextern.h (x_free_colors): Add prototype.
10828
10829 * xfaces.c (x_free_colors): New function.
10830 (unload_color, free_face_colors): Use it.
10831
2f950292
EZ
108322000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10833
10834 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10835
10836 * window.c [MSDOS]: Include msdos.h.
10837
54d04320
DL
108382000-03-02 Dave Love <fx@gnu.org>
10839
10840 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10841
10842 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10843 set C_OPTIMIZE_SWITCH for gcc.
10844
0ba93ac4
KH
108452000-03-02 Kenichi Handa <handa@etl.go.jp>
10846
10847 * coding.c (coding_save_composition): Be sure to allocate
10848 composition data area in coding even if there's no composition in
10849 the current run.
10850
a2bc11d4
JR
108512000-03-01 Jason Rumney <jasonr@gnu.org>
10852
10853 * w32term.c: Equivalent changes to those made to xterm.c on
10854 2000-02-25 and 2000-02-24.
10855
10856 * w32fns.c: Equivalent changes to those made to xfns.c on
10857 2000-02-25 and 2000-02-21.
10858
10859 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10860 correct line-end convention is followed.
10861
10862 * w32menu.c [HAVE_BOXES]: Remove #undef.
10863 (single_keymap_panes): Remove code for simulating checkmarks.
10864 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10865 Remove code for drawing simulated checkmarks.
10866 (w32_menu_show): make unibyte help string correctly.
10867 (add_menu_item): draw standard Windows checkmarks. Draw radio
10868 buttons as radio buttons if possible.
10869
72d19d75
GM
108702000-03-01 Gerd Moellmann <gerd@gnu.org>
10871
2df636f4
GM
10872 * sysdep.c (start_of_text): Don't define this function for NetBSD
10873 with ELF.
10874
427ec082 10875 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10876 Don't define.
10877 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10878 (LINKER): Don't undef if __NetBSD__ is defined.
10879
10880 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10881
10882 * fileio.c [__NetBSD__]: Define `unix'.
10883
72d19d75
GM
10884 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10885
ed4d0512
GM
108862000-02-29 Gerd Moellmann <gerd@gnu.org>
10887
50b1039f
GM
10888 * atimer.c (start_atimer): Don't abort when timers are stopped.
10889 (append_atimer_lists): New function.
10890 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10891 arbitrary lists of stopped and running atimers.
10892
ed4d0512
GM
10893 * atimer.c (cancel_atimer): Handle canceling an atimer when
10894 some timers are stopped.
10895
10896 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10897 after canceling it.
10898
10899 * fns.c (maybe_resize_hash_table): Handle case of new size
10900 coming out as being the same as old size.
10901
387023ee
JR
109022000-02-27 Jason Rumney <jasonr@gnu.org>
10903
10904 * makefile.nt: Add atimer.h to dependencies.
10905 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10906 * w32console.c: Only disable window system features for dispextern.h
10907 (initialize_w32_display): Build a display info for the console.
10908 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10909 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10910 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10911 as 2 button mice.
10912 * w32gui.h (struct W32FontStruct): Revert last change after change
10913 to xdisp.c.
10914 * w32menu.c (single_submenu): Set up help string.
10915 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10916 (w32_dialog_show): Set up help string.
10917 * w32term.c (w32_display_info_for_display): Remove unused function.
10918 (w32_draw_bitmap): Use pre-built bitmaps.
10919 (w32_initialize_display_info): New function to initialize parts of
10920 display info that are common to both GUI and console frames.
10921 (w32_term_init): Use w32_initialize_display_info. Do not set
10922 Vw32_num_mouse_buttons here, as it is not called for console
10923 frames. Build bitmaps for indicating truncated lines etc.
10924 (x_delete_display): Destroy pre-built bitmaps.
10925 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10926 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10927
4516715a
DL
109282000-02-27 Dave Love <fx@gnu.org>
10929
10930 * lisp.h: Add a bunch of prototypes.
10931
171ca836
KH
109322000-02-26 Kenichi Handa <handa@etl.go.jp>
10933
10934 * keyboard.c (read_char): Set `usec' correctly.
10935
4013921d
KH
109362000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10937
10938 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10939 `lambda', set reg[RRR] to the map index.
10940 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10941 reg[RRR] to 0. Otherwise, set it to -1.
10942
9244a058
GM
109432000-02-25 Gerd Moellmann <gerd@gnu.org>
10944
2df636f4 10945 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10946
18e21ce8 109472000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10948
f43d79c1
GM
10949 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10950 and contains a `:', prepend `/:'.
10951
10952 * window.c (select_window_1): If selected_window is nil,
10953 don't "swap out" the buffer's point.
10954 (Fset_window_configuration): Set selected_window to nil
10955 before calling Fselect_window.
10956 (unshow_buffer): Don't set point in buffer from window's point
10957 if another more recently selected window also shows the buffer.
10958
bed0c171
GM
109592000-02-25 Gerd Moellmann <gerd@gnu.org>
10960
449c3c52
GM
10961 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10962
f5b58615
GM
10963 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10964 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10965 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10966 New variables.
f5b58615
GM
10967 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10968 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10969 (hide_busy_cursor): New functions.
10970 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10971
10972 * minibuf.c (read_minibuf): Cancel busy-cursor.
10973
10974 * keyboard.c (command_loop_1): Call start_busy_cursor before
10975 Fcommand_execute and cancel_busy_cursor after it.
10976 (timer_check): Remove busy-cursor code.
10977 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10978 cursor timer.
10979
10980 * process.c (wait_reading_process_input): Remove busy-cursor code.
10981
10982 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10983 Fx_hide_busy_cursor.
10984
10985 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10986 Remove prototyoes.
10987 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10988
10989 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10990
10991 * xterm.c (XTread_socket): Remove busy-cursor code.
10992
4eb8436f
GM
10993 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10994 (build_frame_matrix_from_leaf_window): Put code handling
10995 glyph row's not being a slice of a frame row in #if 0.
10996 (sync_window_with_frame_matrix_rows): New function.
10997 (frame_row_to_window): New function.
10998 (mirror_line_dance): Handle copies between windows.
10999
3cb65b0e
GM
11000 * lread.c (Fload): Use `xfree' instead of `free'.
11001 (init_obarray): Use `xmalloc' instead of `malloc'.
11002
bed0c171
GM
11003 * window.c (Fset_window_buffer): Set WINDOW to the window
11004 after decoding.
2add4349
GM
11005 (coordinates_in_window): Take frame's internal border width
11006 into account.
bed0c171 11007
42088c12
GM
110082000-02-24 Gerd Moellmann <gerd@gnu.org>
11009
11010 * xterm.c (x_display_and_set_cursor): Display cursor of
11011 non-selected windows depending on the setting of
11012 cursor_in_non_selected_windows.
11013
11014 * xdisp.c (cursor_in_non_selected_windows): New variable.
11015 (syms_of_xdisp): DEFVAR_BOOL it.
11016
d1e103b2
GM
110172000-02-23 Gerd Moellmann <gerd@gnu.org>
11018
723e779c
GM
11019 * data.c (Fstring_to_number): If number is greater than what
11020 fits into an integer, return a float.
11021
d1e103b2
GM
11022 * eval.c (specbind): Remove references to
11023 keyword_symbols_constant_flag.
11024
11025 * data.c (keyword_symbols_constant_flag): Removed.
11026 (Fmakunbound, set_internal, syms_of_data): Remove references to
11027 keyword_symbols_constant_flag.
11028
11029 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11030
214f877f
KH
110312000-02-23 Kenichi Handa <handa@etl.go.jp>
11032
11033 * syntax.c (multibyte_syntax_as_symbol): New variable.
11034 (syms_of_syntax): Declare it as a Lisp variable.
11035 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11036 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11037 nonzero, treat all multibyte characters as symbol.
52283633 11038 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11039
130adcb7
EZ
110402000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11041
3cb65b0e 11042 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11043 a deleted frame.
130adcb7 11044
17cbbf95
GM
110452000-02-21 Gerd Moellmann <gerd@gnu.org>
11046
11047 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11048
11049 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11050 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11051
beb0bc36
DL
110522000-02-21 Dave Love <fx@gnu.org>
11053
11054 * frame.c (Vmouse_position_function): New variable.
11055 (Fmouse_position): Use it.
11056 (syms_of_frame): Install it.
11057
11058 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11059
1d92afcd
GM
110602000-02-20 Gerd Moellmann <gerd@gnu.org>
11061
11062 * fileio.c (Finsert_file_contents): Unbind the binding of
11063 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11064
11065 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11066 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11067 (specbind, unbind_to): Handle most common case of non-constant
11068 symbol with trivial value specially.
11069
11070 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11071
18e21ce8 110722000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11073
11074 * data.c (Fmake_variable_buffer_local): Doc fix.
11075 Init found_for_buffer to 0.
11076 (Fmake_variable_frame_local): If the variable has already
11077 been buffer-local, set the check_frame field.
11078
1d4311c3
EZ
110792000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11080
11081 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11082 produced for CODING_MODE_LAST_BLOCK requires.
11083
2dc95ddd
DL
110842000-02-18 Dave Love <fx@gnu.org>
11085
11086 * keyboard.c (echo_keystrokes): Remove declaration.
11087 (Vecho_keystrokes) New variable.
11088 (read_char, record_menu_key, read_key_sequence): Use it to allow
11089 use of float value.
11090 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11091
11092 * lread.c: Undef feature selection macros before defining.
11093
f0930f35
GM
110942000-02-18 Gerd Moellmann <gerd@gnu.org>
11095
11096 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11097 for symbols other than the symbol in question.
11098
e3d4de90
DL
110992000-02-17 Dave Love <fx@gnu.org>
11100
11101 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11102
0b378936
GM
111032000-02-17 Gerd Moellmann <gerd@gnu.org>
11104
d621caf7
GM
11105 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11106
0b378936
GM
11107 * alloc.c (enum mem_type): Compile unconditionally.
11108
3b451f74
EZ
111092000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11110
11111 * xfaces.c (tty_defined_color): Don't return faulire indication
11112 for unspecified-fg and unspecified-bg pseudo-colors.
11113
10689a01
GM
111142000-02-17 Gerd Moellmann <gerd@gnu.org>
11115
1216f5e4
GM
11116 * alloc.c (mark_object): Don't mark symbol names in pure space.
11117 (gc_sweep): Don't unmark symbol names in pure space.
11118
11119 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11120 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11121 [GC_MARK_STACK]: New defines.
427ec082 11122 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11123 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11124
11125 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11126
11127 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11128 allocate_buffer instead of xmalloc.
11129
11130 * alloc.c (toplevel): Include setjmp.h.
11131 (PURE_POINTER_P): New define.
11132 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11133 (Vdead) [GC_MARK_STACK]: New variable.
11134 (lisp_malloc): Add parameter TYPE, call mem_insert if
11135 GC_MARK_STACK is defined.
11136 (allocate_buffer): New function.
427ec082 11137 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11138 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11139 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11140 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11141 (MEM_NIL) [GC_MARK_STACK]: New define.
11142 (struct mem_node) [GC_MARK_STACK]: New structure.
11143 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11144 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11145 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11146 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11147 (mark_stack) [GC_MARK_STACK]: New functions.
11148 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11149 (clear_marks): Removed.
11150 (gc_sweep): Set free conses' car, free floats' type, free
11151 symbols' function to Vdead. Use lisp_free to free buffers.
11152 (init_alloc_once): Initialize Vdead.
11153 (survives_gc_p): Return non-zero for pure objects.
11154
11155 * alloc.c: Add comments throughout the file.
11156
2503c8b1
GM
11157 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11158 that unblocks alarms.
11159
8389e1e2
GM
11160 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11161 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11162 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11163
10689a01 11164 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11165
bfc17d18
KH
111662000-02-17 Kenichi Handa <handa@etl.go.jp>
11167
4a09dee0
KH
11168 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11169 avoid infinite error signaling. Allocate sufficient memory for
11170 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11171
2b927d02
SM
111722000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11173
11174 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11175 depends on the previous behavior.
11176
b49cb764
GM
111772000-02-16 Gerd Moellmann <gerd@gnu.org>
11178
11179 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11180
99e95407
GM
111812000-02-15 Gerd Moellmann <gerd@gnu.org>
11182
11183 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11184
11185 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11186 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11187 write(2).
11188
6ffd3cf7
RS
111892000-02-15 Richard M. Stallman <rms@gnu.org>
11190
11191 * data.c (set_internal): Don't make variable buffer-local
11192 if within a let-binding for the same buffer.
11193 (let_shadows_buffer_binding_p): New function.
11194
11195 * eval.c (specbind): For buffer-local value,
11196 record the current buffer also.
11197 (unbind_to): Cope with that change.
11198
cad53475
GM
111992000-02-15 Gerd Moellmann <gerd@gnu.org>
11200
11201 * window.c (Fsave_window_excursion): Doc fix.
11202
1aa963c8
SM
112032000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11204
11205 * syntax.c (back_comment): Make sure we only consider comment-starters
11206 of the relevant style and return -1 in case of a failure to find the
11207 beginning of the comment.
11208 (Fforward_comment): If back_comment fails, go back to the position just
11209 after the comment-end.
11210 (scan_lists): Add comment describing a very minor bug.
11211
b9b84fd3
SM
112122000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11213
11214 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11215 `completion-regexp-list' in the docstring.
11216
3a28db80
DL
112172000-02-14 Dave Love <fx@gnu.org>
11218
11219 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11220
fb4a568d
SM
112212000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11222
11223 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11224 to Emacs' syntax. Also fix the comment about set/not-set meanings
11225 since Emacs syntax is not the value 0 any more.
11226 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11227 since it's now part of RE_SYNTAX_EMACS.
11228
1063ebb5
DL
112292000-02-12 Dave Love <fx@gnu.org>
11230
52283633 11231 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11232
fb07a302
GM
112332000-02-12 Gerd Moellmann <gerd@gnu.org>
11234
11235 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11236
aaf2320c
DL
112372000-02-12 Dave Love <fx@gnu.org>
11238
11239 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11240
11241 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11242 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11243 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11244
11245 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11246
11247 * s/nextstep.h: Don't define HAVE_ALLOCA.
11248
11249 * config.in: Add vfork bits.
11250
eedf8bde
GM
112512000-02-12 Gerd Moellmann <gerd@gnu.org>
11252
11253 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11254 unwind function to undo the effect of stopping atimers.
11255
52283633 11256 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11257
11258 * atimer.c (stopped_atimers): New variable.
11259 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11260 New functions.
11261
11262 * atimer.h (stop_other_atimers, run_all_atimers)
11263 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11264
eedf8bde
GM
11265 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11266
8476c2f8
KR
112672000-02-11 Ken Raeburn <raeburn@gnu.org>
11268
11269 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11270 library may depend on jpeg.
11271 (atimer.o): Depends on atimer.c.
11272
0e85e4a3
KH
112732000-02-11 Kenichi Handa <handa@etl.go.jp>
11274
11275 * insdel.c (del_range_1): Call update_compositions.
11276 (del_range_both): Call update_compositions just once..
11277
97fa0cc8
DL
112782000-02-10 Dave Love <fx@gnu.org>
11279
11280 * xfns.c (create_frame_xic): Fix initialization of automatic
11281 aggregates for pcc.
11282
25566a3c
KH
112832000-02-09 Kenichi Handa <handa@etl.go.jp>
11284
11285 * ccl.c (CCL_MAKE_CHAR): New macro.
11286 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11287 registers by CCL_MAKE_CHAR before calling translate_char.
11288 <CCL_TranslateCharacterConstTbl> Likewise.
11289
69da54ba
DL
112902000-02-08 Dave Love <fx@gnu.org>
11291
11292 * lread.c (__EXTENSIONS__): Define.
11293
f7136ee8
GM
112942000-02-08 Gerd Moellmann <gerd@gnu.org>
11295
11296 * puresize.h (BASE_PURESIZE): Increase to 650000.
11297
7768790b
EZ
112982000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11299
11300 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11301 the help message.
11302
38fd211b
EZ
113032000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11304
11305 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11306 md, mh, mb, mr, and me to the fake termcap entry.
11307
66e4690f
KR
113082000-02-06 Ken Raeburn <raeburn@gnu.org>
11309
11310 * sound.c (sound_cleanup): Don't call device close routine if the
11311 function pointer is null.
11312
a75dfea0
AI
113132000-02-06 Andrew Innes <andrewi@gnu.org>
11314
11315 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11316 around image definitions and prototypes.
11317 (gamma_correct) [WINDOWSNT]: New prototype.
11318
11319 * w32term.c (x_make_frame_visible): Replace call to
11320 input_poll_signal with poll_for_input.
11321
11322 * window.c [WINDOWSNT]: Include w32term.h.
11323
11324 * xdisp.c [WINDOWSNT]: Include w32term.h.
11325
11326 * makefile.nt: Add dependencies on w32gui.h.
11327 (OBJ1): Include atimer.obj.
11328 ($(BLD)\atimer.obj): New dependency rule.
11329
11330 * w32.c (sigmask): New function (does nothing).
11331 (sigunblock): Ditto.
11332
11333 * frame.c [WINDOWSNT]: Include w32term.h.
11334
11335 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11336
11337 * lread.c (syms_of_lread): Fix literal newlines.
11338
11339 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11340 the string constant limit (2048 bytes) in MSVC.
11341 (main): Ditto.
11342
59ddecde
GM
113432000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11344
52283633 11345 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11346 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11347 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11348 dispatch the event.
11349
07590973
DL
113502000-02-04 Dave Love <fx@gnu.org>
11351
11352 * fileio.c: Remove some unused vars.
11353 (_GNU_SOURCE): Define (for euidaccess).
11354
11355 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11356
11357 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11358 gcpro1, gcpro2.
11359 (read_minibuf): Deal with allow_props correctly.
11360
649351f9
EZ
113612000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11362
11363 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11364
66e4690f 113652000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11366
11367 * search.c (compile_pattern): If a cache entry has a nil regexp,
11368 fill in that entry instead of clobbering a previously cached
11369 string regexp.
11370
66e4690f 113712000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11372
11373 * puresize.h (BASE_PURESIZE): Increase to 610000.
11374
d240a249
GM
113752000-02-02 Gerd Moellmann <gerd@gnu.org>
11376
11377 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11378 can GC.
11379
ca91fb26
KH
113802000-02-02 Kenichi Handa <handa@etl.go.jp>
11381
25660570
KH
11382 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11383 instead of incrementing ic directly.
11384 <CCL_WriteExprConst> Likewise.
11385 <ccl_set_expr>: Set ic to jump_address.
11386
ca91fb26
KH
11387 * fileio.c (e_write): Fix the handling of
11388 CODING_FINISH_INSUFFICIENT_SRC.
11389
2ede9689
DL
113902000-02-01 Dave Love <fx@gnu.org>
11391
11392 * editfns.c (Fpropertize): Doc fix.
11393
11394 * process.c (Fstart_process): Doc fix.
11395
11396 * eval.c: Fix various doc strings not to duplicate information
11397 from help-manyarg-func-alist.
11398
52283633 11399 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11400
11401 * doc.c (Vhelp_manyarg_func_alist): New variable.
11402 (Fdocumentation): Use it.
11403 (syms_of_doc): Define it.
11404
b6680a0e
GM
114052000-01-31 Gerd Moellmann <gerd@gnu.org>
11406
2cb750ba
GM
11407 * xterm.c (xim_open_dpy): Remove unused local variable.
11408
52283633 11409 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11410
11411 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11412 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11413
b6680a0e
GM
11414 * fns.c (sweep_weak_table): New function.
11415 (sweep_weak_hash_tables): Use it. Keep on marking until there
11416 is no more change.
11417
994c5afe
GM
114182000-01-30 Gerd Moellmann <gerd@gnu.org>
11419
11420 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11421 that XTread_socket does not crash by trying to call XNoOp on a
11422 closed display.
427ec082 11423
f00276e3
JR
114242000-01-30 Jason Rumney <jasonr@gnu.org>
11425
11426 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11427 Change selected_frame to SELECTED_FRAME ().
11428 (w32_console_mouse_position): Remove #ifndef MULE from around
11429 `insist' parameter.
11430
11431 * makefile.nt: Remove dosfns.obj.
11432
11433 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11434
11435 * w32fns.c (w32_defined_color): Check for valid frame before
11436 applying gamma correction. Eliminate dependency on frame elsewhere.
11437 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11438 (w32_to_x_font): Use resx and resy not height_in and width_in.
11439 (x_to_w32_font): Doc fix.
11440 (xlfd_strip_height): New function to strip and return font height.
11441 (w32_font_match): Compare height separately from rest of xlfd
11442 spec, using xlfd_strip_height.
11443
11444 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11445 width_in. Use w32_defined_color in place of defined_color.
11446
11447 * w32faces.c: Merge more of DOS and X specifics in preparation for
11448 merge with xfaces.c.
11449 (defined_color): Remove FIXME comment.
11450 (tty_color_name): Provide w32-specific function.
11451 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11452
11453 * w32console.c (turn_on_face, turn_off_face): Removed.
11454 (w32_face_attributes): New function.
11455 (Global_variables): Reduce scope where possible.
11456 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11457 fill attribute.
11458 (hl_mode): Don't modify text attributes.
11459 (write_glyphs): Don't do anything if len <= 0. Use
11460 w32_face_attributes to get attributes for drawing. Write
11461 terminating codes using char_attr_normal.
11462 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11463 (update_begin, update_end): Likewise.
11464 (vga_stdcolor_name): New function.
11465 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11466 (Fset_screen_color): Remove char_attr_reverse.
11467
b08e8bb2
GM
114682000-01-29 Gerd Moellmann <gerd@gnu.org>
11469
11470 * xfns.c (xic_set_preeditarea): Take window parameter and
11471 window-relative pixel-positions.
11472
11473 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11474 is its frame's selected window.
11475 (xim_instantiate_callback): Likewise.
11476
11477 * xfns.c (x_create_im): Removed.
11478 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11479 (supported_xim_styles): Renamed from supported_styles.
11480 (best_xim_style): Renamed from best_style.
11481 (create_frame_xic): Renamed from xic_create_frame.
11482 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11483
b08e8bb2
GM
114842000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11485
11486 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11487 our frames, call XFilterEvent with 2nd parameter `None'.
11488 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11489 returning XBufferOverflow.
52283633 11490 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11491 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11492 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11493 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11494 (xim_initialize, xim_close)
11495 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11496 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11497 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11498 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11499
11500 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11501 and `xim_styles'.
11502 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11503 `xic_style' and `xic_xfs'.
11504 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11505 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11506 (FRAME_XIM): Removed.
11507
11508 * xfns.c (supported_styles): New variable.
11509 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11510 (xic_create_xfontset, best_style, xic_create_frame)
11511 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11512 (xic_set_xfontset): New functions.
11513
142e109c
DL
115142000-01-28 Dave Love <fx@gnu.org>
11515
11516 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11517
11518 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11519
b02786f9
GM
115202000-01-28 Gerd Moellmann <gerd@gnu.org>
11521
d060bc9f
GM
11522 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11523 for *scratch* if it already existed.
11524
b02786f9
GM
11525 * emacs.c (USAGE): New macro.
11526 (main): Use it to display usage information.
11527
2c52d7e4
EZ
115282000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11529
11530 Support for the menu-help feature:
11531
52283633 11532 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11533
11534 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11535 part of the line to the termscript file.
11536 (IT_clear_to_end): Clear the entire line, not just its beginning.
11537 (menu_help_message, prev_menu_help_message): New variables.
11538 (IT_menu_make_room): Make room for the help_text member.
11539 (IT_menu_display): New argument disp_help; all callers changed.
11540 If disp_help is non-zero, store the help text of the active menu
11541 item in menu_help_message.
11542 (XMenuAddPane): Initialize the help_text member to NULL.
11543 (XMenuAddSelection): New argument help_text. Store it in the
11544 XMenu structure.
11545 (XMenuActivate): New argument help_callback. If the value of
11546 menu_help_message has changed since the last time, display the
11547 menu help message text while waiting for the mouse to move. Clear
11548 the echo area before exiting.
11549 (XMenuDestroy): Free the help_text member.
11550
ffe0bcd1
GM
115512000-01-27 Gerd Moellmann <gerd@gnu.org>
11552
11553 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11554 XMenuAddSelection. Pass help callback to XMenuActivate.
11555 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11556
50dbd23f
EZ
115572000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11558
11559 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11560 and EMACS_SET_USECS.
11561
f5941bf8
GM
115622000-01-26 Dave Love <fx@gnu.org>
11563
6c67ddee
DL
11564 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11565
f5941bf8
GM
11566 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11567 an error may be signalled.
11568
9e49c990
GM
115692000-01-26 Gerd Moellmann <gerd@gnu.org>
11570
fc3cb460
GM
11571 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11572 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11573
9e49c990
GM
11574 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11575
d0c037d8
GM
115762000-01-25 Gerd Moellmann <gerd@gnu.org>
11577
11578 * charset.c (Fstring): If there is a multibyte char among
11579 the args, always return a multibyte string.
11580
e12489f9
GM
115812000-01-25 Gerd Moellmann <gerd@gnu.org>
11582
11583 * sysdep.c (sys_select): Turn atimers off and on instead of
11584 recording and restoring old alarm handler
11585
11586 * process.c (toplevel): Include atimer.h.
11587 (create_process_1): Rewritten.
11588 (create_process): Use atimers instead of alarm.
11589 (wait_reading_process_input) [hpux]: Turn atimers off instead
11590 of turning off SIGALRM.
11591 (wait_reading_process_input): Turn off atimers instead off
11592 calling stop_polling.
11593
11594 * emacs.c (main): Call init_atimer.
11595
11596 * keyboard.c (toplevel): Include systime.h and atimer.h.
11597 (polling_for_input): Removed because unused.
11598 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11599 (poll_timer): New variable.
11600 (poll_for_input, poll_for_input_1): New functions.
11601 (start_polling, stop_polling): Rewritten.
11602
11603 * keyboard.h (polling_for_input): Removed.
427ec082 11604
e12489f9
GM
11605 * atimer.h, atimer.c: New files.
11606
11607 * Makefile.in (obj): Add atimer.o.
11608 (atimer.o): New target.
11609
11610 * blockinput.h (pending_atimers): Add extern declaration.
11611 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11612
11613 * lisp.h (popup_activated_flag): Add extern declaration.
11614
11615 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11616 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11617 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11618
11619 * xterm.c (toplevel): Include atimer.h.
11620 (toolkit_scroll_bar_interaction): New variable.
11621 (Fxt_process_timeouts): Removed.
11622 (x_process_timeouts): New function.
11623 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11624 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11625 (x_make_frame_visible): Call poll_for_input_1 instead of
11626 input_poll_signal. Don't call alarm.
11627 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11628
1e5279b9
DL
116292000-01-24 Dave Love <fx@gnu.org>
11630
6c67ddee 11631 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11632 Don't use -cckr -- apparently not now necessary.
11633
edf6aeb8
EZ
116342000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11635
11636 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11637 screen boundary.
11638
9badad41
JR
116392000-01-23 Jason Rumney <jasonr@gnu.org>
11640
11641 * w32fns.c (w32_defined_color): Apply gamma correction before
11642 trying to map to the palette.
11643 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11644 to w32_clear_rect.
11645
11646 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11647 here. Callers changed to always pass real device context.
11648 (w32_draw_bitmap): Likewise.
11649 (w32_get_glyph_overhangs): Likewise.
52283633 11650 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11651 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11652 pfnSetScrollInfo and SetScrollRange.
11653 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11654 back into MULE characters after decoding them.
11655 (x_get_glyph_face_and_encoding): Likewise.
11656 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11657 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11658 (x_produce_glyphs): Calculate per char metrics for a character
11659 that we know exists in default font when font_not_found_p is true.
11660
63bd786b
JR
116612000-01-22 Jason Rumney <jasonr@gnu.org>
11662
11663 * makefile.nt (intervals.obj, composite.obj): New modules.
11664 (composite.h): Added as dependency where appropriate.
11665
11666 * w32gui.h (XGCValue): New struct for emulating X GCs.
11667
11668 * w32term.h (XCharStruct): New struct for emulating X.
11669
11670 * w32console.c (turn_on_face, turn_off_face): New functions.
11671 (change_line_highlight): New prototype for new redisplay.
11672 (write_glyphs): Support multibyte text. Support faces.
11673
52283633 11674 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11675
11676 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11677 throughout. struct frame * in place of FRAME_PTR.
11678 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11679 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11680 (w32_get_arg): Renamed from x_get_arg.
11681 (Fx_file_dialog): New function.
11682 (w32_list_fonts): Check cache before asking system.
11683 (Vw32_enable_synthesized_fonts): New variable.
11684 (Vw32_enable_italics): Obsolete, removed.
11685
11686 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11687 Use SELECTED_FRAME macro.
11688
11689 * w32menu.c: Add skeleton support for help strings on menus.
11690 (add_menu_item): Native checkbox and radio support added, but not
11691 yet enabled due to bugs.
11692 (push_menu_item): Add parameters type, selection and help.
11693 Callers updated.
11694 Formatting changes to reduce unnecessary diffs with xmenu.c.
11695
11696 * w32select.c (Fw32_set_clipboard_data): Update call to
11697 find_charset_in_str.
11698
11699 * w32term.c: Complete rewrite for new redisplay based on new
11700 xterm.c with necessary sections merged back in from old w32term.c.
11701
6ffd3cf7 117022000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11703
11704 * data.c (set_internal): Further fix in same criterion.
11705
6ffd3cf7 117062000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11707
11708 * data.c (set_internal): Fix the criteria for whether
11709 to swap out the old cached binding.
11710
60af03f1
DL
117112000-01-19 Dave Love <fx@gnu.org>
11712
11713 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11714
f9be074f
KH
117152000-01-18 Kenichi Handa <handa@etl.go.jp>
11716
11717 * regex.c (re_compile_fastmap): While checking a range table for
11718 `charset', skip flag bits for a character class correctly.
11719
52b8dbf9
GM
117202000-01-17 Gerd Moellmann <gerd@gnu.org>
11721
d36100c9
GM
11722 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11723
52283633 11724 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11725
11726 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11727 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11728
11729 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11730 MENU_ITEMS_ITEM_.*.
11731 (MENU_ITEMS_ITEM_HELP): New enumerator.
11732 (push_menu_item): Add parameter HELP. Record help in menu_items.
11733 (single_menu_item, single_submenu, list_of_items): Call
11734 push_menu_item with new parameter.
11735 (single_submenu): Set help string in widget value.
11736 (menu_highlight_callback): New function.
11737 (set_frame_menubar): Call lw_create_widget with new
11738 parameter list.
11739 (xmenu_show, xdialog_show): Ditto.
11740
3139018f
GM
117412000-01-13 Gerd Moellmann <gerd@gnu.org>
11742
11743 * sound.c (Fplay_sound): Improve doc string.
11744
83c8f461
RS
117452000-01-11 Richard M. Stallman <rms@gnu.org>
11746
11747 * lisp.h (set_internal): Enter the new arg.
11748
11749 * eval.c (specbind): Record buffer-local variables specially,
11750 indicating which buffer's binding was saved.
11751 (unbind_to): Restore buffer-local variables specially
11752 in the proper buffer.
11753
11754 * data.c (set_internal): New arg BUF.
427ec082 11755
83c8f461
RS
11756 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11757 * data.c (Fset): Pass new arg to set_internal.
11758 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11759
1fab1775
GM
117602000-01-11 Gerd Moellmann <gerd@gnu.org>
11761
52283633 11762 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11763
83c8f461 117642000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11765
11766 * minibuf.c (Ftry_completion): Doc fix.
11767
7a85e4df
GM
117682000-01-11 Gerd Moellmann <gerd@gnu.org>
11769
11770 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11771 vector, too.
11772
a970dae4
AS
117732000-01-11 Andreas Schwab <schwab@suse.de>
11774
11775 * coding.c (code_convert_region): Initialize total_skip.
11776
c65d14ee
DL
117772000-01-08 Dave Love <fx@gnu.org>
11778
11779 * eval.c (Fuser_variable_p): Check customizability too.
11780
834938d2
GM
117812000-01-07 Gerd Moellmann <gerd@gnu.org>
11782
11783 * minibuf.c (Fcompleting_read): Doc fix.
11784
e0303cd6
GM
117852000-01-05 Gerd Moellmann <gerd@gnu.org>
11786
8a26744b
GM
11787 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11788 -L /usr/local/lib.
11789
e0303cd6
GM
11790 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11791 Check that input style is supported before trying to create an
11792 IC for it.
11793 (x_window): Call x_create_im.
427ec082 11794
2e471eb5
GM
117952000-01-04 Gerd Moellmann <gerd@gnu.org>
11796
560a7bd2
GM
11797 * xfns.c (current_gif_memory_src): New variable.
11798 (gif_load): Record the address of the current memory source
11799 in current_gif_memory_src.
11800 (gif_read_from_memory): Use current_gif_memory_src.
11801
f9ee84a3
GM
11802 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11803 macros statement form.
11804
d1299cde
GM
11805 * sound.c (struct sound): Renamed from struct sound_file.
11806 (struct sound): Add members `data' and `header_size'.
11807 (enum sound_attr): Add SOUND_DATA.
11808 (current_sound, current_sound_device): Variables renamed from
11809 sound_file and sound_device.
11810 (parse_sound): Parse :data.
11811 (parse_sound): Handle sound data in strings.
11812 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11813 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11814 needed header size.
11815 (wav_play, au_play): Play sounds from string data.
11816
2e471eb5
GM
11817 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11818
11819 * lisp.h: Add prototype for allocate_string_data.
11820
52283633 11821 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11822
11823 * alloc.c (mark_buffer): Remove code in #if 0.
11824 (gc_sweep): Ditto.
11825 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11826 (strings_consed): New variable.
11827 (allocate_string): Set it.
11828 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11829 (Fmemory_use_counts): Return strings_consed. Use Flist.
11830
11831 * alloc.c: General cleanup in comments etc. Remove conditional
11832 compilation for `standalone'.
11833
11834 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11835
11836 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11837 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11838 (DONT_COPY_FLAG): Removed.
11839 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11840 (struct sdata, struct sblock): New
11841 (struct string_block): Rewritten.
11842 (STRINGS_IN_STRING_BLOCK): New macro.
11843 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11844 (large_sblocks, string_blocks, string_free_list): New variables.
11845 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11846 (init_strings): Rewritten.
11847 (allocate_string, allocate_string_data, compact_small_strings)
11848 (free_large_strings, sweep_strings): New functions.
11849 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11850 (struct string_block_head, current_string_block)
11851 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11852 (STRING_PAD): Removed.
11853 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11854 (Fgarbage_collect): Don't set mark bit in large strings.
11855 (mark_object): Mark strings differently. Mark symbol names
11856 differently.
11857 (survives_gc_p): Test marked strings differently.
427ec082 11858 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11859 symbol names.
11860 (compact_strings): Removed.
11861
42608ba8
EZ
118622000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11863
11864 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11865 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11866
e0a09e1a
KH
118672000-01-04 Kenichi Handa <handa@etl.go.jp>
11868
dd9f0750 11869 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11870 in a non-empty buffer.
dd9f0750 11871
3c0f3b15 11872 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11873
44cd3ae5
GM
118742000-01-03 Gerd Moellmann <gerd@gnu.org>
11875
11876 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11877 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11878
11879 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11880
c182a70f
EZ
118812000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11882
11883 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11884 need to test for MSDOS frames.
11885
24480d5b
EZ
118862000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11887
11888 * dosfns.c (unspecified_colors): Remove.
11889 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11890 unspecified_bg.
11891 (msdos_stdcolor_name): Return strings for unspecified fore- and
11892 back-ground colors.
11893
11894 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11895 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11896 (tty_color_name): Return Lisp strings for unspecified fore- and
11897 back-ground colors.
11898 (Finternal_set_lisp_face_attribute): Remove the special treatment
11899 for Qunspecified_{f,b}g.
52283633 11900 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11901
047f434a
GM
119022000-01-03 Gerd Moellmann <gerd@gnu.org>
11903
11904 * xdisp.c (reseat_at_next_visible_line_start): Position before
11905 newline only if ending up on a newline.
11906 (next_element_from_ellipsis): Return success. Handle case of
52283633 11907 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11908 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11909 returns 0.
11910
d684c676
EZ
119112000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11912
11913 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11914 (Fcolor_supported_p): Renamed from face-color-supported-p.
11915
5fe1d139
EZ
119162000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11917
11918 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11919 list of colors renamed to tty-defined-color-alist.
11920 (tty_color_name): Pass the frame to tty-color-by-index.
11921 (realize_tty_face): tty-color-alist is now a function which
11922 accepts the frame as argument.
11923
52283633 11924 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11925
816be8b8
EZ
119262000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11927
11928 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11929 encode_terminal_code.
11930
b635321e
EZ
119312000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11932
11933 * dispnew.c (mode_line_string): Support termcap frames as well.
11934
9b784e96
GM
119352000-01-01 Gerd Moellmann <gerd@gnu.org>
11936
27189709
GM
11937 * syntax.c (Fforward_word): Undo previous change.
11938
11939 * editfns.c (Fconstrain_to_field): Don't constrain if
11940 inhibit-field-text-motion is non-nil.
11941 (Fline_beginning_position): Undo previous change.
11942 (Fline_end_position): Ditto.
11943
11944 * syntax.c (Fforward_word): Notice field boundaries only if
11945 inhibit-field-text-motion is nil.
11946
11947 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11948
11949 * editfns.c (Vinhibit_field_text_motion): New variable.
11950 (inhibit-field-text-motion): New DEFVAR_LISP.
11951 (Fline_beginning_position, Fline_end_position): Notice field
11952 boundaries only if inhibit-field-text-motion is nil.
11953
45158a91
GM
11954 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11955 All calls adjusted.
11956 (x_build_heuristic_mask): Likewise.
11957 (xbm_load_image_from_file): Change error output.
11958 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11959 (gif_load, gs_load, x_kill_gs_process): Ditto.
11960
9b784e96
GM
11961 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11962 color indices when accessing raster pixels.
63cec32f
GM
11963 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11964 one of :file or :data.
11965 (enum pbm_keyword_index): Add PBM_DATA.
11966 (pbm_format): Add :data.
11967 (pbm_image_p): Allow either :file or :data.
11968 (pbm_read_file): New function.
11969 (pbm_scan_number): Rewritten to read from string.
11970 (pbm_load): Support :data.
9b784e96 11971
2cb085db 11972See ChangeLog.8 for earlier changes.
6922b018
KH
11973
11974;; Local Variables:
49b3bd82 11975;; coding: iso-2022-7bit
6922b018 11976;; End: