(redisplay_internal): Add a check for the last
[bpt/emacs.git] / src / ChangeLog
CommitLineData
81b1a79d
GM
12001-08-01 Gerd Moellmann <gerd@gnu.org>
2
6e019995
GM
3 * xdisp.c (message_cleared_p): New variable.
4 (clear_message): Set message_cleared_p when clearing the current
5 message.
6 (redisplay_internal): Look at message_cleared_p to capture
7 the case that the echo area should be cleared.
8
308a74d8
GM
9 * keyboard.c (command_loop_1): Fix spelling of
10 resize_echo_area_exactly.
11
12 * dispextern.h (resize_echo_area_exactly): Fix typo in function
13 name.
14
15 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
16
81b1a79d
GM
17 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
18 current matrix when the window gets smaller.
19
ada329e6
EZ
202001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
21
22 * print.c (strout): Cast the character passed to insert_char to
23 unsigned char, to avoid sign extension when it is promoted to int.
24
ed86208c
GM
252001-07-31 Gerd Moellmann <gerd@gnu.org>
26
27 * fileio.c (Finsert_file_contents): Don't treat a return value
28 of 0 from emacs_read as an IO error.
29
6594ac22
GM
302001-07-30 Gerd Moellmann <gerd@gnu.org>
31
cef68af5
GM
32 * keyboard.c (abs): New macro.
33 (double_click_fuzz): New variable.
34 (make_lispy_event): Use it to determine what makes a double-click.
35 (syms_of_keyboard): DEFVAR_INT it.
36
6594ac22
GM
37 * xmenu.c (set_frame_menubar): Take into account that
38 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
39 <raeburn@gnu.org>.
40
75c5350a
GM
412001-07-27 Gerd Moellmann <gerd@gnu.org>
42
43 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
44
45 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
46 of row's visible height.
47
48 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
49 deal with the first overlay string having an image `display'
50 property.
51 (try_window_reusing_current_matrix, compute_line_metrics): Fix
52 computation of row's visible height for the case that part of the
53 row is invisible above and part of the row is at the same time
54 invisible below the window.
55
ac49effe
GM
562001-07-26 Gerd Moellmann <gerd@gnu.org>
57
58 * xfns.c (x-show-tip): Doc fix.
59
60 * xfns.c (Vx_max_tooltip_size): New variable.
61 (syms_of_xfns): DEFVAR_LISP it.
62 (Fx_show_tip): Set frame's window_width to the width of the
63 window. Use a maximum tooltip size specified by
64 Vx_max_tooltip_size, if that has valid contents.
65 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
66
8c3b00cb
AI
672001-07-26 Andrew Innes <andrewi@gnu.org>
68
69 * w32term.c (x_display_list): New variable.
70 (w32_term_init): Set it.
71
72 * w32term.h (x_display_list): New extern.
73
16098288
GM
742001-07-26 Gerd Moellmann <gerd@gnu.org>
75
76 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
77 is non-nil, instead of when redisplaying_p is non-zero. See
78 comment there.
79 (mark_window_display_accurate_1): Add an assertion.
80
64c5be50
GM
812001-07-25 Gerd Moellmann <gerd@gnu.org>
82
e743f599
GM
83 * dispextern.h (struct it): Increase size of ctl_chars to 16.
84
563b384d
GM
85 * xfns.c (Fx_file_dialog): Block/unblock input while processing
86 events so that we get a chance of processing expose events.
87
64c5be50
GM
88 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
89
296808a5
GM
902001-07-24 Gerd Moellmann <gerd@gnu.org>
91
92 * xfns.c (valid_image_p): Protect better against invalid image
93 specifications. Previous code could signal an error.
94
5247262a
GM
952001-07-23 Gerd Moellmann <gerd@gnu.org>
96
f1004faf
GM
97 * indent.c (current_column): Fix column computation in the
98 presence of display table entries.
99 (current_column_1, Fmove_to_column, compute_motion): Likewise.
100
dd42b31a
GM
101 * dispnew.c (adjust_glyph_matrix): In the optimization for
102 windows whose height has changed, use the new window height
103 to compute which rows to invalidate.
104
9e5a7f2a
GM
105 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
106 (MAX_10_EXP): New macro.
107 (Fformat): Use it.
108
5247262a
GM
109 * coding.c (code_convert_region): Handle the multibyte case if
110 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
111
177ab8ce
GM
1122001-07-20 Gerd Moellmann <gerd@gnu.org>
113
6e07c0a5
GM
114 * dispextern.h (struct face): Change type of `stipple' to
115 int; it's an ID.
116
177ab8ce
GM
117 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
118
b5b80599
GM
1192001-07-19 Gerd Moellmann <gerd@gnu.org>
120
4e2a256b
GM
121 * dispnew.c (update_window): Don't set the cursor at the end
122 of the update if display update has been paused.
123
b5b80599
GM
124 * composite.h (syms_of_composite): Renamed from
125 syms_of_composition.
126
c1fd9232
KR
1272001-07-18 Ken Raeburn <raeburn@gnu.org>
128
129 * fns.c (Fset_char_table_default): Check that a charset is defined
130 before checking its dimension.
131
928a85c1
KR
1322001-07-17 Ken Raeburn <raeburn@gnu.org>
133
134 * coding.c (setup_coding_system): Don't do any designation based
135 on reg_bits if charset is not yet defined.
136
232e274c
KR
137 * lisp.h (XVECTOR): Verify correct object type before returning a
138 pointer, using eassert.
139
de11c1ea
GM
1402001-07-17 Gerd Moellmann <gerd@gnu.org>
141
142 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase
143 to 4096 because of paste problems reported on GNU/Linux.
144
467f1209
GM
1452001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
146
147 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
148
c3d6be34
GM
1492001-07-16 Gerd Moellmann <gerd@gnu.org>
150
c1d61a7d
GM
151 * fileio.c (unwind_read): Function removed.
152 (read_non_regular, read_non_regular_quit): New functions.
153 (Finsert_file_contents): When reading from non-regular files,
154 arrange to catch a `quit' and terminate the loop. Rearrange
155 code so that a `quit' when reading from a regular file doesn't
156 insert text in the buffer.
157
c3d6be34
GM
158 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
159 Clear faces afterwards.
160 (clear_font_table): Take a x_display_info parameter. Don't free
161 fonts being the default font of any frame on the given display.
162
e06aa1f9
GM
1632001-07-13 Gerd Moellmann <gerd@gnu.org>
164
165 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
166 instead of CHAR_STRING which can signal an error.
167
168 * charset.c (char_to_string_1): Extracted from char_to_string.
169 Return -1 instead of signaling an error.
170 (char_to_string): Use it.
171
172 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
173
176c92e6
SM
1742001-07-12 Stefan Monnier <monnier@cs.yale.edu>
175
176 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
177 is t, don't try to append anything to it.
178
1c56232f
EZ
1792001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
180
181 * dired.c (file_name_completion): Pass dp->d_name to
182 Fstring_match, not elt, which is always nil here.
183
1d2b2268
GM
1842001-07-12 Gerd Moellmann <gerd@gnu.org>
185
186 * xselect.c (x_decline_selection_request): Handle errors
187 caused by receivers that have vanished.
188
189 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
190 ignoring events on foreign windows in #if 0. Always dispatch
191 the event after checking it with x_handle_property_notify.
192
193 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
194 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
195 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
196 (toplevel): Add prototypes for file-local functions.
197 (x_atom_to_symbol): Remove DPYINFO parameter.
198
fe5a0162
SM
1992001-07-11 Stefan Monnier <monnier@cs.yale.edu>
200
201 * w32menu.c (menubar_selection_callback, w32_menu_show):
202 Initialize `entry' to nil.
203 (w32_dialog_show): Remove unused `save_wv' variable.
204 (name_is_separator): Recognize "--:foo" and "--foo-bar".
205
a777242c
GM
2062001-07-11 Gerd Moellmann <gerd@gnu.org>
207
8ee5b6a3
GM
208 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
209
d0e2444e
GM
210 * fileio.c (unwind_read): Print a message when discarding inserted
211 text or switching the buffer to unibyte. Change parameter.
212 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 213
a777242c
GM
214 * fileio.c (unwind_read): New function.
215 (Finsert_file_contents): Record it as unwind-function for
216 the case that reading is interrupted by C-g.
217
ae794295
GM
2182001-07-10 Gerd Moellmann <gerd@gnu.org>
219
fe5a0162 220 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
221 update when scrolling_window returns 0.
222
6b05fae3
GM
223 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
224
225 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 226 for the case that x_decode_color signals an error.
6b05fae3 227
ae794295
GM
228 * xdisp.c (add_to_log): Do nothing if called asynchronously.
229
bb6e8cee
GM
2302001-07-09 Gerd Moellmann <gerd@gnu.org>
231
232 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
233 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
234 around ioctls.
235
36b40a8a
EZ
2362001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
237
24b97d4b
EZ
238 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
239 doc string line for dos-timezone-offset.
240
36b40a8a
EZ
241 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
242 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
243 (syms_of_msdos): Add \n\ at the end of a line in the doc string
244 line for dos-unsupported-char-glyph.
36b40a8a
EZ
245
246 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
247
0967b4b0
GM
2482001-07-05 Gerd Moellmann <gerd@gnu.org>
249
f25cfe53
GM
250 * sound.c: Include Emacs' header files with #include "...".
251
0967b4b0
GM
252 * eval.c (specbind): Additionally record the buffer that was
253 current when a buffer-local or frame-local variable was bound.
254
c347a1c3
GM
2552001-07-04 Gerd Moellmann <gerd@gnu.org>
256
257 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
258 to unibyte characters in unibyte buffers.
259
6332ca8a
GM
2602001-07-03 Gerd Moellmann <gerd@gnu.org>
261
38472d44
GM
262 * eval.c (specbind): If SYMBOL has a frame-local binding, record
263 the frame on the binding stack. Change format of entries for
264 local bindings on the binding stack to '(SYMBOL . WHERE)'.
265 (unbind_to): Handle unbinding a frame-local variable.
266
6332ca8a 267 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 268 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
269 (dump_glyph_row): Print row's continuation_lines_width.
270 (try_window_id): Take the shortcut if ZV is visible in the
271 window, but there are actually no changes at ZV.
272
63d1b174
GM
2732001-07-02 Gerd Moellmann <gerd@gnu.org>
274
4c175203
GM
275 * xterm.h (x_free_dpy_colors): Add prototype.
276
277 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
278 right number of arguments.
279
0b54ce28
GM
280 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
281 ($(lwlibdir)TAGS): New target.
4c175203 282 (TAGS): Fix dependency list.
0b54ce28 283
63d1b174
GM
284 * xterm.c (x_list_fonts): Make sure XFreeFont is called
285 with input blocked.
286
d827466c
GM
2872001-06-30 Gerd Moellmann <gerd@gnu.org>
288
289 * emacs.c (main): Remove extern declaration for sys_nerr, which
290 isn't used and causes a compilation error with GCC 3.0 on
291 FreeBSD 4.3.
292
b5cb1ada
GM
2932001-06-27 Gerd Moellmann <gerd@gnu.org>
294
a5d3ec3f
GM
295 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
296 SIGIO around the code where Xt might wait for a
297 ConfigureNotifyEvent.
298 (toplevel): Include <signal.h> and syssignal.h.
299
b5cb1ada
GM
300 * sound.c (vox_configure, vox_close): Turn off atimers
301 around ioctls.
302
d9bad487
GM
3032001-06-26 Gerd Moellmann <gerd@gnu.org>
304
fdbb67fe
GM
305 * keyboard.c (read_char) <non_reread>: Record the previous idle
306 start time before calling timer_stop_idle.
307 (read_char) <reread_first>: After processing a help-echo event,
308 restore the previous idle start time.
309
d9bad487
GM
310 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
311 the start of invisible text.
312 (setup_for_ellipsis): New function.
313 (next_overlay_string): After all overlay strings have been
314 processed, display an ellipsis if necessary.
315 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
316 (push_it): Initialize display_ellipsis_p on the iterator's stack.
317
318 * dispextern.h (struct iterator_stack_entry): Add member
319 display_ellipsis_p.
320
2b9c25e0
GM
3212001-06-25 Gerd Moellmann <gerd@gnu.org>
322
80de57df
GM
323 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
324 on the value of the wait-for-wm frame parameter.
325
326 * xterm.h (struct x_output): Add member wait_for_wm.
327
328 * xfns.c (Qwait_for_wm): New variable.
329 (x_frame_parms): Add entry for `wait-for-wm".
330 (x_set_wait_for_wm): New function.
331 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
332 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
333
2b9c25e0
GM
334 * xdisp.c (try_window_id) <all changes below window end>: Don't
335 take this shortcut if ZV is visible in the window.
336 (try_window_id): When checking for window start being in changed
337 text, don't check that the buffer's size has changed.
338
f772775c
RS
3392001-06-23 Richard M. Stallman <rms@gnu.org>
340
341 * minibuf.c (Fcompleting_read): Doc fix.
342
fa9090b8
GM
3432001-06-19 Gerd Moellmann <gerd@gnu.org>
344
345 * composite.c (Ffind_composition_internal): Accept ZV
346 and a string's end position as POS.
347
f6f1beba
GM
3482001-06-18 Gerd Moellmann <gerd@gnu.org>
349
350 * composite.c (Ffind_composition_internal): Check POS
351 for validity.
352
0ae83348
EZ
3532001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
354
355 * editfns.c (Fmessage_box): If the frame is not under a window
356 system, output the message in the echo area.
357
e4cdc335
RS
3582001-06-14 Richard M. Stallman <rms@gnu.org>
359
360 * xdisp.c (try_window_id): When EOB is visible, don't treat
361 insertion at EOB as if it were "off the bottom of the screen."
362
a55a5f3c
AI
3632001-06-11 Andrew Innes <andrewi@gnu.org>
364
365 * w32proc.c (create_child): Add new parameter is_gui_app.
366 (w32_executable_type): Add new parameter is_gui_app.
367 (sys_spawnve): Use it.
368 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
369 SIGQUIT. This matches better how the signals are interpreted by
370 MSVC compiled programs.
371 (syms_of_ntproc): Update docstring.
372
1b85dc1c
SM
3732001-06-02 Stefan Monnier <monnier@cs.yale.edu>
374
375 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
376 well otherwise note_mouse_highlight might optimize away highlighting
377 if we pass over that same overlay again.
378
b75f8eab
EZ
3792001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
380
381 * lread.c (Fload): Document that the argument is run via
382 substitute-in-file-name.
383
94843cc1
GM
3842001-05-31 Gerd Moellmann <gerd@gnu.org>
385
b14659e6
GM
386 * Makefile.in (bootstrap-doc): New target.
387 (bootstrap-emacs): Depend on it.
388
0894672f
GM
389 * fileio.c (Fdo_auto_save): Don't try to create the directory of
390 auto-save-list-file-name when shutting down Emacs, because
391 creating the directory might signal an error, and leaves
392 Emacs in a strange state.
393
94843cc1
GM
394 * term.c: (tty_cursor_hidden): New variable.
395 (update_begin): Don't call tty_hide_cursor. Clean up.
396 (update_end, set_terminal_window, set_scroll_region): Clean up.
397 (ring_bell, reset_terminal_modes): Clean up.
398 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
399 on tty_cursor_hidden.
400 (write_glyphs): Call tty_hide_cursor.
401
db3a49a6
SM
4022001-05-30 Stefan Monnier <monnier@cs.yale.edu>
403
404 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
405
8bd189fb
GM
4062001-05-30 Gerd Moellmann <gerd@gnu.org>
407
6f1be3b9
GM
408 * xfns.c (enum image_value_type): New enumerator
409 IMAGE_STRING_OR_NIL_VALUE.
410 (parse_image_spec): Handle it.
411 (xbm_format, pbm_format): Use it for :foreground and :background.
412 (xbm_load, pbm_load): Check for nil color names.
413
8bd189fb
GM
414 * xterm.c (note_mouse_highlight): If an overlapping overlay
415 exists, but we find that we highlight the same overlay as before,
416 don't do the highlighting again.
417
7bdba03c
GM
4182001-05-29 Gerd Moellmann <gerd@gnu.org>
419
4c329aa8
GM
420 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
421 Protect unibyte strings created by replacing their multibyte
422 equivalents in menu_items.
423
e15e2828
GM
424 * keymap.c (Fsingle_key_description): NUL-terminate the string
425 buffer before calling build_string.
426
7bdba03c
GM
427 * callproc.c (Fcall_process): Deal with decode_coding returning
428 CODING_FINISH_INCONSISTENT_EOL.
429
89c8dc6c
GM
4302001-05-28 Gerd Moellmann <gerd@gnu.org>
431
db3a49a6 432 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
433 an item's name with its key description in case the description
434 is a multibyte string.
435
436 * keymap.c (Fsingle_key_description): Create a multibyte string
437 only if necessary.
438
eb04d6cd
GM
439 * macros.c (Fstart_kbd_macro): Doc fix.
440
8bd6307f
GM
441 * xterm.c (cursor_in_mouse_face_p): New function.
442 (x_draw_stretch_glyph_string): Use it to choose a different GC
443 when drawing a cursor within highlighted text.
444
e26c4089
GM
445 * editfns.c (char_property_eq): Put in #if 0.
446
447 * indent.c (string_display_width): Put in #if 0.
448
449 * lread.c (Fload): Remove unused label.
450
89c8dc6c
GM
451 * termcap.c (speeds): Put in #if 0.
452
9a1211f2
GM
4532001-05-18 Gerd Moellmann <gerd@gnu.org>
454
29148a3f
GM
455 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
456
9a1211f2
GM
457 * xfaces.c (xlfd_point_size): Don't divide pixel size from
458 transformation matrix by 10.
459
09393d07
GM
4602001-05-16 Gerd Moellmann <gerd@gnu.org>
461
462 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
463 only if it's equal to the former foreground pixel color.
db3a49a6 464 (x_set_foreground_color, x_set_background_color)
09393d07
GM
465 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
466
460e6bae
GM
4672001-05-16 Dave Love <fx@gnu.org>
468
469 * insdel.c (signal_before_change, signal_after_change): Consider a
470 local change hook which changes the buffer.
99c78ce8
GM
471
472 * process.c (read_process_output): Don't call signal_after_change
473 and update_compositions after insert_from_string_before_markers.
474
dbcf3c03
GM
4752001-05-16 Gerd Moellmann <gerd@gnu.org>
476
a90b3d3c
GM
477 * xfaces.c (split_font_name): Use the right field when
478 checking for `[...]' syntax.
479
1b7818b4
GM
480 * buffer.c (copy_overlays): New function.
481 (clone_per_buffer_values): Use it.
482
483 * buffer.h (OVERLAY_PLIST): New macro.
484
9bae8781
GM
485 * keymap.c (Fsingle_key_description): Replace a build_string with
486 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
487
dbcf3c03
GM
488 * fontset.c (Ffontset_info): Check that face is non-null
489 before accessing its fields.
490
8a1ae4dd
GM
4912001-05-15 Gerd Moellmann <gerd@gnu.org>
492
18a0a39e
GM
493 * keyboard.c (read_key_sequence): Prevent generating a fake
494 prefix key twice.
495
e335b66a
GM
496 * xfaces.c (split_font_name): Handle `[...]' for the right
497 font name fields.
498
8a1ae4dd
GM
499 * ccl.c (ccl_driver): Don't copy remaining bytes in case
500 of CCL_STAT_INVALID_CMD.
501
3cf80731
SM
5022001-05-14 Stefan Monnier <monnier@cs.yale.edu>
503
33568849
SM
504 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
505 in <var> has no default value yet.
506
3cf80731
SM
507 * xfaces.c (try_alternative_families): First try the FAMILY.
508 And if nothing is found in the end, try again with scalable fonts.
509 (try_font_list): Let try_alternative_families do a bit more of
510 the work. Only use FAMILY if it is not nil.
511 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
512
933b0249
GM
5132001-05-14 Gerd Moellmann <gerd@gnu.org>
514
58e5af83
GM
515 * xterm.c (note_mouse_highlight): Avoid changing the mouse
516 pointer shape when show_mouse_face has already done it.
33568849 517
58e5af83 518 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
519 full-width rows.
520
7b16a6bf
GM
521 * xfaces.c (split_font_name): Make sure to leave the loop
522 with the right value of `i'.
3cf80731 523
933b0249
GM
524 * xfaces.c (split_font_name): Handle matrix transformations
525 in the pixel and point size fields of XLFD font names.
526 (xlfd_point_size): Likewise.
527
dddcbf00
EZ
5282001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
529
3cf80731 530 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
531 (x_to_w32_font): Add prototype.
532
7689ef0b
EZ
533 * regex.c (malloc, realloc, free) [emacs]: Undefine before
534 redefining, to avoid compiler warnings.
535
e7c15bba
EZ
536 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
537
dddcbf00
EZ
538 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
539 (w32_get_bdf_glyph): Cast between unsigned char and char when
540 passing arguments to subroutines, to shut up compiler warnings.
541 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
542 GET_HEX_VAL.
543
544 * xfaces.c: Include keyboard.h before frame.h, not after it.
545
546 * widget.c: Include keyboard.h before frame.h.
547
548 * w32term.h (struct image, struct face): Forward declaration, to
549 avoid compiler warnings.
550
7bd2d083
GM
5512001-05-11 Gerd Moellmann <gerd@gnu.org>
552
47e72862
GM
553 * keyboard.c (read_key_sequence): Don't modify events when
554 generating fake prefix keys (mode-line, scroll-bar, ...) since
555 this prevents proper processing of such events when pushed back
556 into unread-command-events.
557
dd5f324b
GM
558 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
559 actually redrawn. Make the function static.
560 (note_mouse_highlight): Fix a case where the mouse cursor
561 was changed back to the text cursor.
562
563 * xterm.h (clear_mouse_face): Remove prototype.
564
d88a79d4
GM
565 * xdisp.c (try_window_id): Fix the fix and set the right
566 window_end_vpos.
567
568 * xdisp.c (try_window_id): Fix computation of window end in the
569 case that lines were deleted at the end of the window. Add some
570 more debug_method_adds.
0416532f 571
7bd2d083
GM
572 * xfaces.c (try_alternative_families): New function.
573 (try_font_list): Use it. If ATTRS specifies a family, check
574 fonts from that family first.
575 (choose_face_font): Remove code setting the family part of
576 the pattern to nil.
577
23fca891
GM
5782001-05-10 Gerd Moellmann <gerd@gnu.org>
579
ff9aa2ca
GM
580 * xdisp.c (try_window_id): Fix case of all changes before
581 the window start.
7b2654b5 582
23fca891
GM
583 * xdisp.c (try_window_id): Add some xasserts.
584
e9726794
GM
5852001-05-09 Gerd Moellmann <gerd@gnu.org>
586
587 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
588
9e53a675
GM
5892001-05-09 Dave Love <fx@gnu.org>
590
591 * xdisp.c (GIVE_UP): Fix for K&R C.
592
0d487c52
GM
5932001-05-09 Gerd Moellmann <gerd@gnu.org>
594
fe88d421
GM
595 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
596
0d487c52
GM
597 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
598 back to the text cursor shape without need.
599
1e9fc92e
GM
6002001-05-07 Gerd Moellmann <gerd@gnu.org>
601
a2a6232e
GM
602 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
603
604 * dispextern.h (inverse_video): Declare extern.
605
1e9fc92e
GM
606 * keyboard.c (delete_kboard): Handle the case that selected_frame
607 has been deleted in the course of x_connection_closed.
608
12949a7f
EZ
6092001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
610
7b2654b5
SM
611 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
612 Fix the change from 2001-04-30.
12949a7f 613
2fa2f461
GM
6142001-05-03 Gerd Moellmann <gerd@gnu.org>
615
a779d213
GM
616 * xfns.c (file_dialog_unmap_cb): New function.
617 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
618 where a dialog is closed via the window manager.
619
7b2654b5 620 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
621 the window start or all below the window end mostly rewritten.
622 (redisplay_window): Move the tests if try_window_id is
623 applicable to try_window_id.
624 (GIVE_UP): New macro.
625
3356df63
GM
6262001-05-02 Gerd Moellmann <gerd@gnu.org>
627
a39202f6 628 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
629 currently being updated, mark the frame garbaged.
630 Fix computation of rows intersecting the exposed rectangle.
a39202f6 631 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 632
3356df63
GM
633 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
634 again if it has already been drawn.
635
a9d2fd1d
SM
6362001-05-01 Stefan Monnier <monnier@cs.yale.edu>
637
638 * syntax.c (update_syntax_table): Check that oldi has the same
639 properties as old_prop before deciding not to invalidate.
640
c95fc5f1
GM
6412001-04-30 Gerd Moellmann <gerd@gnu.org>
642
a9793e45
GM
643 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
644 read-only text that is so because of text properties.
645
c95fc5f1 646 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 647 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
648 windows that are components of a Lucid menu bar.
649
5a5d9185
GM
6502001-04-27 Gerd Moellmann <gerd@gnu.org>
651
652 * term.c (turn_on_face): Fix reverse video handling on terminals
653 that don't support colors.
654
ba973f7a
GM
6552001-04-26 Gerd Moellmann <gerd@gnu.org>
656
657 * editfns.c (save_excursion_restore): Don't use XBUFFER on
658 a non-buffer.
659
8c56a983
GM
6602001-04-25 Gerd Moellmann <gerd@gnu.org>
661
a728644c
GM
662 * term.c (toggle_highlight): New function.
663 (turn_on_face): Change handling of reverse video.
664
7b2654b5
SM
665 * process.c (wait_reading_process_input):
666 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 667
bfd8410f
GM
668 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
669 of the number of overlays to check.
670
be2488ca
GM
671 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
672
8c56a983
GM
673 * xdisp.c (try_window_id): Fix a case where window_end_pos
674 and window_end_bytepos were not adjusted.
675
522d42f7
GM
6762001-04-23 Gerd Moellmann <gerd@gnu.org>
677
678 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
679 zero instead of -1.
680
78c1afb6
EZ
6812001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
682
a9d2fd1d
SM
683 * process.c (wait_reading_process_input) [!subprocesses]:
684 Don't reference waiting_for_user_input_p, it's not defined in the
685 branch without async subprocesses support.
78c1afb6 686
a2fab450
GM
6872001-04-19 Gerd Moellmann <gerd@gnu.org>
688
a122a38e
GM
689 * keyboard.c (delete_kboard): Prevent a dangling reference
690 from current_kboard to KB, which is freed.
691
a9d2fd1d
SM
692 * process.c (wait_reading_process_input):
693 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
694 read_key_sequence aware of buffer changes from under it.
695
0f8d6dc7
GM
6962001-04-18 Gerd Moellmann <gerd@gnu.org>
697
eeffb293
GM
698 * xfaces.c (Qscalable_fonts_allowed): New variable.
699 (realizing_basic_faces_p): Removed.
2fa2f461
GM
700 (x_face_list_fonts): Special handling for realizing_basic_faces_p
701 removed.
eeffb293 702 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
703 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
704 for scalable-fonts-allowed to t.
eeffb293 705
0f8d6dc7
GM
706 * fileio.c (Finsert_file_contents): If the file size returned from
707 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 708 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 709
eec2d1de
EZ
7102001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
711
712 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
713 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
714 (__memalign_hook): Make the two prototypes consistent.
715
f4f480bd
GM
7162001-04-17 Gerd Moellmann <gerd@gnu.org>
717
718 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
719 matrix of mini-windows.
720
52283633
SM
7212001-04-12 Stefan Monnier <monnier@cs.yale.edu>
722
723 * intervals.c (find_interval): Don't rebalance during signal handling.
724
ec2423c9
GM
7252001-04-11 Gerd Moellmann <gerd@gnu.org>
726
30cb0001 727 * fns.c: Include blockinput.h.
52283633 728
ec2423c9
GM
729 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
730
719d83ad
GM
7312001-04-10 Gerd Moellmann <gerd@gnu.org>
732
60f8d735
GM
733 * fns.c (Fcompare_strings): Fix return values.
734
afffeb57
GM
735 * window.c (window_scroll): Change the meaning of N to mean
736 N screen-fulls or N lines.
737 (window_scroll_pixel_based, window_scroll_line_based)
738 (scroll_command, Fscroll_other_window): Change accordingly.
739
52283633
SM
740 * window.c (window_scroll_pixel_based, Frecenter):
741 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
742 height of the window.
743
744 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
745 instead of using it.last_visible_y for the height of the window.
52283633 746
719d83ad 747 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 748 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
749
750 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
751 able to write to hidden and system files. From Dan Holmsand
752 <dan@eyebee.com>.
719d83ad 753
8ddf3ee1
GM
754 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
755 Holmsand <dan@eyebee.com>.
719d83ad 756
522ed7fb
GM
7572001-04-09 Gerd Moellmann <gerd@gnu.org>
758
9170e5d4
GM
759 * fns.c (Fplist_get, Fplist_put): Add QUITs.
760
522ed7fb
GM
761 * window.c (window_internal_height): Return 1 less if the
762 window has a header line.
763
764 * xdisp.c (try_window_id): When scrolling on a terminal, take
765 the change of window_internal_height into account.
766
ceeb3d7d
EZ
7672001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
768
769 * gmalloc.c (align): If the argument SIZE would overflow
770 __malloc_ptrdiff_t, fail right away.
771
63685b9d
GM
7722001-04-06 Gerd Moellmann <gerd@gnu.org>
773
774 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
775 Make sure the tooltip is completely visible.
776 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
777
778 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
779
780 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
781
3ffb33bb
DL
7822001-04-06 Dave Love <fx@gnu.org>
783
52283633
SM
784 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
785 Fix test of `from'.
3ffb33bb 786
869fb12c
GM
7872001-04-06 Gerd Moellmann <gerd@gnu.org>
788
52283633 789 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 790
869fb12c
GM
791 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
792
441bf856
GM
7932001-04-05 Gerd Moellmann <gerd@gnu.org>
794
4d664b04
GM
795 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
796
52283633 797 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 798
30ca89f5
GM
799 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
800 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
801
802 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
803 shell widget's position only if it is non-null.
804
52283633
SM
805 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
806 Set f->output_data.x->widget to null after destroying it.
30ca89f5 807
81a81c0f
GM
808 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
809 FILENAME to bring it in synch with the documentation.
810
441bf856
GM
811 * xfaces.c (realizing_basic_faces_p): Renamed from
812 realize_default_face_p.
813 (realize_basic_faces): Set/clear realizing_basic_faces_p.
814 (realize_default_face): Don't set the flag.
815
702a1e8e
GM
8162001-04-04 Gerd Moellmann <gerd@gnu.org>
817
1013f4e3
GM
818 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
819
52283633
SM
820 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
821
1013f4e3
GM
822 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
823 the buffer that was used for echoing.
824
702a1e8e
GM
825 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
826 (first_font_matching): Removed unused function.
827 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
828 (may_use_scalable_font_p): Remove parameter FONT; rename
829 parameter NAME to FONT.
830 (x_face_list_fonts): Fix missing bounds check.
831 (realizing_default_face_p): New variable.
832 (realize_default_face): Set and clear that flag.
833 (x_face_list_fonts): When called during the realization of the
834 default face, and no matching fonts are found when ignoring
835 scalable fonts and fonts matching a regexp from
836 face-ignored-fonts, try without ignoring fonts.
837
f9dbcda4
GM
8382001-04-03 Gerd Moellmann <gerd@gnu.org>
839
ad18ffb1
GM
840 * xfns.c (postprocess_image): New function.
841 (lookup_image): Call it for all image types except PostScript.
842 (x_kill_gs_process): Call postprocess_image.
843
f9dbcda4
GM
844 * xterm.c (x_use_underline_position_properties): New variable.
845 (x_draw_glyph_string): Use it.
846 (syms_of_xterm): DEFVAR_BOOL it.
847
651f03b6
GM
8482001-04-02 Gerd Moellmann <gerd@gnu.org>
849
850 * xterm.c (x_alloc_nearest_color_1): New function.
851 (x_alloc_nearest_color): Use it.
852 (x_color_cells): Take a Display as argument, instead of a frame.
853 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
854 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
855 (x_initialize): Register cvt_string_to_pixel as resource converter
856 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
857
73d75a62
GM
8582001-03-30 Gerd Moellmann <gerd@gnu.org>
859
b2046df8
GM
860 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
861 (set_iterator_to_next): If a string from a display property ends,
862 consider the case that this might also be the end of an
863 overlay string having the display property.
864
52283633 865 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 866
87d8eba4
GM
867 * xdisp.c (reseat_to_string): Undo last change.
868
73d75a62
GM
869 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
870 matrix of a window when the header line changes, when
871 new rows are allocated, or when the width changes.
872
911a2406
EZ
8732001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
874
52283633 875 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 876
aea51abe
EZ
8772001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
878
879 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
880 deprecated.
881
176bc847
GM
8822001-03-29 Gerd Moellmann <gerd@gnu.org>
883
ed31fabf
GM
884 * data.c (Fsubr_interactive_form): New function.
885 (syms_of_data): Defsubr it.
886
176bc847
GM
887 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
888 (live_float_p, live_misc_p): Return 1 only if the offset of the
889 pointer in its block is >= 0.
890
e59d0e9d
GM
8912001-03-28 Paul Eggert <eggert@twinsun.com>
892
893 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
894 microseconds calcuation. Avoid double-rounding problem.
895 In doc string, warn that the result is approximate.
896
f827b862
GM
8972001-03-28 Gerd Moellmann <gerd@gnu.org>
898
30a3f61c
GM
899 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
900 bind `inhibit-eval-during-redisplay' to t.
901
902 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
903
904 * xdisp.c (inhibit_eval_during_redisplay)
905 (Qinhibit_eval_during_redisplay): New variables.
906 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
907 don't eval, return nil instead.
908 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
909 Initialize Qinhibit_eval_during_redisplay.
910
e719f5ae
GM
911 * xdisp.c (reseat_to_string): If STRING is multibyte, set
912 the iterator's multibyte_p flag.
913
deb2613a
GM
914 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
915 instead of setting it to zero; it's incremented for each frame
916 where the menu face is changed.
917
52283633
SM
918 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
919 change bottom shadow accordingly.
920
921 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
922 intersections here.
923 (expose_window): Do it here instead.
52283633 924 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 925
f827b862
GM
926 * bytecode.c (BYTE_CODE_QUIT): New macro.
927 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
928
4bde0ebb
GM
9292001-03-27 Gerd Moellmann <gerd@gnu.org>
930
607ec83c
GM
931 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
932 Give up if matrix starts in an ellipsis.
933 (init_from_display_pos): Do nothing if POS doesn't specify
934 a dpvec_index but the iterator has such a position.
935
0245398f
GM
936 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
937
aba25348
GM
938 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
939 x/y position is (0, 0) after destroying the menu bar, restore
940 its original position.
941
4bde0ebb
GM
942 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
943 (init_from_display_pos): Use it.
944 (try_window_reusing_current_matrix): Don't use cursor_row_p.
945
8cdb267e
GM
9462001-03-26 Gerd Moellmann <gerd@gnu.org>
947
948 * xdisp.c (try_window_id): Undo last change.
949
9948db79
EZ
9502001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
951
952 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
953
954 * buffer.c (syms_of_buffer): Doc fix.
955
2eddf899
GM
9562001-03-26 Gerd Moellmann <gerd@gnu.org>
957
958 * xfaces.c (x_update_menu_appearance): Use local variable
959 popup_path for setting font resources.
960
6c145d35
EZ
9612001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
962
6a65b1b5
EZ
963 * frame.c (Fframe_list): Don't reference tip_frame if
964 HAVE_WINDOW_SYSTEM is not defined.
965
6c145d35
EZ
966 * emacs.c (main): Update the copyright year. From Werner LEMBERG
967 <wl@gnu.org>.
968
d74c1900
GM
9692001-03-25 Gerd Moellmann <gerd@gnu.org>
970
20fbd925
GM
971 * xdisp.c (init_from_display_pos): Test invisible property
972 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 973
927c5b3b
GM
974 * xdisp.c (redisplay_internal) <update one window>: Make sure
975 last_arrow_position and last_arrow_string are set.
976
d74c1900
GM
977 * frame.c (Fframe_list): Don't return a tooltip frame.
978
091f8878
GM
9792001-03-23 Gerd Moellmann <gerd@gnu.org>
980
52283633
SM
981 * xdisp.c (mark_window_display_accurate_1): New function,
982 extracted from mark_window_display_accurate.
983 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
984 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
985 (mark_window_display_accurate): Use it.
986 (redisplay_internal): Use it for the selected window.
987 (redisplay_internal): Avoid duplicate mark_window_display_accurate
988 for the selected frame.
989
ac90c44f
GM
990 * xdisp.c Use make_number, for readability.
991 (try_window_id): Disable rows below the window end.
992 (try_window_reusing_current_matrix): Use cursor_row_p.
993 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
994 of rows.
995 (init_from_display_pos): If POS specifies a position in a display
996 vector, maybe get the iterator set up for that ellipsis.
43c09969 997
091f8878
GM
998 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
999
991786dd
EZ
10002001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1001
1002 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1003
6c29b43c
GM
10042001-03-23 Gerd Moellmann <gerd@gnu.org>
1005
1006 * xfaces.c (x_update_menu_appearance): Use a different path
1007 for Lucid popup menus.
1008
d8731202
SM
10092001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1010
1011 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1012
1013 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1014 (string_buffer_position): Use `make_number'.
1015
f61a541b
GM
10162001-03-22 Gerd Moellmann <gerd@gnu.org>
1017
3c9e997b
GM
1018 * xfaces.c (x_update_menu_appearance): Renamed from
1019 x_set_menu_face_resources. Use different resources for popups.
1020
1021 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1022 (GC_CHECK_STRING_BYTES): Don't define.
1023
364cd450
GM
1024 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1025 Removed, together with subroutines.
1026 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1027 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1028
d8731202
SM
1029 * dispextern.h (x_set_menu_resources_from_menu_face):
1030 Remove prototype.
364cd450 1031
d8731202 1032 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1033 Remove calls to x_set_menu_resources_from_menu_face.
1034
d8731202
SM
1035 * xfaces.c (xm_set_menu_resources_from_menu_face):
1036 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1037
1038 * xmenu.c: Include widget.h.
1039 (single_submenu): Return int. Some cleanup.
1040 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1041
140330de
GM
10422001-03-21 Gerd Moellmann <gerd@gnu.org>
1043
1044 * xterm.c (x_update_window_end): Handle overwritten mouse face
1045 also for tool bar windows.
1046 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1047 DRAW is DRAW_IMAGE_RAISED.
1048
1741905c
GM
10492001-03-20 Gerd Moellmann <gerd@gnu.org>
1050
fa88947e
GM
1051 * print.c (syms_of_print): Doc fixes.
1052
1741905c
GM
1053 * fns.c (Fmd5): Doc fix.
1054
ade0bee1
GM
10552001-03-19 Gerd Moellmann <gerd@gnu.org>
1056
357e7376
GM
1057 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1058 Clear area of the frame not occupied by the scroll bar.
1059
c2c097cc
GM
1060 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1061 tip frame's root window buffer to *tip* right after creating
1062 the frame.
1063
ade0bee1
GM
1064 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1065 is an integer don't have to be for space characters.
1066
88c6e37e
GM
10672001-03-16 Gerd Moellmann <gerd@gnu.org>
1068
52283633
SM
1069 * indent.c (current_column, current_column_1, Fmove_to_column)
1070 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1071
c62eed76
KH
10722001-03-15 Kenichi Handa <handa@etl.go.jp>
1073
1074 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1075 drawing glyph string.
1076
c899e7e6
GM
10772001-03-15 Gerd Moellmann <gerd@gnu.org>
1078
d0bbfc99
GM
1079 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1080 (command_loop_1): Undo last change.
1081
03d1a189
GM
1082 * xterm.c (fast_find_position): Return the correct vpos.
1083
c899e7e6 1084 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1085 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1086 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1087 Call store_symval_forwarding with BUF null.
1088 (set_internal): Call store_symval_forwarding with the BUF
1089 parameter passed to set_internal. Formerly, the value was always
1090 set in the current buffer; the buffer recorded in specbind for
1091 this case wasn't used.
1092 (arith_driver): Reindent.
1093
52283633
SM
1094 * buffer.c (swap_out_buffer_local_variables):
1095 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1096
1097 * lisp.h (store_symval_forwarding): Change prototype.
1098
1099 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1100
57ac7c81
GM
11012001-03-14 Gerd Moellmann <gerd@gnu.org>
1102
697617d9
GM
1103 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1104 FOR_DELETION. Avoid resizing the mini-window of the selected
1105 frame if FOR_DELETION is set.
1106 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1107 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1108 signature.
1109
1110 * window.c (Fset_window_configuration): Change call to
1111 do_switch_frame to new format.
1112
1113 * keyboard.c (quit_throw_to_read_char): Change call to
1114 do_switch_frame to new format.
1115
1116 * lisp.h (do_switch_frame): Change prototype.
1117
819dce0f
GM
1118 * frame.c (Fframe_parameters): In the `buffer-list' frame
1119 parameter, store the buffer list of FRAME, not the list of the
1120 selected frame.
1121
57ac7c81
GM
1122 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1123 box just because the glyph row's full_width_p flag is set.
1124
65008712
GM
11252001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1126
1127 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1128 skip the padding blanks inserted in extend_face_to_end_of_line,
1129 before checking for trailing whitespace.
1130
159cf431
GM
11312001-03-13 Gerd Moellmann <gerd@gnu.org>
1132
52283633 1133 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1134 Remove special handling for LessTif/Motif.
1135 (toplevel): Don't include Xm/Xm.h.
1136
52283633
SM
1137 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1138 Remove workaround code for LessTif; it doesn't work anymore.
1139
2564ea1b 1140 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1141 Xm/ScrollBarP.h.
afcdc0a1 1142
52283633
SM
1143 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1144 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1145 contemporary LessTif.
1146
52283633
SM
1147 * xfaces.c (xm_set_menu_resources_from_menu_face):
1148 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1149
159cf431
GM
1150 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1151 removing button grabs.
1152
c6f7429a
KH
11532001-03-13 Kenichi Handa <handa@etl.go.jp>
1154
cb82d767
KH
1155 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1156 and clip-large-size-font as obsolete.
1157
c6f7429a
KH
1158 * lread.c (read_multibyte): Check the validity of multibyte
1159 sequence. If invalid, return the first byte.
1160
760cefb5
GM
11612001-03-12 Gerd Moellmann <gerd@gnu.org>
1162
1163 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1164 before running the command; timer functions or process
1165 filters may have set it.
1166
5141f9d0
EZ
11672001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1168
1169 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1170 Doc fix.
1171
b6a15240
GM
11722001-03-12 Gerd Moellmann <gerd@gnu.org>
1173
1174 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1175 to sprintf.
1176
95522746
GM
11772001-03-09 Gerd Moellmann <gerd@gnu.org>
1178
db14cfc5
GM
1179 * dispextern.h (string_buffer_position): Add prototype.
1180
52283633 1181 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1182 (single_display_prop_string_p): New functions.
1183
1184 * xterm.c (note_mouse_highlight): If there's no help-echo on
1185 a string, look at the buffer text ``under'' it.
1186
1187 * keyboard.c (make_lispy_event): Add string info to the event,
1188 analogous to what's done on mode lines.
1189 (read_key_sequence): For a click on a string, consider `local-map'
1190 and `keymap' of that string.
1191
52283633
SM
1192 * keyboard.c (make_lispy_event, make_lispy_movement):
1193 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1194
1195 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1196
1197 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1198 POS; return void.
1199
95522746
GM
1200 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1201 flags argument to emacs_open; it seems to conflict with O_EXCL.
1202
898a399d
KH
12032001-03-09 Kenichi Handa <handa@etl.go.jp>
1204
28cd4910
KH
1205 * composite.h (struct composition): Change types of members;
1206 glyph_len to unsigned, width to unsigned short.
898a399d 1207
4cdf6a6c
AI
12082001-03-08 Andrew Innes <andrewi@gnu.org>
1209
1210 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1211 menu titles.
1212
129004d3
GM
12132001-03-08 Gerd Moellmann <gerd@gnu.org>
1214
221dd3e7
GM
1215 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1216 instead of nil.
1217
52283633 1218 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1219 help-echo in strings.
1220 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1221 (fast_find_string_pos): New function.
1222
52283633
SM
1223 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1224 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1225
1226 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1227 Handle `mouse-face'.
1228
1229 * dispextern.h (face_at_string_position): Change prototype.
1230
52283633 1231 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1232
129004d3
GM
1233 * keyboard.c (make_lispy_event): Avoid generating drag events
1234 if the mouse hasn't actually moved to another buffer position.
52283633 1235
80c8ab8c
DL
12362001-03-08 Dave Love <fx@gnu.org>
1237
129004d3 1238 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1239
989521fd
GM
12402001-03-08 Gerd Moellmann <gerd@gnu.org>
1241
1242 * process.c (Fset_process_window_size): Fix a typo.
1243
bb5c338d
KH
12442001-03-08 Kenichi Handa <handa@etl.go.jp>
1245
1246 * coding.c (detect_coding_sjis): Do more rigid check.
1247 (detect_coding_big5): Likewise.
1248 (decode_coding_sjis_big5): Likewise.
1249 (Fdetect_coding_region): Call detect_coding_system with tailing
1250 anchor byte `\0' for more rigid detection.
52283633 1251 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1252 (Fdetect_coding_string): Likewise.
1253
8b8f9197
SM
12542001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1255
1256 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1257 a string before extracting its data.
1258
3bdf2660
GM
12592001-03-07 Gerd Moellmann <gerd@gnu.org>
1260
1261 * window.c (Frecenter): Rewrite code handling negative values
1262 of ARG on graphical frames.
1263
12642001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1265
1266 * window.c (displayed_window_lines): If W->start is outside the
1267 accessible portion of the buffer, call start_display with BEGV or
1268 ZV instead of W->start.
1269
471f86b9
GM
12702001-03-07 Gerd Moellmann <gerd@gnu.org>
1271
2ab62c6c
GM
1272 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1273
471f86b9
GM
1274 * process.c (Fset_process_filter): Don't crash if the input
1275 file descriptor of PROCESS is closed.
1276 (Fset_process_window_size): Likewise.
1277
101922c3
GM
12782001-03-06 Kenichi Handa <handa@etl.go.jp>
1279
1280 * xterm.c (XTflash): Make the timeout of select shorter, and call
1281 select repeatedly until the desired time expires.
1282
45d051a7
GM
12832001-03-06 Gerd Moellmann <gerd@gnu.org>
1284
1285 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1286
1287 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1288
1289 * lisp.h (Vwindow_list): Declare extern.
1290
8f372c46
EZ
12912001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1292
1293 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1294
f16a7aa5
GM
12952001-03-06 Gerd Moellmann <gerd@gnu.org>
1296
157ae273
GM
1297 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1298 to detect a case where we have to highlight a different region
1299 despite not having left the currently highlighted region.
1300 Set mouse_face_overlay in the x_display_info.
45d051a7 1301 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1302
1303 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1304
1305 * buffer.c (mouse_face_overlay_overlaps): New function.
1306
1307 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1308 (Qmouse_face): Declare extern.
1309
f16a7aa5
GM
1310 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1311 if face_change_count is non-zero.
1312
827afcac
KH
13132001-03-06 Kenichi Handa <handa@etl.go.jp>
1314
1315 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1316 that the source is unibyte.
1317
14c7242e
DL
13182001-03-05 Dave Love <fx@gnu.org>
1319
827afcac 1320 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1321
c28b847b
GM
13222001-03-05 Gerd Moellmann <gerd@gnu.org>
1323
1324 * minibuf.c (read_minibuf): Clean up the binding stack if
1325 called noninteractively.
1326
b86644f2
KH
13272001-03-05 Kenichi Handa <handa@etl.go.jp>
1328
1329 * coding.c (syms_of_coding): Docstring modified.
1330
203682cc 13312001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1332
1333 * charset.c (char_to_string): If a single byte char has modifier
1334 bits that can't be reflected to the character code, ignore them
45d051a7 1335 instead of signaling an error.
b86644f2 1336
e30bd7b7
EZ
13372001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1338
1339 * s/msdos.h: Update copyright notice.
1340
1341 * dosfns.h: Update copyright notice.
1342
1343 * dosfns.c: Update copyright notice.
1344
1345 * msdos.c: Update copyright notice.
1346
b52b65bd
GM
13472001-03-02 Gerd Moellmann <gerd@gnu.org>
1348
1349 * xterm.c (glyph_rect): New function.
1350 (XTmouse_position): Use it to raise the threshold for mouse
1351 movement event generation.
1352
53c4b1e6
EZ
13532001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1354
1355 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1356 specifies (reverse . t), reverse the initial screen colors.
1357 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1358 but we are reversing the colors, set bg_set, not fg_set.
1359 Likewise for setting background-color and reversing: set fg_set.
1360 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1361 in effect.
1362
1363 * xfaces.c (Finternal_set_lisp_face_attribute)
1364 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1365 parameters alist.
1366
f964b4d7
GM
13672001-03-02 Gerd Moellmann <gerd@gnu.org>
1368
ef53d75e
GM
1369 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1370 to a single slash in the middle of file names.
1371
52283633 1372 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1373 Accept only alphanumeric time zone names.
1374
f964b4d7
GM
1375 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1376 or width area.
1377 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1378 a widget to zero height.
52283633 1379
c3c45f65
GM
13802001-03-01 Gerd Moellmann <gerd@gnu.org>
1381
1382 * window.c (Fwindow_end): Call move_it_past_eol only if
1383 ending up on a partially visible line.
1384
028d739a
DL
13852001-03-01 Dave Love <fx@gnu.org>
1386
1387 * ccl.c (Fccl_execute): Doc fix.
1388
57c5889c
GM
13892001-03-01 Gerd Moellmann <gerd@gnu.org>
1390
35f59f6b
GM
1391 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1392 of the tool bar before calling x_figure_window_size.
1393
f84ff02c
GM
1394 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1395 NULL after destroying it, otherwise XTread_socket can access a
1396 destroyed widget when input is unblocked.
1397
8b8f9197 1398 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1399
57c5889c
GM
1400 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1401 same name as before, although there was a change in fontsets.
1402
224227d1
KR
14032001-02-28 Ken Raeburn <raeburn@gnu.org>
1404
4560730a
KR
1405 * lisp.h (Fframe_parameter): Declare.
1406
224227d1 1407 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1408 Lisp_Object.
224227d1 1409
ece93c02
GM
14102001-02-28 Gerd Moellmann <gerd@gnu.org>
1411
11ef99b9
GM
1412 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1413 NULL instead.
1414
1415 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1416 NULL instead.
1417
ece93c02
GM
1418 * alloc.c (toplevel): Include process.h.
1419 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1420 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1421 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1422 (allocate_vector, allocate_hash_table, allocate_window)
1423 (allocate_frame, allocate_process, allocate_other_vector):
1424 New functions.
ece93c02
GM
1425 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1426 (mark_maybe_pointer): New function.
52283633 1427 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1428 remain and not Lisp_Objects.
1429 (min_heap_address, max_heap_address): New variables.
1430 (mem_find): Return MEM_NIL if START is below min_heap_address or
1431 above max_heap_address.
1432 (mem_insert): Compute min_heap_address and max_heap_address.
1433
1434 * process.c (make_process): Use allocate_process.
1435
1436 * frame.c (make_frame): Use allocate_frame.
1437
1438 * window.c (make_window, make_dummy_parent): Use allocate_window.
1439 (Fcurrent_window_configuration): Use allocate_other_vector.
1440
1441 * lisp.h (allocate_vectorlike): Remove prototype.
1442 (allocate_vector, allocate_other_vector, allocate_frame)
1443 (allocate_window, allocate_process, allocate_hash_table):
1444 Add prototypes.
1445
1446 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1447 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1448
063af457
KH
14492001-02-27 Kenichi Handa <handa@etl.go.jp>
1450
1451 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1452 treat the produced bytes as a valid multibyte sequence.
1453
1454 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1455 (ccl_driver) <CCL_WriteMultibyteChar2>:
1456 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1457 <ccl_finish>: Set ccl->eight_bit_control properly.
1458
1459 * ccl.h (struct ccl_program): New member eight_bit_control.
1460
f58c6494
SM
14612001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1462
1463 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1464 accessible_keymaps_char_table.
1465 (accessible_keymaps_char_table): Obey `is_metized'.
1466 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1467 Lisp_Object.
1468
c596c392
GM
14692001-02-26 Gerd Moellmann <gerd@gnu.org>
1470
1471 * dispnew.c: Check HAVE_TERM_H before including term.h.
1472
425de386
AI
14732001-02-24 Andrew Innes <andrewi@gnu.org>
1474
1475 * makefile.w32-in: Update copyright notice.
1476
2ba11bbd
SM
14772001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1478
1479 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1480
66c56ed1
KH
14812001-02-24 Kenichi Handa <handa@etl.go.jp>
1482
4c1593ce
KH
1483 * Makefile.in (lisp): Add international/utf-8.elc.
1484
66c56ed1
KH
1485 * fontset.c (Fnew_fontset): Fix handling of the case that an
1486 element of FONTLIST is a cons of family and registry.
1487
796ead7e
JR
14882001-02-23 Jason Rumney <jasonr@gnu.org>
1489
1490 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1491 to height unconditionally.
1492
1493 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1494 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1495 (x_insert_glyphs): Call window_box_left to obtain the left
1496 x-coordinate of the area to shift.
1497
1498 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1499 safe_run_hooks.
1500
f6839838
AI
15012001-02-22 Andrew Innes <andrewi@gnu.org>
1502
52283633 1503 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1504 ($(BLD)\dispnew.obj):
1505 ($(BLD)\editfns.obj):
1506 ($(BLD)\fileio.obj):
1507 ($(BLD)\filelock.obj):
1508 ($(BLD)\keyboard.obj):
1509 ($(BLD)\w32proc.obj):
1510 ($(BLD)\process.obj):
1511 ($(BLD)\sysdep.obj): Ditto.
1512
1513 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1514 header files.
52283633
SM
1515 ($(BLD)/dispnew.$(O)):
1516 ($(BLD)/editfns.$(O)):
1517 ($(BLD)/fileio.$(O)):
1518 ($(BLD)/filelock.$(O)):
1519 ($(BLD)/keyboard.$(O)):
1520 ($(BLD)/w32proc.$(O)):
1521 ($(BLD)/process.$(O)):
f6839838
AI
1522 ($(BLD)/sysdep.$(O)): Ditto.
1523
c224f70b
GM
15242001-02-22 Gerd Moellmann <gerd@gnu.org>
1525
51695746
GM
1526 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1527 at the start of the function, check that the \n in it->c is
1528 from the iterator's current position.
52283633 1529
a61b7058
GM
1530 * xdisp.c (handle_single_display_prop): Add parameter
1531 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1532 properties which replace the display of text with something else.
1533 (handle_display_prop): Call handle_single_display_prop with
1534 additional argument saying if we already replaced text display
1535 with something else. Use AREF.
52283633 1536 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1537 (decode_mode_spec_coding): Use AREF and ASIZE.
1538
3473f362
GM
1539 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1540 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1541 * vmstime.h: Files removed.
52283633 1542
2bb58df3
GM
1543 * unexencap.c, unexfx2800.c: Files removed.
1544
c224f70b
GM
1545 * dispnew.c (direct_output_for_insert): Give up if we are showing
1546 a message or just cleared the message because we might need to
1547 resize the echo area window or display an empty echo area.
1548
ffc9ff0c
GM
15492001-02-21 Gerd Moellmann <gerd@gnu.org>
1550
0528abe1
GM
1551 * xdisp.c (redisplay_internal): Do the
1552 mark_window_display_accurate after all windows have been
1553 redisplayed because this call resets flags in buffers which are
1554 needed for proper redisplay.
1555
52283633
SM
1556 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1557 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1558 the old names.
1559
52283633
SM
1560 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1561 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1562
1563 * msdos.h (struct x_output): Rename busy_window to
1564 hourglass_window, busy_p to hourglass_p.
1565
52283633
SM
1566 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1567 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1568
1569 * xfns.c: Rename everything containing *busy_cursor* and similar
1570 to *hourglass*.
1571 (syms_of_w32fns): Rename x-busy-pointer-shape to
1572 x-hourglass-pointer-shape, display-busy-cursor to
1573 display-hourglass, busy-cursor-delay to hourglass-delay.
1574
1575 * w32fns.c: Rename everything containing *busy_cursor* and similar
1576 to *hourglass*.
1577 (syms_of_w32fns): Rename x-busy-pointer-shape to
1578 x-hourglass-pointer-shape, display-busy-cursor to
1579 display-hourglass, busy-cursor-delay to hourglass-delay.
1580
1581 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1582 of its busy_p flag.
1583
1584 * dispextern.h (start_hourglass, cancel_hourglass)
1585 (display_hourglass_p): Renamed from *busy_cursor*.
1586
ab2c5f0a
GM
15872001-02-20 Gerd Moellmann <gerd@gnu.org>
1588
d17e49a8
GM
1589 * keyboard.c (read_char): When an event from unread-command-events
1590 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1591
fa97adf6
GM
1592 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1593 equal to the current buffer.
1594
ab2c5f0a
GM
1595 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1596 nil, otherwise we're left with truncate_lines t when a message
1597 is printed with message-truncate-lines bound to t.
1598
aeac019e
GM
15992001-02-19 Gerd Moellmann <gerd@gnu.org>
1600
c8bc6f65
GM
1601 * window.c (Fmove_to_window_line): Undo last change.
1602 (displayed_window_lines): Call line_bottom_y to determine
1603 the line's bottom position.
1604
1605 * dispextern.h (line_bottom_y): Add prototype.
1606
52283633 1607 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1608 (pos_visible_p): Use it.
1609
980a2d69
GM
1610 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1611 set redisplaying_p to 0 here instead of in Frecursive_edit.
1612 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1613 set redisplaying_p.
1614
52283633 1615 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1616 New variables.
1617 (syms_of_xdisp): Initialize new variables.
1618 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1619 Specbind `inhibit-menubar-update' when updating the menu bar.
1620
65048e97
GM
1621 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1622 safe_run_hooks.
1623
1624 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1625 safe_run_hooks.
1626
a57c4026
GM
1627 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1628 is null.
1629
aeac019e
GM
1630 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1631 to the start of the file.
1632
76846b31
GM
16332001-02-16 Gerd Moellmann <gerd@gnu.org>
1634
f3f053f3 1635 * window.c (set_window_buffer): Fix last change.
52283633 1636
f3f053f3
GM
1637 * window.c (set_window_buffer): Set window's vscroll to 0.
1638
dad75588
GM
1639 * window.c (coordinates_in_window): Increase width of area
1640 where the vertical line can be dragged.
1641
c220b753
GM
1642 * xterm.c (x_set_glyph_string_background_width): Extend the
1643 background face to the end of the drawing area in the text
1644 area, only.
1645
c56b1c1b
GM
1646 * xdisp.c (handle_single_display_prop): Set iterator's position
1647 to where the `display' property starts, like for images.
1648 (dump_glyph): New function.
1649 (dump_glyph_row): Use it. Dump info about marginal areas.
1650
1651 * dispnew.c (direct_output_for_insert): Recognize more cases where
1652 glyphs can be written instead of being inserted.
1653
1654 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1655 the left x-coordinate of the area to shift.
1656
76846b31
GM
1657 * dired.c (directory_files_internal): Set result list to nil
1658 before retrying.
1659
0fc71a77
KH
16602001-02-15 Kenichi Handa <handa@etl.go.jp>
1661
1662 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1663 invalid multibyte sequence, treat *SRC as a character of
1664 eight-bit-graphic.
1665
25078b54
EZ
16662001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1667
1668 * textprop.c (Fset_text_properties): Doc fix.
1669
8399f8a0
GM
16702001-02-15 Gerd Moellmann <gerd@gnu.org>
1671
1672 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1673
9a2a6f73
DL
16742001-02-14 Dave Love <fx@gnu.org>
1675
1676 * coding.c: Doc and message fixes.
1677
bf853fee
AI
16782001-02-14 Andrew Innes <andrewi@gnu.org>
1679
1680 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1681 Emacs frame above the screen size.
1682
78c663d8
GM
16832001-02-14 Gerd Moellmann <gerd@gnu.org>
1684
1685 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1686
7cc9f69f
GM
16872001-02-13 Gerd Moellmann <gerd@gnu.org>
1688
0a411995
GM
1689 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1690 case that TO ends up beyond ZV after running before-change-functions.
1691
5ddc1b75
GM
1692 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1693 the selected window if it is showing the buffer in question.
1694
7cc9f69f
GM
1695 * dired.c (directory_files_internal): Initialize errno.
1696 (toplevel): Include errno.h.
1697
2e6621ca
GM
16982001-02-13 Kenichi Handa <handa@etl.go.jp>
1699
1700 * xfaces.c (best_matching_font): New parameter width_ratio.
1701 Multiply avgwidth by width_ratio.
1702 (choose_face_font): Call best_matching_font with width_ratio
1703 calculated from the column width of C.
1704
60222d69
AI
17052001-02-12 Andrew Innes <andrewi@gnu.org>
1706
1707 The following changes are to draw box lines inside characters area
1708 if line-width is negative.
52283633 1709
60222d69
AI
1710 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1711 face->box_line_width is negative.
1712 (x_produce_stretch_glyph): Likewise.
1713 (x_produce_glyphs): Likewise.
1714 (x_estimate_mode_line_height): Likewise.
1715 (x_draw_glyph_string_background): Likewise.
1716 (x_draw_glyph_string_foreground): Likewise.
1717 (x_draw_composite_glyph_string_foreground): Likewise.
1718 (x_draw_glyph_string_box): Likewise.
1719 (x_draw_image_foreground): Likewise.
1720 (x_draw_image_relief): Likewise.
1721 (x_draw_image_foreground_1): Likewise.
1722 (x_draw_image_glyph_string): Likewise.
1723
9804b846
KH
17242001-02-09 Kenichi Handa <handa@etl.go.jp>
1725
1726 The following changes are to draw box lines inside characters area
1727 if line-width is negative.
52283633 1728
9804b846
KH
1729 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1730 face->box_line_width is negative.
1731 (x_produce_stretch_glyph): Likewise.
1732 (x_produce_glyphs): Likewise.
1733 (x_estimate_mode_line_height): Likewise.
1734 (x_draw_glyph_string_background): Likewise.
1735 (x_draw_glyph_string_foreground): Likewise.
1736 (x_draw_composite_glyph_string_foreground): Likewise.
1737 (x_draw_glyph_string_box): Likewise.
1738 (x_draw_image_foreground): Likewise.
1739 (x_draw_image_relief): Likewise.
1740 (x_draw_image_foreground_1): Likewise.
1741 (x_draw_image_glyph_string): Likewise.
1742
1743 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1744 and :line-width can be negative.
52283633 1745 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1746
49be9f70
JR
17472001-02-09 Jason Rumney <jasonr@gnu.org>
1748
1749 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1750 characters the same as ASCII and latin-1.
1751 (x_display_and_set_cursor): Check for the focus frame's selected
1752 window instead of selected_window.
1753 (x_after_update_window_line): Don't clear if frame's internal
1754 border width is zero.
1755 (x_new_font): Don't change a tooltip's size.
1756 (w32_initialize): Set char_ins_del_ok to 1.
1757
1758 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1759 (x_set_font): If font hasn't changed, avoid recomputing
1760 faces and other things.
52283633
SM
1761 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1762 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1763 (x_create_tip_frame): Prevent changing the tooltip's
1764 background color by specifying a color for the default font
1765 in .Xdefaults.
1766 (Qcancel_timer): New variable.
1767 (syms_of_w32fns): Initialize and staticpro it.
1768 (Fx_hide_tip, Fx_show_tip): Use it.
1769 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1770 the timer.
1771 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1772
1773 * w32.c (init_environment): Duplicate local string before putenv.
1774
555e35d2
SZ
17752001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1776
1777 * charset.c (Fstring): A typo.
1778
19c92c94
KH
17792001-02-09 Kenichi Handa <handa@etl.go.jp>
1780
e47a1c33
KH
1781 * charset.c (Fstring): If all arguments are less than 256, return
1782 a unibyte string.
1783
1784 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1785 return a unibyte string.
1786
19c92c94
KH
1787 * coding.c (code_convert_region): After detecting a coding, if
1788 nothing found, set coding->composing to COMPOSITION_NO.
1789 (decode_coding_string): Likewise.
1790
d8e675f5
SM
17912001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1792
1793 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1794 to avoid overflow.
1795
bd503487
KH
17962001-02-07 Kenichi Handa <handa@etl.go.jp>
1797
1798 * charset.c (parse_str_to_multibyte): New function.
1799
1800 * charset.h (parse_str_to_multibyte): Extern it.
1801
1802 * print.c (print_string): If we are going to print a unibyte
1803 string into a multibyte buffer, convert the string to multibyte by
1804 str_to_multibyte.
1805
a8370d72
AI
18062001-02-06 Andrew Innes <andrewi@gnu.org>
1807
1808 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1809 been created. It seems we can get sent window messages such as
1810 WM_ERASEBKGND before we properly update a frame.
1811
c363a1d6
GM
18122001-02-06 Gerd Moellmann <gerd@gnu.org>
1813
1814 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1815 Avoid some unnecessary cursor positioning.
1816
a08332c0
GM
18172001-02-05 Gerd Moellmann <gerd@gnu.org>
1818
52283633 1819 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1820 (LFACE_AVGWIDTH): New macro.
1821 (LFACEP): Use AREF.
1822 (check_lface_attrs): Check LFACE_AVGWIDTH.
1823 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1824 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1825 (merge_face_vectors): Check LFACE_AVGWIDTH.
1826 (Finternal_make_lisp_face): Use AREF.
1827 (xm_set_menu_resources_from_menu_face)
1828 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1829 (Finternal_lisp_face_empty_p): Use AREF.
1830 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1831 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1832 Compare average widths..
1833 (best_matching_font): Arrange for comparing average widths.
1834
52283633
SM
1835 * dispextern.h (enum lface_attribute_index):
1836 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1837
5cb3c8d4
DL
18382001-02-05 Dave Love <fx@gnu.org>
1839
1840 * puresize.h: Revert last change following loadup.el change.
1841
193fba87
AI
18422001-02-05 Andrew Innes <andrewi@gnu.org>
1843
1844 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1845 invocation of temacs, to work with Windows 2000.
1846 (bootstrap-emacs): Ditto.
1847
e16f52ce
GM
18482001-02-05 Gerd Moellmann <gerd@gnu.org>
1849
7a58ab59
GM
1850 * xterm.c (x_display_and_set_cursor): Check for the focus
1851 frame's selected window instead of selected_window.
1852
e89aaabd
GM
1853 * xdisp.c (try_scrolling): If point is in the line below the
1854 window, make sure to move the iterator at least a canonical
1855 char height down.
1856
52283633 1857 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1858
789ce875
KH
18592001-02-05 Kenichi Handa <handa@etl.go.jp>
1860
52283633
SM
1861 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1862 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1863 (ccl_driver): If the CCL program is terminated because of
1864 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1865 destination instead of throwing them away.
1866
20b28f82
GM
18672001-02-02 Gerd Moellmann <gerd@gnu.org>
1868
79fb38c0
GM
1869 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1870 faces and other things.
1871
20b28f82
GM
1872 * xdisp.c (get_next_display_element): Fix case of empty
1873 display table entry.
1874
5a72551e
EZ
18752001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1876
eb24d0bf
EZ
1877 * editfns.c (Fconstrain_to_field): Doc fix.
1878
6a3f48c7
EZ
1879 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1880 into `thoroughly', to make it consistent with the doc string.
1881
5a72551e
EZ
1882 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1883
01acdb05
GM
18842001-02-01 Gerd Moellmann <gerd@gnu.org>
1885
0353b28f
GM
1886 * search.c (search_buffer): Call set_search_regs with a byte
1887 position, not a character position.
1888
01acdb05
GM
1889 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1890 minibuffer-only,
1891
e86b5133
EZ
18922001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1893
1894 * frame.c (Fmodify_frame_parameters): Doc fix.
1895
7442878f
GM
18962001-01-31 Gerd Moellmann <gerd@gnu.org>
1897
01acdb05
GM
1898 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1899 identifier which is not reserved by Standard C.
52283633 1900
7442878f
GM
1901 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1902
1903 * window.c (enum window_part): New enumeration.
1904 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1905 Qright_bitmap_area.
1906 (coordinates_in_window): Return an enumerator from enum
1907 window_part. Fix handling of right scroll bar.
1908 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1909 `right-fringe' instead of `left-bitmap-area' and
1910 `right-bitmap-area'. Use enumerators from enum window_part
1911 instead of hard-coded integers.
52283633
SM
1912 (check_window_containing, window_from_coordinates):
1913 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1914 (syms_of_window): Replace Qleft_bitmap_area and
1915 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1916
7c132cba
EZ
19172001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1918
1919 * editfns.c (Fformat_time_string): Doc fix.
1920
c359dd9e
SM
19212001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1922
1923 * keymap.c (Fwhere_is_internal): Use the first valid binding
1924 if no ascii binding is found (when firstonly is t).
1925
ce070307
GM
19262001-01-31 Gerd Moellmann <gerd@gnu.org>
1927
b4f30ec5
GM
1928 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1929 instead of Finteractive_p.
1930
1931 * lisp.h (interactive_p): Add prototype.
1932
1933 * eval.c (interactive_p): New function.
1934 (Finteractive_p): Use it.
1935
ce070307
GM
1936 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1937
f57b6e64
DL
19382001-01-31 Dave Love <fx@gnu.org>
1939
d61c7afe
DL
1940 * .gdbinit (hook-run): Define to run xreload.
1941
f57b6e64
DL
1942 * textprop.c (Fset_text_properties): Fix newline in doc string.
1943
eef93f99
GM
19442001-01-30 Gerd Moellmann <gerd@gnu.org>
1945
52283633
SM
1946 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1947 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1948
1949 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1950 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1951 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1952
1953 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1954 height.
1955
d9c1f6f9
DL
19562001-01-30 Dave Love <fx@gnu.org>
1957
1958 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1959 AFTER_POTENTIAL_GC.
1960
e8f044a0
GM
19612001-01-29 Gerd Moellmann <gerd@gnu.org>
1962
52283633
SM
1963 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1964 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1965
8e1db7b3
EZ
19662001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1967
1968 * textprop.c (Fset_text_properties): Doc fix.
1969
4eefd9d2
GM
19702001-01-29 Gerd Moellmann <gerd@gnu.org>
1971
1972 * xdisp.c (forward_to_next_line_start): Remove xassert.
1973
fccb8288
EZ
19742001-01-29 Jason Rumney <jasonr@gnu.org>
1975
4eefd9d2 1976 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1977 returning without releasing it.
1978
76581eab
KH
19792001-01-29 Kenichi Handa <handa@etl.go.jp>
1980
1981 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1982 for '^', '$', and '\0'.
1983
83a96b4d
AC
19842001-01-28 Andrew Choi <akochoi@i-cable.com>
1985
5604ec34
AC
1986 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1987 regex for '^', '$', and '\0'.
1988
83a96b4d
AC
1989 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1990 only if current_sblock has been initialized.
1991
1992 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1993 terminal frame even if it is the only visible frame.
1994
c09a6440
KH
19952001-01-28 Kenichi Handa <handa@etl.go.jp>
1996
1997 * fontset.c (font_family_registry): Even if FONTNAME conform to
1998 XLFD, if it specifies other fields than family and registry,
52283633 1999 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2000 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2001 a signle byte character. Don't set FAMILY part to nil here.
2002 It is handled by the caller choose_face_font.
c09a6440
KH
2003 (Fnew_fontset): Call font_family_registry with FORCE 0.
2004 (Fset_fontset_font): Likewise.
2005
4dcd74e6
GM
20062001-01-27 Gerd Moellmann <gerd@gnu.org>
2007
2008 * xdisp.c (display_line): Don't treat a newline as fitting
2009 on the line.
2010
d2906bf8
GM
20112001-01-26 Gerd Moellmann <gerd@gnu.org>
2012
0130fe1a
GM
2013 * window.c (size_window): Set the window's orig_top to nil when
2014 changing heights, so that a future shrink_mini_window won't
2015 restore a bogus height.
2016
550f0e6a
GM
2017 * frame.c (do_switch_frame): If selected frame has a mini-window,
2018 resize that to exact size.
2019
b7b20fbd
GM
2020 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2021
a47b7816
GM
2022 * xdisp.c (display_line): Simplify check for glyphs fitting
2023 entirely in the line.
2024
d2906bf8
GM
2025 * xfns.c (xic_style): New variable.
2026 (create_frame_xic): Move static variable to global scope for
550f0e6a 2027 the case that `static' gets defined away.
d2906bf8 2028
73df2b1e
KH
20292001-01-26 Kenichi Handa <handa@etl.go.jp>
2030
2031 * coding.c (decode_coding): Set a flag for inhibiting
2032 inconsistent eol.
2033 (code_convert_region): Always set saved_coding_symbol.
2034 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2035 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2036
6613cfc4
GM
20372001-01-25 Gerd Moellmann <gerd@gnu.org>
2038
c5e6e06b
GM
2039 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2040 XClearArea.
2041
2042 * xterm.c (x_after_update_window_line): Don't clear if frame's
2043 internal border width is zero.
2044 (x_clear_area): New function.
2045 (x_after_update_window_line, x_clear_end_of_line)
2046 (x_scroll_bar_create, x_scroll_bar_set_handle)
2047 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2048 instead of XClearArea.
2049
2050 * xterm.h (x_clear_area): Add prototype.
2051
6613cfc4
GM
2052 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2053 which doesn't seem necessary anymore with Lesstif 0.92.
2054
650cc6cc
DL
20552001-01-25 Dave Love <fx@gnu.org>
2056
34ac3367
DL
2057 * puresize.h (BASE_PURESIZE): Up to 720000.
2058
650cc6cc
DL
2059 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2060
5e37dc22
GM
20612001-01-25 Gerd Moellmann <gerd@gnu.org>
2062
e1e441f9
GM
2063 * xdisp.c (echo_area_display): Don't call redisplay_internal
2064 when Emacs is shutting down. We can't run hooks etc. that
2065 would be necessary to do a redisplay.
2066
5e37dc22
GM
2067 * lread.c (read_integer): Use type EMACS_INT instead of int.
2068
0fb94c7f
EZ
20692001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2070
2071 * ccl.c (ccl_driver): Fix last change.
2072
e3778624
KH
20732001-01-25 Kenichi Handa <handa@etl.go.jp>
2074
2075 * ccl.h (sturct ccl_program): New member suppress_error.
2076
bb264518 2077 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2078 insert error message to the output.
2079 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2080
2081 * coding.h (struct coding_system): New member suppress_error.
2082
2083 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2084 (Fset_terminal_coding_system_internal): Set the member
2085 suppress_error to 1.
2086 (Fset_safe_terminal_coding_system_internal): Likewise.
2087
245ed2b1
SM
20882001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2089
2090 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2091 as if it was a `charset'.
2092
f9aaedb6
GM
20932001-01-24 Gerd Moellmann <gerd@gnu.org>
2094
2095 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2096 value in where_is_cache; the next lookup in the cache returns
2097 something bogus if we do.
2098
c3902c3e
EZ
20992001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2100
2101 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2102 if HAVE_WINDOW_SYSTEM isn't defined.
2103
3497f73e
GM
21042001-01-24 Gerd Moellmann <gerd@gnu.org>
2105
e7e41584
GM
2106 * fns.c (sweep_weak_table): Fix code taking items out of
2107 the hash collision chain. Some cleanup.
2108
3497f73e
GM
2109 * xterm.c (x_new_font): Don't change a tooltip's size.
2110
2111 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2112 background color by specifying a color for the default font
2113 in .Xdefaults.
2114
3d48e687
KH
21152001-01-24 Kenichi Handa <handa@etl.go.jp>
2116
96531b20
KH
2117 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2118 a workaround for SunOS 4's cc.
2119 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2120 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2121 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2122 statement.
3d48e687 2123
a30629d2
GM
21242001-01-23 Gerd Moellmann <gerd@gnu.org>
2125
2126 * xterm.c (x_set_window_size_1): New function extracted from
2127 x_set_window_size.
2128 (x_set_window_size): Use it.
2129 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2130 doesn't have a widget, like tooltips.
2131
5a43decf
EZ
21322001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2133
52283633 2134 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2135
b0e98867
KH
21362001-01-23 Kenichi Handa <handa@etl.go.jp>
2137
2138 * fns.c (Fset_char_table_default): Fix to make sub char-table
2139 correctly.
2140
50606b4c
GM
21412001-01-22 Gerd Moellmann <gerd@gnu.org>
2142
cb2ddc53 2143 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2144 a desired tool bar string, even if there are no tool bar items.
2145
57c28064
GM
2146 * xdisp.c (Ftool_bar_lines_needed): New function.
2147 (syms_of_xdisp): Defsubr it.
2148
50606b4c
GM
2149 * editfns.c (Fformat): Don't extend text properties from arguments
2150 to padding chars in the result.
2151
2f169c38
EZ
21522001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2153
2154 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2155
0f32f023
AI
21562001-01-20 Andrew Innes <andrewi@gnu.org>
2157
52283633 2158 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2159 (w32_initialize): Don't set term hooks that aren't actually needed
2160 in windowed mode.
2161
2162 * xfaces.c (realize_default_face):
2163 (realize_face):
2164 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2165
2166 * xdisp.c (handle_single_display_prop): Remove references to
2167 FRAME_W32_CONSOLE_P.
2168
52283633 2169 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2170
2171 * frame.h (output_method): Remove output_w32_console method.
2172 (FRAME_W32_CONSOLE_P): Remove macro.
2173
2174 * frame.c (Qw32_console): Remove variable.
2175 (Fframep): Remove references to it.
2176 (syms_of_frame): Ditto.
2177 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2178
2179 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2180 redefinition.
2181
7173eada
KH
21822001-01-20 Kenichi Handa <handa@etl.go.jp>
2183
2184 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2185
755b45ce
AI
21862001-01-19 Andrew Innes <andrewi@gnu.org>
2187
2188 * w32.c (init_environment): Add a version-independent site-lisp
2189 directory to EMACSLOADPATH, after the version dependent one.
2190
0a949811
GM
21912001-01-19 Gerd Moellmann <gerd@gnu.org>
2192
8501998a
GM
2193 * editfns.c (Fbuffer_substring): Doc fix.
2194
52283633
SM
2195 * xdisp.c (message_dolog, message2, message2_nolog):
2196 Rename parameter LEN to NBYTES.
0a949811 2197
e6ebcbbe
KH
21982001-01-19 Kenichi Handa <handa@etl.go.jp>
2199
200ecca2
KH
2200 * charset.c (strwidth): Use c_string_width.
2201 (c_string_width): New function.
2202 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2203 Caller changed.
2204
2205 * charset.h (c_string_width, lisp_string_width): Extern them.
2206
52283633 2207 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2208
e6ebcbbe
KH
2209 * indent.c (check_composition): Check validity of composition.
2210
200ecca2
KH
2211 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2212 characters by calling c_string_width.
2213 (x_consider_frame_title): Get byte length of frame tile string
2214 correctly.
2215 (display_mode_element): Pay attention to width of non-ASCII
2216 characters by calling strwidth.
2217
8692ca92
GM
22182001-01-18 Gerd Moellmann <gerd@gnu.org>
2219
8962e303
GM
2220 * xfns.c (Qcancel_timer): New variable.
2221 (syms_of_xfns): Initialize and staticpro it.
2222 (Fx_hide_tip, Fx_show_tip): Use it.
2223 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2224 the timer.
2225 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2226
91523be9
GM
2227 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2228
2229 * window.h (WINDOW_LIVE_P): New macro.
2230
b0b7ed0e
GM
2231 * window.c (window_size_fixed): New variable.
2232 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2233 the doc string.
2234
06bccf8e
GM
2235 * eval.c (specbind): If binding a per-buffer variable which
2236 doesn't have a buffer-local value in the current buffer, change
2237 the global value by changing the value of the symbol bound in all
2238 buffers not having their own value, to make it consistent with
2239 what happens with other buffer-local variables.
2240
8692ca92
GM
2241 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2242
2243 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2244 when searching for a newline.
2245
bb3a3b50
KH
22462001-01-18 Kenichi Handa <handa@etl.go.jp>
2247
2248 * xdisp.c (display_string): Fix previous change.
2249
c2cc16fa
JR
22502001-01-18 Jason Rumney <jasonr@gnu.org>
2251
2252 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2253 GLYPH_DEBUG is defined.
2254 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2255 true for images with `:ascent 100'.
2256 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2257 meantime, use face MOUSE_FACE_ID.
2258 If first glyph isn't a character glyph, use the ASCII NUL
2259 character to determine the face.
2260 (expose_area): Do not treat left margin specially.
2261 (note_mode_line_highlight): If no local_map, check global keymap.
2262 (note_mouse_highlight): Initialize overlay.
52283633 2263 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2264 (show_scroll_bars): Remove unused function.
2265 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2266 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2267 Clip to row.
52283633 2268 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2269 (x_free_frame_resources): Unload relief colors.
2270
9c11f79e
GM
22712001-01-17 Gerd Moellmann <gerd@gnu.org>
2272
3aec8722 2273 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2274 get_next_display_element when the newline is already found.
2275 This may change the iterator's position, when its current position is
3aec8722
GM
2276 equal to the iterator's stop_charpos.
2277
f3ffc2c3
GM
2278 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2279 zero, use this method only at the end of a line.
2280
52283633 2281 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2282 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2283 if SCALABLE_FONTS_P is set.
52283633 2284
d26d6fd9
GM
2285 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2286 so that scalable fonts are included.
2287
9c11f79e
GM
2288 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2289 In the cache, use a key containing the information if scalable
2290 fonts are included.
2291 (x_load_font): Adapt to change of keys in the font cache.
2292
22932001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2294
d26d6fd9
GM
2295 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2296 XListFonts to take advantage of font caching.
2297
9c11f79e
GM
2298 * xterm.c (x_list_fonts): Ensure caching font information when
2299 called for a null frame, which is the case frequently when Emacs
2300 starts.
2301
51446987
GM
23022001-01-17 Gerd Moellmann <gerd@gnu.org>
2303
f864120f
GM
2304 * xfns.c (QCconversion): Replaces QCalgorithm.
2305
2306 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2307
2308 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2309 of :algorithm.
52283633 2310
e37d1417
GM
2311 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2312 not everything could be displayed.
2313
51446987
GM
2314 * line.h, x-list-font.c: Files removed because unused.
2315
9ad4f3e5
AI
23162001-01-17 Andrew Innes <andrewi@gnu.org>
2317
2318 * dired.c (directory_files_internal): Convert result from readdir
2319 to a unibyte string initially, to avoid possible misinterpretation
2320 of some bytes as the internal form of Emacs characters.
2321
2eda09b5
KH
23222001-01-17 Kenichi Handa <handa@etl.go.jp>
2323
2324 * fns.c (concat): Be sure to avoid putting the same `composition'
2325 property on the adjacent regions.
2326
826f3788
GM
23272001-01-16 Gerd Moellmann <gerd@gnu.org>
2328
52283633 2329 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2330 (Fscroll_right, Fscroll_left): Set it here instead, if called
2331 interactively.
2332
d57b83b3
GM
2333 * buffer.c (Fset_buffer_modified_p): Set buffer's
2334 prevent_redisplay_optimizations_p flag.
2335
826f3788 2336 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2337 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2338 with additional arg.
2339
2340 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2341 Change prototype.
826f3788 2342
826f3788
GM
2343 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2344 FROM_WHERE, for debugging.
2345
261d788b
KH
23462001-01-16 Kenichi Handa <handa@etl.go.jp>
2347
2348 * ccl.c (Fregister_ccl_program): Handle the return value of
2349 resolve_symbol_ccl_program correctly.
52283633 2350 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2351
bccee4f2
GM
23522001-01-15 Gerd Moellmann <gerd@gnu.org>
2353
e4ded23c
GM
2354 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2355 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2356
2357 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2358 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2359 the display; we didn't open it.
2360
bccee4f2
GM
2361 * dispnew.c (save_or_restore_current_matrices): Function removed.
2362 (save_current_matrix, restore_current_matrix): New functions.
2363 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2364 restore the frame's current matrix. Due to the glyph pointer
2365 setup done in adjust_glyph_matrix, there is no easy way to make
2366 saving the current matrix in the desired matrix generally correct,
2367 so don't try it.
2368
ebeccffa
KH
23692001-01-15 Kenichi Handa <handa@etl.go.jp>
2370
2371 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2372 truncation glyphs.
2373 (display_line): Optimize for wide characters.
e4ded23c 2374 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2375 partially. On ttys, produce more than one truncation glyph for
2376 multi-column characters that don't fit on the line.
2377
64388126
KH
23782001-01-13 Kenichi Handa <handa@etl.go.jp>
2379
52283633
SM
2380 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2381 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2382
8edb0a6f
JR
23832001-01-13 Jason Rumney <jasonr@gnu.org>
2384
2385 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2386 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2387 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2388 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2389
52283633
SM
2390 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2391 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2392 (x_draw_image_glyph_string): Adapt to change of image margins.
2393
2394 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2395 variables.
2396
2397 * w32bdf.c (search_file_line, get_cached_font_char)
2398 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2399
2400 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2401
2402 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2403 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2404 (Fw32_send_sys_command): Remove unused variables.
2405 (w32_msg_pump): Add parentheses.
2406
2407 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2408 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2409 Add parentheses.
2410
4956d1ef
GM
24112001-01-12 Gerd Moellmann <gerd@gnu.org>
2412
b30623be
GM
2413 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2414 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2415 being a pair of margins.
2416 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2417 to DEFVAR_LISP. Extend doc.
2418
2419 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2420 margins.
2421 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2422 pair of integers `(X . Y)', use X for the horizontal and Y for the
2423 vertical margin.
2424 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2425 (parse_image_spec): Check it.
52283633
SM
2426 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2427 (tiff_format, gif_format, gs_format):
2428 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2429
52283633
SM
2430 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2431 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2432 (x_draw_image_glyph_string): Adapt to the change of image margins.
2433
2434 * dispextern.h (struct image): Replace member `margin' with
2435 `hmargin' and `vmargin'.
2436
4554cc79
GM
2437 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2438 and GLYPHS.
2439
2440 * dispnew.c (update_text_area): Put code which decrements the
2441 stop position when the row's face extends to the end of the
3bffc665 2442 line in #if 0.
4554cc79 2443
3cccce8d
GM
2444 * xfns.c (x_set_mouse_color): Fix color allocation.
2445
4956d1ef
GM
2446 * keyboard.c: Call get_local_map with new argument list.
2447
2448 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2449
2450 * intervals.h (enum map_property): Removed.
2451 (get_local_map): Change prototype.
2452
2453 * keymap.c: Call get_local_map with new argument list.
2454 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2455
2c2ff7f2
GM
24562001-01-11 Gerd Moellmann <gerd@gnu.org>
2457
a23887b9
GM
2458 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2459 of the size needed for the tool bar string. For the last image,
2460 use a `display' property that reaches to the end of the string.
2461
a7ee2d2e
GM
2462 * xselect.c (selection_request_dpyinfo): New variable.
2463 (x_handle_selection_request): Set it.
2464 (x_selection_request_lisp_error): Don't call
2465 x_decline_selection_request if selection request's display has
2466 been closed.
2467
52283633
SM
2468 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2469 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2470
457b792c
GM
24712001-01-10 Dave Love <fx@gnu.org>
2472
2473 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2474 ${SOME_MACHINE_LISP}, not ${lisp}.
2475
c1efd260
GM
24762001-01-10 Gerd Moellmann <gerd@gnu.org>
2477
52283633
SM
2478 * xdisp.c (display_line): On ttys, produce more than one truncation
2479 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2480
ac95a621
GM
2481 * xselect.c (x_reply_selection_request): Add a comment.
2482
c1efd260
GM
2483 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2484 XkbGetNames instead of XkbGetKeyboard.
2485
1bfb1345
DL
24862001-01-10 Dave Love <fx@gnu.org>
2487
2488 * sysdep.c (random): Revert the declaration.
2489
38119822
GM
24902001-01-09 Gerd Moellmann <gerd@gnu.org>
2491
52283633
SM
2492 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2493 Call function string_bytes.
35f464a7
GM
2494 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2495
2496 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2497 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2498 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2499 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2500 the current sblock.
2501 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2502 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2503 after sweeping strings, and at the end.
2504 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2505
38119822
GM
2506 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2507 ensure that pop_message is called.
2508
2509 * keyboard.c (Fexecute_extended_command): Use a
2510 record_unwind_protect to ensure that pop_message is called.
2511
2512 * lisp.h (push_message_unwind): Add prototype.
2513
2514 * xdisp.c (push_message_unwind): New function.
2515
2516 * fileio.c (do_auto_save_unwind): Do the pop_message here
2517 instead of in Fdo_auto_save.
2518 (Fdo_auto_save): Don't call pop_message.
2519
f47a9ec4
KR
25202001-01-08 Ken Raeburn <raeburn@gnu.org>
2521
2522 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2523 in inner block.
2524
a758f97d
GM
25252001-01-08 Gerd Moellmann <gerd@gnu.org>
2526
6d0afc03
GM
2527 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2528 when increasing window's vscroll.
2529
a758f97d
GM
2530 * macros.c (Qkbd_macro_termination_hook): New variable.
2531 (syms_of_macros): Initialize and staticpro it.
2532 (pop_kbd_macro): Run kbd-macro-termination-hook.
2533
2534 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2535
1bfb1345 25362001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2537
2538 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2539 arglist, for documentation's sake.
2540
0dac6924
AI
25412001-01-06 Andrew Innes <andrewi@gnu.org>
2542
2543 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2544 of *.pdb.
2545
8182406a
AI
25462001-01-05 Andrew Innes <andrewi@gnu.org>
2547
2548 * term.c (update_end): Don't check updating_frame; for some reason
2549 this can be 0 sometimes, such as after dismissing a popup menu,
2550 and isn't necessary given the explicit frame argument.
2551
3828218c
GM
25522001-01-05 Gerd Moellmann <gerd@gnu.org>
2553
2554 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2555 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2556
2f5ded21
GM
25572001-01-04 Gerd Moellmann <gerd@gnu.org>
2558
52283633 2559 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2560
2561 * xfns.c (x_create_tip_frame): Preserve the value of
2562 face_change_count around the creation of the tip frame.
52283633 2563
2f5ded21
GM
2564 * xfns.c (last_show_tip_args): New variable.
2565 (compute_tip_xy): New function.
2566 (Fx_show_tip): Reuse an existing tip frame, if possible.
2567 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2568
dfad65fa
DL
25692001-01-04 Dave Love <fx@gnu.org>
2570
64d4ec0f
DL
2571 * editfns.c (Fformat): Doc fix.
2572
dfad65fa
DL
2573 * systime.h (set_file_times): Prototype.
2574
2575 * widget.h (EmacsFrameSetCharSize_): Prototype.
2576
2577 * sysdep.c (random, srandom): Declare explicitly.
2578
2579 * dispextern.h (move_it_vertically_backward): Declare.
2580
85fe3b5e
GM
25812001-01-04 Gerd Moellmann <gerd@gnu.org>
2582
0f2ac578
GM
2583 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2584 like in Fx_create_frame.
2585
482cca61
GM
2586 * xfaces.c (set_font_frame_param): Don't do anything for
2587 non-graphical frames.
2588
85fe3b5e
GM
2589 * window.c (Fdelete_other_windows): Set window's window_end_valid
2590 to nil when changing the window's start. Don't change the
2591 window's start when its top position hasn't changed. If we do,
2592 this will set the window's optional_new_start, which act's like a
2593 force_start during redisplay with C-x 1 M-> under particular
2594 circumstances (see report from Per Starback to emacs-pretest-bug
2595 from 2000-12-13.).
2596
3e99d3b4
GM
25972001-01-03 Gerd Moellmann <gerd@gnu.org>
2598
a77dc1ec
GM
2599 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2600 short cut at the start of the function. Add an assertion.
2601 (reseat_at_next_visible_line_start): Add an assertion.
2602
2f3cad6c
GM
2603 * window.c (Frecenter): When changing the window start, set the
2604 window's window_end_valid to nil.
2605 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2606
2607 * dispextern.h (move_it_past_eol): Add prototype.
2608
2609 * xdisp.c (move_it_past_eol): New function.
2610
3e99d3b4
GM
2611 * window.c (Fwindow_end): Doc fix.
2612
26132001-01-03 Dave Love <fx@gnu.org>
2614
52283633 2615 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2616
bafb434c
GM
26172001-01-03 Gerd Moellmann <gerd@gnu.org>
2618
2619 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2620 the enabled_p flag of the glyph row at window_end_vpos to 0.
2621 (handle_single_display_prop): Fix last change.
2622
5297fb00
RS
26232001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2624
2625 * window.c (Frecenter): Doc fix.
2626
13d6a61c
AI
26272001-01-02 Andrew Innes <andrewi@gnu.org>
2628
2629 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2630
2631 * frame.h (output_method): Add output_w32_console method.
2632 (FRAME_W32_CONSOLE_P): New macro.
2633
2634 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2635 use output_w32_console method.
2636 (Qw32_console): New Lisp_Object.
2637 (Fframep): Return it.
2638 (syms_of_frame): Init it.
52283633 2639 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2640
2641 * xfaces.c (realize_default_face): Set face foreground and
2642 background to unspecified for w32_console frames.
2643 (realize_face): Realize face cache for w32_console frames.
2644 (realize_tty_face): Accept w32_console frames.
2645
52283633 2646 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2647 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2648 necessary, even if running interactively.
2649
2650 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2651 w32_console frames.
2652
52283633
SM
2653 * w32term.c (x_update_begin):
2654 (x_update_end):
2655 (x_clear_frame):
2656 (x_ins_del_lines):
2657 (x_change_line_highlight):
2658 (x_delete_glyphs):
2659 (w32_ring_bell):
2660 (x_update_begin):
2661 (x_update_end):
2662 (w32_reassert_line_highlight):
2663 (w32_frame_rehighlight):
13d6a61c
AI
2664 (w32_frame_raise_lower): Do nothing if not w32 frame.
2665
2666 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2667
2668 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2669 system doesn't tell us directly.
2670 (Fx_display_visual_class): Implement properly.
2671
d6bb0c0d
GM
26722001-01-02 Gerd Moellmann <gerd@gnu.org>
2673
2674 * window.c (Frecenter): Handle centering in graphical frames
2675 specially. Centering on the basis of line counts doesn't work
2676 reliably with variable-height lines.
52283633 2677
315f5865
EZ
26782001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2679
2680 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2681 and al[].
2682
52283633 2683 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2684 (update_compositions): Remove unused variable `hook'.
2685
2686 * intervals.c (get_local_map): Remove unused variable `tem'.
2687
2688 * doprnt.c (doprnt1): Remove unused variable `size'.
2689
2690 * fns.c (Flength): Remove unused variable `tail'.
2691 (Fdelete): Remove unused variable `size'.
2692
2693 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2694 and `gcpro2'.
2695
52283633 2696 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2697
2698 * data.c (find_symbol_value): Remove extra 3rd argument in the
2699 call to swap_in_symval_forwarding.
2700
52283633 2701 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2702
2703 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2704 (trivial_regexp_p): Remove unused variable `c'.
2705 (boyer_moore): Remove unused variable `k'.
2706
2707 * indent.c (current_column): Remove unused variable `stopchar'.
2708 (Fcompute_motion): Remove unused variable `contin'.
2709
2710 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2711
2712 * dired.c (directory_files_internal): Fix a typo in a comment.
2713 Remove an unused variable `handler'.
52283633 2714 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2715 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2716 on BSD4_2.
2717
52283633 2718 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2719
2720 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2721 and `buf'.
2722 (Fmarker_insertion_type): Remove unused variable `buf'.
2723
2724 * insdel.c (make_gap): Remove unused variable `result'.
2725
52283633 2726 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2727 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2728 (menu_bar_items): Remove unused function-scope variable `tem'.
2729
2730 * fontset.c (fontset_ref): Remove unused variable `i'.
2731 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2732 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2733 (make_fontset_for_ascii_face): Remove unused variable `name'.
2734 (fs_load_font): Remove unused variable `font_idx'.
52283633 2735 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2736 (list_fontsets): Remove unused variable `tail'.
2737 (Fnew_fontset): Remove unused variables `family' and `registry'.
2738 (accumulate_font_info): Remove unused variable `tmp'.
2739 (Ffontset_font): Remove unused variable `id'.
2740 (syms_of_fontset): Remove unused variable `i'.
2741
2742 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2743 to x_term_init.
2744 (lookup_image): Remove unused variable `file'.
2745 (xbm_load): Remove unused variables `bitmap_data', `height', and
2746 `width'. Remove function-local variable `i', leave the
2747 block-local one.
2748 (gif_load): Remove unused variable `inc'.
2749
52283633 2750 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2751 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2752 leave only the one in the inner block.
2753
2754 * xfaces.c (face_fontset, realize_default_face): Remove unused
2755 variable `fontset'.
2756 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2757
2758 * term.c (encode_terminal_code): Remove unused variable `c'.
2759
2760 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2761 char *' instead of `char *'.
2762
2763 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2764 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2765 (Fchar_category_set): Remove unused variables `val', `charset',
2766 `c1' and `c2'.
2767
52283633
SM
2768 * coding.c (detect_coding_iso2022, setup_coding_system):
2769 Remove unused variable `i'.
315f5865
EZ
2770 (detect_coding_mask): Remove unused variable `idx'.
2771 (detect_coding): Remove unused variable `i'.
2772 (ccl_coding_driver): Remove unused variable `result'.
2773 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2774 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2775 (encode_coding_string): Remove unused variables `gcpro1' and
2776 `saved_coding_symbol'.
2777 (Ffind_coding_systems_region_internal): Remove function-local
2778 variable args[], leave only the block-local one.
2779 (code_convert_region1): Remove unused variable `len'.
2780
2781 * charset.c (char_printable_p): Remove unused variable `chars'.
2782 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2783 (str_to_multibyte): Remove unused variable `c'.
2784
2785 * window.c (size_window): Remove block-local variable `min_size'.
2786
2787 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2788 `header_line_height'.
2789 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2790 enum display_element_type.
2791
1a8a9daf
GM
27922001-01-02 Gerd Moellmann <gerd@gnu.org>
2793
6dde6abc 2794 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2795 statements that call X. Save away the error message in a local copy.
2796
1883b2c6
GM
2797 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2798 the start.
2799
a13be207
GM
2800 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2801 in or at the start of invisible text.
2802
1a8a9daf
GM
2803 * dispnew.c (update_window): Don't check_current_matrix_flags.
2804
3608c0f9
JR
28052001-01-01 Jason Rumney <jasonr@gnu.org>
2806
2807 * w32fns.c (x_figure_window_size): Do not allow new_height and
2808 new_width of frame to override specified values.
2809
abb1acc4
KH
28102000-12-30 Kenichi Handa <handa@etl.go.jp>
2811
52283633 2812 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2813
762a68ec
GM
28142000-12-29 Gerd Moellmann <gerd@gnu.org>
2815
52283633 2816 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2817 (update_window) [GLYPH_DEBUG]: Call it.
2818 (scrolling_window): Prevent including current rows which are below
2819 what's displayed in the window.
2820
2821 * xdisp.c (try_window_reusing_current_matrix)
2822 <new start <= old start>: Disable rows in the current matrix
2823 which are below the window after scrolling.
52283633 2824
762a68ec
GM
2825 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2826 is zero. It's not worth the complexity.
2827 (invisible_text_between_p): Put in #if 0 because unused.
2828
2d5912c1
GM
28292000-12-28 Gerd Moellmann <gerd@gnu.org>
2830
46f6a258
GM
2831 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2832 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2833
89f93679
GM
2834 * keyboard.c (echo_char): If C is an integer, always call
2835 push_key_description. Former code could signal an invalid
2836 character error.
2837
2838 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2839 If set, print multibyte text.
2840 (Fsingle_key_description): Call push_key_description with
2841 FORCE_MULTIBYTE set.
2842 (describe_buffer_bindings): Likewise.
2843
2844 * lisp.h (push_key_description): Add prototype.
2845
c06017fb
GM
2846 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2847 around the call to redisplay_internal.
2848
f1d2ce7f
GM
2849 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2850
2d5912c1
GM
2851 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2852
9371f831
KH
28532000-12-28 Kenichi Handa <handa@etl.go.jp>
2854
2855 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2856 (ccl_driver): New local variable `extra_bytes'.
2857
2858 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2859
52283633
SM
2860 * coding.c (setup_coding_system):
2861 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2862 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2863
0c80628a
KH
28642000-12-28 Kenichi Handa <handa@etl.go.jp>
2865
2866 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2867 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2868 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2869 (decode_composition_emacs_mule): New function.
2870 (decode_coding_emacs_mule): Decode composition sequence by calling
2871 decode_composition_emacs_mule.
2872 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2873 (encode_coding_emacs_mule): Changed from macro to function.
2874 If a text contains compositions, encode them correctly.
0c80628a
KH
2875 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2876 that decoding and encoding are required.
2877
3e32cc27
GM
28782000-12-27 Gerd Moellmann <gerd@gnu.org>
2879
5e25feee
GM
2880 * xfaces.c (PT_PER_INCH): New macro.
2881 (xlfd_point_size): Compute real point size from font's pixel size.
2882 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2883 instead of 72.
2884
892d8fcd
GM
2885 * .gdbinit: Comment out the line pointing to the Lesstif source
2886 directory.
2887
12c8b416
GM
2888 * window.c (Frecenter): Use displayed_window_lines instead
2889 of window_internal_height.
2890
6061fbf0
GM
2891 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2892 instead of x-toolkit-scroll-bars-p.
2893 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2894
2895 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2896 instead of x-toolkit-scroll-bars-p.
2897 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2898
3e32cc27
GM
2899 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2900 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2901 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2902 New variables.
2903 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2904 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2905 (build_frame_matrix_from_leaf_window): Remove unused code.
2906 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2907 redisplay history.
2908 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2909 (update_window) [GLYPH_DEBUG]: Likewise.
2910 (syms_of_display): Defsubr dump-redisplay-history.
2911
31798cfe
GM
29122000-12-23 Gerd Moellmann <gerd@gnu.org>
2913
f717c2ba
GM
2914 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2915 the end of the prompt. Set echo_after_prompt to the offset
2916 of echoptr in echobuf.
2917
aeb2b8fc
GM
2918 * xdisp.c (init_from_display_pos): Pop until the iterator's
2919 stack is empty; there may be frames for stretch or images
2920 on the stack.
2921
31798cfe
GM
2922 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2923 (save_or_restore_current_matrix): New function for the same
2924 purpose, but more efficient.
2925 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2926
f8156156
EZ
29272000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2928
2929 * xdisp.c (syms_of_xdisp): Fix last change.
2930
bdd6d4e8
GM
29312000-12-23 Gerd Moellmann <gerd@gnu.org>
2932
2933 * xdisp.c (syms_of_xdisp): Doc fix.
2934
2935 * xdisp.c (redisplay_window): Remove label restore_buffers;
2936 use finish_scroll_bars instead to make sure that scroll bars
2937 are redeemed. If we don't do this, flickering can result from
2938 scroll bars being destroyed and recreated.
2939
9436cdf9
JR
29402000-12-22 Jason Rumney <jasonr@gnu.org>
2941
2942 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2943 in the wrong colors when the foreground is not black.
2944 (expose_window): Don't redraw the window that's currently being
2945 updated.
2946
951f9df5
GM
29472000-12-22 Gerd Moellmann <gerd@gnu.org>
2948
856ff7a7
GM
2949 * window.c (size_window): When setting the window's too_small_ok
2950 flag, compare old size with minimum size depending on WIDTH_P,
2951 don't compare with window_min_width.
52283633 2952
951f9df5
GM
2953 * window.c (delete_window): Simplify somewhat.
2954 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2955 freeing window matrices. The flag windows_or_buffers_changed is
2956 set, so the next redisplay will consider all windows; this should
2957 suffice.
2958
886bc933
KH
29592000-12-22 Kenichi Handa <handa@etl.go.jp>
2960
2961 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2962
2963 * ccl.h (struct ccl_program): New member cr_consumed.
2964
2965 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2966 (CCL_READ_CHAR): Handle EOL conversion here.
2967 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2968
177f4e88
GM
29692000-12-21 Gerd Moellmann <gerd@gnu.org>
2970
52283633 2971 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2972
2973 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2974 otherwise tabs of different size compare equal.
2975
2976 * callint.c (Fcall_interactively): Prevent a compiler warning.
2977
2978 * print.c (print_unwind): Return nil.
2979 (PRINTDECLARE): Initialize all local variables.
2980 (print_preprocess): Add a default case.
2981
8e15274f
GM
2982 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2983
2984 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2985
52283633 2986 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2987 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2988
2989 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2990
2991 * dispnew.c (ensure_frame_matrix): Removed.
2992 (save_frame_matrix, restore_frame_matrix): New functions.
2993 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2994
2995 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2996 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2997
99012074
AI
29982000-12-21 Andrew Innes <andrewi@gnu.org>
2999
3000 * w32term.c (x_update_begin): Regenerate the palette here, rather
3001 than for each window.
3002
3003 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3004 palette is NULL, since this corrupts memory! Also get
3005 display_info reference from frame.
3006
29ef7d2d
JR
30072000-12-21 Jason Rumney <jasonr@gnu.org>
3008
3009 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3010
3011 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3012 to avoid returning without releasing it.
3e27fa1f 3013
3f9d67a6
KH
30142000-12-21 Kenichi Handa <handa@etl.go.jp>
3015
587fc3f9
KH
3016 * keymap.c (push_key_description): Don't convert eight-bit-control
3017 and eight-bit-graphic to multibyte character.
3018
3f9d67a6
KH
3019 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3020 generic character and CODE1 is nil, return the smallest character
3021 in CHARSET.
3022
774ba8c9
DL
30232000-12-20 Dave Love <fx@gnu.org>
3024
3025 * s/osf5-0.h (NSIG): Don't redefine.
3026
88416888
SM
30272000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3028
3029 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3030 excluding menu-bar and tool-bar.
3031 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3032 (menu_item_p): Remove.
3033 (where_is_internal_1): Don't ignore menu-items.
3034
a6426c6f
GM
30352000-12-20 Gerd Moellmann <gerd@gnu.org>
3036
03ff8aab
GM
3037 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3038 into account.
3039
3040 * window.c (make_window): Initialize window's min_hscroll.
3041 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3042 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3043 to zero.
3044 (struct saved_window): New member min_hscroll.
3045 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3046 (Fset_window_configuration): Set window's min_hscroll.
3047 (save_window_save): Save window's min_hscroll.
3048 (compare_window_configurations): Compare min_hscroll values.
3049
3050 * window.h (struct window): New member min_hscroll.
3051
3052 * keyboard.c (echo_prompt): Prevent a compiler warning.
3053
8de4aaf8
GM
3054 * xdisp.c (try_cursor_movement): Fix last change. The real
3055 condition is that PT is at the end of the row, and should
3056 be displayed at the start of the next row.
52283633 3057
3f7e3031
GM
3058 * xdisp.c (try_cursor_movement): If we end on a partially
3059 visible line, end we already decided to scroll, return -1.
3060
a6426c6f
GM
3061 * dispextern.h (ensure_frame_matrix): Add prototype.
3062
3063 * window.c (delete_window, Fsplit_window)
3064 (Fset_window_configuration): Call ensure_frame_matrix.
3065
52283633
SM
3066 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3067 New functions.
a6426c6f
GM
3068 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3069 completed, call fake_current_matrices instead of marking frame
3070 garbaged.
3071
57fa2774
JR
30722000-12-20 Jason Rumney <jasonr@gnu.org>
3073
3074 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3075
d925df90
EZ
30762000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3077
3078 * fns.c (Frequire): Doc fix.
3079
7b93a85b
GM
30802000-12-19 Gerd Moellmann <gerd@gnu.org>
3081
52283633 3082 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3083
c74e645b
GM
3084 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3085 currently displaying a message.
3086
7b93a85b
GM
3087 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3088 xterm.h.
3089 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3090
90d97e64
AI
30912000-12-18 Andrew Innes <andrewi@gnu.org>
3092
3093 * w32.c (w32_strerror): New function.
3094
3095 * w32.h (w32_strerror): New extern.
3096
3097 * w32fns.c (Fw32_shell_execute): Use it.
3098
91c9e6ce
GM
30992000-12-18 Gerd Moellmann <gerd@gnu.org>
3100
3101 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3102
6f4745e2
EZ
31032000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3104
3105 * msdos.c (IT_set_face): Obey inverse_video.
3106
c9e088ce
KH
31072000-12-18 Kenichi Handa <handa@etl.go.jp>
3108
3109 * dired.c (directory_files_internal): Always return decoded filenames.
3110
c3695f5f
GM
31112000-12-18 Gerd Moellmann <gerd@gnu.org>
3112
52d8e4ff
GM
3113 * xterm.c (x_connection_closed): Prevent being called recursively
3114 because of an error condition in XtCloseDisplay.
52283633 3115
62be9979
GM
3116 * xdisp.c (init_iterator): If noninteractive, and the frame's
3117 face cache is null, make one.
3118
52283633 3119 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3120
c3695f5f
GM
3121 * process.c (wait_reading_process_input): Check for pending
3122 input when running timers.
3123
78555fbe
EZ
31242000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3125
52283633 3126 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3127
b2b36264
KH
31282000-12-18 Kenichi Handa <handa@etl.go.jp>
3129
3130 * process.c (read_process_output): Don't run a filter if the code
3131 decoder produces nothing but carryover.
3132
9c543fbf
AI
31332000-12-17 Andrew Innes <andrewi@gnu.org>
3134
3135 * w32.c (sys_rename): Only check errno against EEXIST, and not
3136 EACCES, when determining whether rename failed because the target
3137 exists. This was resulting in indefinite looping on Windows 9x if
3138 the source file was locked by another process.
3139
3140 * w32fns.c (Ffile_system_info): New function.
3141 (syms_of_w32fns): Defsubr it.
3142
10c2b5a8
GM
31432000-12-17 Gerd Moellmann <gerd@gnu.org>
3144
b0228ace
GM
3145 * window.c (coordinates_in_window): Fix computation for
3146 position on vertical line between mode lines.
3147
10c2b5a8
GM
3148 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3149 Don't alter tip_frame or tip_window.
3150 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3151 was deleted.
3152
c844a81a
GM
3153 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3154 Don't alter tip_frame or tip_window.
3155 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3156 was deleted.
3157
6c825f8e
EZ
31582000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3159
3160 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3161 be consistent with the doc string. Reported by NAKAJIMA Mikio
3162 <minakaji@osaka.email.ne.jp>.
3163
af4bb4c8
KH
31642000-12-16 Kenichi Handa <handa@etl.go.jp>
3165
3166 * xfaces.c (Vface_ignored_fonts): New variable.
3167 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3168 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3169
8062e53a
GM
31702000-12-15 Gerd Moellmann <gerd@gnu.org>
3171
e87b8809
GM
3172 * dispnew.c (update_window): Detect pending input every nth line
3173 updated, i.e. do it depending on real work done, and not on the
3174 vpos of the line.
3175
3176 * xterm.c (expose_window): Don't redraw the window that's
3177 currently being updated.
3178
a6768cc5
GM
3179 * window.c (Fset_window_point): Remove test for
3180 cursor_in_non_selected_windows.
3181
4ea7fdca
GM
3182 * lread.c (read1): Recognize end of file after `\\'.
3183
8062e53a
GM
3184 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3185 not unwind_create_frame.
3186
bb7959c1
GM
31872000-12-15 Dave Love <fx@gnu.org>
3188
3189 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3190 bcopy & al.
3191
3192 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3193
ced04c42
KH
31942000-12-15 Kenichi Handa <handa@etl.go.jp>
3195
c5443913
KH
3196 * coding.c (setup_coding_system): Clear all members of the struct
3197 coding_system at first.
bc137305
KH
3198 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3199 argument.
3200 (code_convert_region): Don't override coding->src_multibyte and
3201 coding->dst_multibyte.
c5443913 3202
ced04c42
KH
3203 * fns.c (Fmd5): Docstring improved.
3204
c2d7f289
MB
32052000-12-15 Miles Bader <miles@gnu.org>
3206
3207 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3208 are actually marked as mode-lines; otherwise use
3209 estimate_mode_line_height.
3210
9d7d9263
GM
32112000-12-14 Gerd Moellmann <gerd@gnu.org>
3212
3213 * editfns.c (Fformat): Prevent a buffer overrun when the format
3214 specifies a precision.
3215
7cf0153a
EZ
32162000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3217
3218 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3219 argument is outside the range [2..3].
3220
1de0f662
AI
32212000-12-14 Andrew Innes <andrewi@gnu.org>
3222
3223 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3224 nothing to do. Bind inhibit-quit.
3225 (tip_frame): Make it a Lisp_Object.
3226 (x_create_tip_frame): Set tip_frame after it has been added to
3227 Vframe_list.
3228 (Fx_show_tip): Don't set tip_frame here.
52283633 3229 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3230 (unwind_create_frame, unwind_create_tip_frame): New functions.
3231 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3232 while a frame is only partially constructed.
3233
3234 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3235 (x_free_frame_resources): New function.
3236 (x_destroy_window): Use it.
3237
02387dcc
GM
32382000-12-14 Gerd Moellmann <gerd@gnu.org>
3239
3240 * xfns.c (Fx_backspace_delete_keys_p): New function.
3241 (syms_of_xfns): Defsubr it.
3242
3243 * config.in (HAVE_XKBGETKEYBOARD): Add.
3244
0544ef49
KH
32452000-12-14 Kenichi Handa <handa@etl.go.jp>
3246
98d62747
KH
3247 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3248 Always store string in multibyte representation in echobuf.
3249 (echo_char): Always store string in multibyte representation in
3250 echobuf.
3251 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3252 (read_key_sequence): Adjusted for the change of echo_prompt.
3253
a20193cd
KH
3254 * fns.c (Fmd5): Docstring improved.
3255
191b83b6
KH
3256 * lisp.h (detect_coding_system): Prototype adjusted.
3257
0544ef49
KH
3258 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3259 (detect_coding_emacs_mule, detect_coding_iso2022,)
3260 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3261 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3262 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3263 (detect_coding_mask, detect_coding_system): New argument
3264 MULTIBYTEP. Callers changed.
1da1bb05
KH
3265 (decode_coding_string): Set coding->src_multibyte and
3266 coding->dst_multibyte before calling detect_coding and detect_eol.
3267 Update them after some coding system is detected.
52283633 3268
d5b3eb1b
SM
32692000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3270
3271 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3272
3273 * keyboard.c (menu_bar_items, tool_bar_items):
3274 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3275
f7f8bb69
GM
32762000-12-13 Gerd Moellmann <gerd@gnu.org>
3277
52283633 3278 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3279 New variables.
3280 (unwind_create_frame, unwind_create_tip_frame): New functions.
3281 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3282 while a frame is only partially constructed.
3283
3284 * xterm.h (x_free_frame_resources): Declare.
3285
3286 * xterm.c (x_free_frame_resources): New function.
3287 (x_destroy_window): Use it.
3288
e10da507
GM
3289 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3290 don't interrupt the update for pending input initially, i.e.
3291 update at least some lines.
3292
3293 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3294
d5b3eb1b 3295 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3296
3297 * xfns.c (gray_bitmap_bits): Declare `char *'.
3298
90aa2856
GM
32992000-12-12 Gerd Moellmann <gerd@gnu.org>
3300
3301 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3302 lines start with a relief line.
3303
a308c9cd
DL
33042000-12-12 Dave Love <fx@gnu.org>
3305
3306 * window.c (Fdisplay_buffer): Doc fix.
3307 (Fwindow_list): Remove unused var.
3308
3309 * buffer.h (mmap_set_vars): Declare.
3310
3311 * window.h (Fset_window_point): Declare.
3312
d575011f
EZ
33132000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3314
bf6282d2 3315 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3316 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3317 variable `area'. When looking for a row under (X,Y), give up if some
3318 of the previous rows is not enabled.
d575011f 3319
ecf4d726
GM
33202000-12-12 Gerd Moellmann <gerd@gnu.org>
3321
2ebf6139
GM
3322 * window.c (Fset_window_point): If displaying cursors in windows
3323 other than the selected window, make sure redisplay updates
3324 other windows to show the new value of point in the window.
3325
3326 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3327
bfdb75ee
GM
3328 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3329 the buffer is the sole visible buffer when in the mini-buffer.
3330
52283633 3331 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3332 Bind `inhibit-read-only' to t.
3333 (unwind_with_echo_area_buffer): Use AREF.
3334
c0006262
GM
3335 * xfns.c (Fx_hide_tip): Simplified.
3336
52283633
SM
3337 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3338 instead of `1'.
e9a59cad 3339
ecf4d726
GM
3340 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3341
e5959a9a
GM
33422000-12-11 Gerd Moellmann <gerd@gnu.org>
3343
a3642e49 3344 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3345
44b5a125
GM
3346 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3347 nothing to do. Bind inhibit-quit.
3348 (tip_frame): Make it a Lisp_Object.
3349 (x_create_tip_frame): Set tip_frame after it has been added to
3350 Vframe_list.
3351 (Fx_show_tip): Don't set tip_frame here.
3352
3353 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3354
3355 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3356 Lisp_Object.
3357
3358 * dispextern.h: Change external declaration of tip_frame.
3359
d990421f
GM
3360 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3361 return an empty string.
3362
4db87380
GM
3363 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3364 of the window's update_mode_line flag, since the former is set by
3365 force-mode-line-update, not the latter. This makes
3366 column-number-mode slightly faster.
52283633 3367
e5959a9a
GM
3368 * xdisp.c (try_window_id) <all changes above window start>:
3369 Set the cursor.
3370
169fe44e
GM
33712000-12-11 Paul Eggert <eggert@twinsun.com>
3372
3373 * config.in (HAVE_FTELLO): Remove.
3374 (HAVE_FSEEKO): Add.
3375 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3376 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3377 HAVE_FTELLO.
3378 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3379 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3380
59ec59ae
MB
33812000-12-11 Miles Bader <miles@gnu.org>
3382
3383 * window.c (displayed_window_lines): Don't round up when
3384 converting empty space at bottom to lines.
ff904dd6
MB
3385 Handle non-newline-terminated final lines properly.
3386 (Fwindow_text_height): New function (used to be in lisp).
3387 (syms_of_window): Initialize it.
59ec59ae 3388
42ebfa31
SM
33892000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3390
3391 * syntax.c (scan_lists): Check that the right quote char has the
3392 right Sstring syntax when jumping over strings.
3393 (init_syntax_once): Use Smax rather than 13.
3394
5cdb3cf3
MB
33952000-12-09 Miles Bader <miles@gnu.org>
3396
3397 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3398 with PARTIALLY, inverting the sense.
3399 (window_scroll_pixel_based): Scroll partially visible lines into
3400 place if we hit the beginning or end of the buffer.
a12167c5
MB
3401 (displayed_window_lines): Don't include partially visible lines.
3402 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3403
842b2a94
GM
34042000-12-08 Gerd Moellmann <gerd@gnu.org>
3405
3406 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3407
3408 * tparam.c (tparam1): Change the way buffers are reallocated to be
3409 portable and less obfuscated.
3410
3411 * termcap.c (tgetent): Change the way buffers are reallocated to
3412 be portable and less obfuscated.
3413
3414 * macros.c (store_kbd_macro_char): Change the way buffers are
3415 reallocated to be portable and less obfuscated.
3416
3417 * lread.c (read1): Change the way buffers are reallocated to be
3418 portable and less obfuscated.
3419
3420 * doc.c (Fsubstitute_command_keys): Change the way buffers
3421 are reallocated so that it is portable.
3422
137cad7c
EZ
34232000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3424
3425 * dosfns.c (Ffile_system_info): New function.
3426 (syms_of_dosfns): Defsubr it.
3427
5c7f629c
SM
34282000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3429
3430 * alloc.c (gc_sweep): Add comment.
3431
959e647d
GM
34322000-12-07 Gerd Moellmann <gerd@gnu.org>
3433
52283633
SM
3434 * sound.c (vox_configure): Change order of ioctls.
3435 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3436 Ignore errors when changing volume.
3437 (vox_close): Don't reset the device.
3438
926b7e5e
GM
3439 * process.c (read_process_output): Make sure the process marker's
3440 position is valid when the process buffer is changed in
3441 after-change functions. W3 does that.
52283633 3442
959e647d
GM
3443 * xfns.c (x_free_gcs): New function.
3444
3445 * xterm.h (x_free_gcs): Add prototype.
3446
3447 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3448 freeing GCs here.
3449
3450 * xterm.c (x_destroy_window): Call x_free_gcs so that
3451 resources of non-toolkit X windows will be freed.
3452
478ea067
AI
34532000-12-07 Andrew Innes <andrewi@gnu.org>
3454
3455 * w32fns.c (xlfd_charset_of_font): Fix last change.
3456
fbee3231
DL
34572000-12-06 Dave Love <fx@gnu.org>
3458
67292061
DL
3459 * md5.h (__P): Don't define -- it comes from config.h.
3460
fbee3231
DL
3461 * strftime.c: Change some #if foo to #ifdef foo.
3462
4ee87dbb
AI
34632000-12-06 Andrew Innes <andrewi@gnu.org>
3464
3465 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3466
52283633 3467 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3468 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3469 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3470
9765b4a4
GM
34712000-12-06 Gerd Moellmann <gerd@gnu.org>
3472
d285b373
GM
3473 * alloc.c (gc_sweep): Prevent symbols read during loadup
3474 from being freed.
3475
384333ee
GM
3476 * xdisp.c (underlying_face_id): New function.
3477 (handle_face_prop, face_before_or_after_it_pos): Use it
3478 to determine the face ``under'' a string. Let strings inherit
3479 the face of the buffer under them.
3480
3481 * xfaces.c (face_at_string_position): Update function comment.
52283633 3482
d4b72d58
GM
3483 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3484 matrix if the window's left position has changed; we need to
3485 redraw it in this case.
3486
3487 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3488
e1d05387
GM
3489 * window.c (coordinates_in_window): Check mouse on mode-line or
3490 header-line first.
3491
eb1b0c74
GM
3492 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3493 advertized by the function documentation.
3494
d94d636f
GM
3495 * window.c (syms_of_window): Doc fix.
3496
3887b449
GM
3497 * sound.c (vox_configure): Set volume for left and right channel.
3498 (sound_cleanup): Return nil.
3499
efc8f57a
GM
3500 * xdisp.c (move_it_by_lines): Fix paren typo.
3501
9765b4a4
GM
3502 * xterm.c (x_load_font): Don't use the font's max_bounds for
3503 computing the height of the font. If max_bounds' ascent or
3504 descent are greater than the font's ascent or descent, this means
3505 glyphs overlap, which should be handled now by redisplay.
3506
6529ed87
GM
3507 * window.c (Veven_window_heights): New variable.
3508 (syms_of_window): DEFVAR_LISP it.
3509 (Fdisplay_buffer): Check Veven_window_heights before evening the
3510 window heights.
52283633 3511
0eb2ecde
MB
35122000-12-06 Miles Bader <miles@gnu.org>
3513
3514 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3515 update `default-frame-alist' instead of setting no frame parameters.
3516
03d7a167
KH
35172000-12-06 Kenichi Handa <handa@etl.go.jp>
3518
3519 * composite.c (update_compositions): Fix typo (use the correct
3520 variable).
3521
5f8803c2
JR
35222000-12-05 Jason Rumney <jasonr@gnu.org>
3523
3524 * md5.h: Remove underscores from function declarations.
3525 (__attribute__, __alignof__) [!__GNUC__]: Define.
3526
3527 * md5.c: Delay include of md5.h until after namespace cleaning.
3528
c28a075b
JR
3529 * makefile.w32-in (fns.o): Depend on md5.h
3530 (md5.o): New target.
3531 (sunfns.o): Remove.
3532
3533 * makefile.nt: Likewise.
3534
ff3c7056
JR
35352000-12-05 Jason Rumney <jasonr@altavista.net>
3536
3537 * w32term.c (expose_area): Complete last change.
3538
0c21eeeb
KR
35392000-12-05 Ken Raeburn <raeburn@gnu.org>
3540
3541 * minibuf.c: Include intervals.h.
3542
f201d732
JR
35432000-12-05 Jason Rumney <jasonr@gnu.org>
3544
3545 * w32term.c (x_produce_glyphs): If a font for a component of
3546 a composition is not found, use 1 pixel dot ascent and 0 dot
3547 descent value to avoid displaying terribly tall empty boxes.
3548 (expose_area): Pass x-coordinate relative to the exposed
3549 area to x_draw_glyphs instead of a window-relative coordinate.
3550
21999ab9
GM
35512000-12-05 Gerd Moellmann <gerd@gnu.org>
3552
4d2036e4
GM
3553 * xdisp.c (next_element_from_ellipsis): Save face before selective
3554 display in saved_face_id, and set face_before_selective_p.
3555 (reseat_1): Reset face_before_selective_p.
3556 (append_space, extend_face_to_end_of_line): If iterator's
3557 face_before_selective_p is set, use the face from saved_face_id.
3558 (extend_face_to_end_of_line): For tty frames, make sure to
3559 use the right face id when producing spaces at the end of
3560 the line.
3561
3562 * dispextern.h (struct it): Add face_before_selective_p.
3563
52be17cc
GM
3564 * keyboard.c (record_char): Don't record identical help-echo
3565 events in recent_keys.
3566
8a4f36cc
GM
3567 * xterm.c [USE_X_TOOLKIT]: Close the display.
3568 (xim_close_dpy): Handle case that the display has been closed.
3569
57d6e381
GM
3570 * xterm.c (x_destroy_window): Reset the frame's X window after
3571 destroying it.
3572
21999ab9
GM
3573 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3574 variable window_width.
3575 (line_draw_cost): Fix code skipping over spaces at the end of the
3576 line when must_write_spaces is not set.
3577 (scrolling_window): Fix code inserting runs in list of all runs.
3578
91372bb7
KH
35792000-12-05 Kenichi Handa <handa@etl.go.jp>
3580
3581 * coding.c (setup_coding_system): Be sure to initialize
3582 coding->category_idx.
3583
6c083b4c
GM
35842000-12-04 Gerd Moellmann <gerd@gnu.org>
3585
0c68ce6f 3586 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3587
6452929e
GM
3588 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3589 area to x_draw_glyphs instead of a window-relative coordinate.
3590
d7f31e22
GM
3591 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3592 error in the message.
3593
ae18aa3b
GM
3594 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3595 timer after having read a key. It's not good for code reading
3596 several keys in a loop, like an input method.
3597
caa15ef7
GM
3598 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3599 record undo information for format-decode.
3600
3601 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3602 current buffer is read-only, not if it isn't.
3603
6c083b4c
GM
3604 * keyboard.c (record_char): Record `help-echo' input events
3605 in recent_keys only if they display some help. Don't record
3606 `help-echo' events as macro char.
3607
caa15ef7
GM
36082000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3609
3610 * editfns.c (save_excursion_restore): Don't move point
3611 in another window if it is showing the wrong buffer.
3612 Avoid the call to Fwindow_live_p, for speed.
3613
5a13529b
KH
36142000-12-04 Kenichi Handa <handa@etl.go.jp>
3615
e225faa7
KH
3616 * xfaces.c (struct font_name): New member registry_priority.
3617 (split_font_name): Initialize the above member to zero.
3618 (concat_font_list): New function.
3619 (font_list): Include fonts of all alternative registries.
3620 (FONT_POINT_SIZE_QUANTUM): New macro.
3621 (better_font_p): Ignore point size difference less than
3622 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3623
e89648b4
KH
3624 * xterm.c (x_produce_glyphs): If a font for a component of
3625 a composition is not found, use 1 pixel dot ascent and 0 dot
3626 descent value to avoid displaying terribly tall empty boxes.
3627
5a13529b
KH
3628 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3629
d7935eb6
KR
36302000-12-03 Ken Raeburn <raeburn@gnu.org>
3631
3632 * coding.h (code_convert_string1): Declare.
3633
3634 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3635
52283633 3636 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3637
0dd5e255
JR
36382000-12-02 Jason Rumney <jasonr@gnu.org>
3639
3640 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3641 correctly for single byte character case.
3642 (w32_per_char_metric): Do not try to make any assumptions about
3643 the metrics of BDF fonts.
250cfece 3644 (x_estimate_mode_line_height): If `mode-line' face
52283633 3645 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3646 (note_mouse_highlight): Change the cursor shape on the vertical
3647 border between windows [not enabled].
3648
3649 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3650
3651 * w32fns.c (Fx_create_frame): Reintroduce the call to
3652 face-set-after-frame-defaults.
3653 (Vx_window_horizontal_drag_shape): New variable.
3654 (syms_of_xfns): DEFVAR_LISP it.
3655 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3656 enabled].
0dd5e255 3657
b5d8d2ca
GM
36582000-12-02 Simon Josefsson <simon@josefsson.org>
3659
3660 * fns.c (Fmd5): Use a different logic to decide the coding system
3661 to use.
3662
3663 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3664
fbb87147
EZ
36652000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3666
52283633 3667 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3668
447e9da0
GM
36692000-12-01 Gerd Moellmann <gerd@gnu.org>
3670
7708ced0
GM
3671 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3672 height for YNegative.
3673 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3674 height; also see comment there.
3675
447e9da0
GM
3676 * window.c (coordinates_in_window): Handle computations for
3677 positions on the vertical bar and fringes differently for
3678 window-system frames. Consider some pixels near the vertical bar
3679 as on the bar if the frame doesn't have vertical scroll bars.
3680 Associate positions between mode or header lines with the
3681 right window, the left one.
3682
86d1db20
JR
36832000-12-01 Jason Rumney <jasonr@gnu.org>
3684
3685 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3686
3687 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3688 invalid frame.
3689
a1d58e5b
GM
36902000-12-01 Gerd Moellmann <gerd@gnu.org>
3691
52283633 3692 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3693 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3694 (save_window_save, Fset_window_configuration): Save/restore
3695 window's orig_top and orig_height.
3696
89c609af
JR
36972000-12-01 Jason Rumney <jasonr@gnu.org>
3698
4d177746 3699 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3700
89c609af
JR
3701 * w32fns.c (x_set_cursor_color): Fix last change.
3702
eccc05db
GM
37032000-11-30 Gerd Moellmann <gerd@gnu.org>
3704
31b6671b
GM
3705 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3706 sure that the next redisplay displays the minibuffer, so that
3707 the cursor will be replaced with what the minibuffer wants.
3708
eccc05db
GM
3709 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3710 #ifndef instead of using #if.
3711 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3712 USE_TOOLKIT_SCROLL_BARS is defined.
3713
162de750
JR
37142000-11-30 Jason Rumney <jasonr@gnu.org>
3715
3716 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3717 x_display_cursor.
3718
693c4692
GM
37192000-11-30 Gerd Moellmann <gerd@gnu.org>
3720
3721 * fns.c (Fmd5): Doc fix.
3722
b5d8d2ca 37232000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3724
3725 * fns.c (Fmd5): New function.
3726 (syms_of_fns): Defsubr md5.
3727
3728 * Makefile.in (obj): Add md5.o
3729
b02cd40b
GM
37302000-11-30 Gerd Moellmann <gerd@gnu.org>
3731
edfb795e
GM
3732 * md5.h, md5.c: New files, taken from glibc.
3733
df3aedcf
GM
3734 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3735
b02cd40b 3736 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3737 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3738
8b5176cd
SM
37392000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3740
3741 * eval.c (Frun_hooks): Allow 0 arguments.
3742
346598f1
GM
37432000-11-29 Gerd Moellmann <gerd@gnu.org>
3744
f9396e03
GM
3745 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3746 is over the menu bar widget, say it's not on the frame.
3747
4a967a9b
GM
3748 * xfns.c (Fx_create_frame): Reintroduce the call to
3749 face-set-after-frame-defaults.
3750
346598f1
GM
3751 * eval.c (Fsignal): Reset handling_signal.
3752
222456a1
JR
37532000-11-28 Jason Rumney <jasonr@gnu.org>
3754
3755 * w32menu.c (add_menu_item): Reset menu item text when changing
3756 type to radio button.
3757
8049ddc0
GM
37582000-11-28 Gerd Moellmann <gerd@gnu.org>
3759
346598f1 3760 * xselect.c: Update copyright.
f4f4ee4d 3761
bebe4a2c
GM
3762 * window.c (coordinates_in_window): If on a mode or header line,
3763 but sufficiently close to its start, return ``on vertical
3764 border''. This gives us a way to drag windows horizontally when
3765 using toolkit scroll bars.
3766
3767 * xterm.c (note_mouse_highlight): Change the cursor shape
3768 on the vertical border between windows.
3769
3770 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3771
3772 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3773 (syms_of_xfns): DEFVAR_LISP it.
3774 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3775
8d2c2642
GM
3776 * textprop.c (text_read_only): New function.
3777 (verify_interval_modification): Use it instead of signaling
3778 `text-read-only'. This makes it easier to catch this error
52283633 3779 with a breakpoint.:
8d2c2642 3780
52283633 3781 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3782 not end of line, which includes CR.
3783
5a2bae6c
KH
37842000-11-28 Kenichi Handa <handa@etl.go.jp>
3785
3786 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3787 include no-conversion.
3788
ae31f84d
JR
37892000-11-27 Jason Rumney <jasonr@gnu.org>
3790
3791 * w32fns.c (w32_load_system_font): Always mark font as double byte
3792 if codepage is unicode.
3793
67f1cf4c
GM
37942000-11-27 Gerd Moellmann <gerd@gnu.org>
3795
4a74d071 3796 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3797 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3798
902ae620
GM
3799 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3800 `vertical-line', `mode-line' and `header-line' events.
3801
3802 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3803 of a character, a TAB for instance. This is easier than to set
3804 up the iterator exactly, and it's not a frequent case, so the
3805 additional effort wouldn't really pay off.
3806
c1e279c2
AC
38072000-11-26 Andrew Choi <akochoi@i-cable.com>
3808
67f1cf4c 3809 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3810 init_window_once.
3811
a609568a
JR
38122000-11-25 Jason Rumney <jasonr@gnu.org>
3813
52283633
SM
3814 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3815 Args to window_from_coordinates should be pixel coordinates.
48b21762 3816
a609568a
JR
3817 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3818 redisplay handles them properly.
3819
a658d039
MB
38202000-11-25 Miles Bader <miles@gnu.org>
3821
3822 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3823
d3416cca
JR
38242000-11-24 Jason Rumney <jasonr@gnu.org>
3825
3826 * w32.c (init_environment): Set LANG environment variable based on
3827 locale settings, if not set.
3828
3829 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3830 making tool bar smaller. When clearing the frame, also
3831 clear current matrices. Clear frame when tool bar disappears.
3832 Don't use more lines for the tool-bar than is available.
3833 (x_change_window_heights): New function.
3834
ba193890
GM
38352000-11-24 Gerd Moellmann <gerd@gnu.org>
3836
2be8f184
GM
3837 * xdisp.c (init_from_display_pos): If POS says we're already after
3838 an overlay string ending at POS, make sure to pop the iterator
3839 because it will be in front of that overlay string. When POS is
3840 ZV, we've thereby also ``processed'' overlay strings at ZV.
3841
ba193890
GM
3842 * xfaces.c (lface_from_face_name): Function comment fix.
3843
1862a24e
MB
38442000-11-24 Miles Bader <miles@gnu.org>
3845
3846 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3847 apply `mode-line-inverse-video' -- zero means force display using
3848 the default face, non-zero means display using the specialized face.
3849 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3850
f07fa1b8
KH
38512000-11-23 Kenichi Handa <handa@etl.go.jp>
3852
3853 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3854 hard coded `4'.
3855
2bcdf662
EZ
38562000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3857
3858 * coding.c (decode_coding_emacs_mule): Fix the case of
3859 CODING_EOL_LF, which used uninitialized value of c.
3860
ba8299ff
SM
38612000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3862
3863 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3864
f4117c4d
GM
38652000-11-22 Gerd Moellmann <gerd@gnu.org>
3866
03e757c1
GM
3867 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3868 buffer object.
3869
f4117c4d
GM
3870 * frame.h (struct frame): Replace desired_tool_bar_items,
3871 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3872 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3873
3874 * frame.c (make_frame): Change initialization of tool bar
3875 items accordingly.
3876
3877 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3878 Change references to members deleted from struct frame to use the
f4117c4d
GM
3879 new ones.
3880
3881 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3882 references to members deleted from struct frame to use the new ones.
f4117c4d 3883
52283633 3884 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3885
3886 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3887
3888 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3889 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3890 from struct frame to use the new ones.
3891
f8e2f3f2
MB
38922000-11-23 Miles Bader <miles@gnu.org>
3893
3894 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3895 the face's inverse-video attribute, rather than overriding it.
3896
60e8e0a5
GM
38972000-11-22 Gerd Moellmann <gerd@gnu.org>
3898
3899 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3900 making tool bar smaller.
3901
92dd1b29
DL
39022000-11-22 Dave Love <fx@gnu.org>
3903
3904 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3905
e672fdce
MB
39062000-11-22 Miles Bader <miles@gnu.org>
3907
3a17d6cc
MB
3908 * keyboard.c (Vminibuffer_message_timeout): New variable.
3909 (command_loop_1): Use it to determine message timeout.
3910 (syms_of_keyboard): Initialize it.
3911
60e8e0a5 3912 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3913
e9655d81
KH
39142000-11-22 Kenichi Handa <handa@etl.go.jp>
3915
3916 * sysdep.c: Move the code for declaring h_errno after #include
3917 <netdb.h>.
3918
77270fac
GM
39192000-11-21 Gerd Moellmann <gerd@gnu.org>
3920
cd913aae
GM
3921 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3922 the menu bar when the tooltip is unmapped.
3923
77270fac
GM
3924 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3925 sole visible buffer when we're currently in the mini-buffer, and
3926 give up if so.
52283633 3927
556635d6
JR
39282000-11-21 Jason Rumney <jasonr@gnu.org>
3929
3930 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3931 put on the clipboard.
3932 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3933 copy of what Emacs last put there. If they are the same, do not
52283633 3934 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3935
5b7bde64
MB
39362000-11-22 Miles Bader <miles@gnu.org>
3937
3938 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3939 (syms_of_minibuf): Initialize it.
3940 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3941 to prompt, don't make read-only.
3942
ff23e1dd
GM
39432000-11-21 Gerd Moellmann <gerd@gnu.org>
3944
52283633
SM
3945 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3946 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3947
7aaf4388
GM
3948 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3949
f5f47add 3950 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3951
ff23e1dd
GM
3952 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3953
37c35586
KH
39542000-11-21 Kenichi Handa <handa@etl.go.jp>
3955
3956 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3957 ... #endif scope.
3958
ff9ab414
GM
39592000-11-20 Gerd Moellmann <gerd@gnu.org>
3960
52283633 3961 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3962 screen supports it.
3963
29a01b72
GM
3964 * s/gnu-linux.h: Don't use `#cpu'.
3965
09dfdf85
GM
3966 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3967 not defined in mman.h.
3968
52283633 3969 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3970 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3971 and store an index in the XClientMessageEvent. Storing a
3972 Lisp_Object or pointer can fail on a 64 bit system, since X only
3973 transfers 32 bits.
52283633
SM
3974 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3975
81459ac9
DL
39762000-11-20 Dave Love <fx@gnu.org>
3977
3978 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3979
56c13ae6
GM
39802000-11-20 Gerd Moellmann <gerd@gnu.org>
3981
3982 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3983
495a6df3
KH
39842000-11-20 Kenichi Handa <handa@etl.go.jp>
3985
2bcf3714
KH
3986 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3987 by WIDTH.
3988
495a6df3
KH
3989 * alloc.c (make_string): Fix previous change. Be sure to make
3990 unibyte string correctly.
3991
6d950f4c
GM
39922000-11-19 Gerd Moellmann <gerd@gnu.org>
3993
39b39373
GM
3994 * window.c (Fwindow_list): Change parameter list to be XEmacs
3995 compatible.
3996 (window_list_1): New function.
3997 (window_loop): Use it instead of Fwindow_list.
3998
b95b34e5
GM
3999 * sysdep.c (emacs_ospeed): New variable.
4000 (toplevel): Don't declare ospeed extern.
4001 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4002
4003 * termcap.c (ospeed): Remove.
4004 (tputs) [!emacs]: Remove unused code.
4005 (tgetent): Avoid a compiler warning.
4006
e83dc917
GM
4007 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4008 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4009 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4010
4011 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4012 removed.
4013 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4014 Take the X display as additional argument.
4015 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4016 `Widget' is a pointer type that's not easily stored in Lisp_Object
4017 form in a portable way.
52283633 4018
6d950f4c
GM
4019 * dispnew.c (update_text_area): Fix last change.
4020
e47306e6
GM
40212000-11-18 Gerd Moellmann <gerd@gnu.org>
4022
fb3cd89b
GM
4023 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4024
4025 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4026 clear current matrices.
4027
edaa9aed
GM
4028 * buffer.c (mmap_enlarge): Don't print a message on stderr
4029 if mapping new memory at the end of the existing region fails.
4030
e47306e6
GM
4031 * dispnew.c (update_text_area): Don't skip over equal glyphs
4032 when the last current glyph overlaps the glyph to its right.
4033
509633e3
MB
40342000-11-18 Miles Bader <miles@gnu.org>
4035
4036 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4037 lines that *end* with "..." too (that's the most common case!).
4038
d392e9c5
GM
40392000-11-18 Gerd Moellmann <gerd@gnu.org>
4040
67988445
GM
4041 * xdisp.c (resize_mini_window): Temporarily change to the
4042 mini-window's buffer if necessary.
1bfdbe43 4043
d392e9c5
GM
4044 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4045 the tooltip obscures less text under it.
4046
40472000-11-17 Gerd Moellmann <gerd@gnu.org>
4048
4049 * puresize.h (BASE_PURESIZE): Increase to 700000.
4050
92bb977f
JR
40512000-11-18 Jason Rumney <jasonr@gnu.org>
4052
4053 * w32term.c (w32_draw_bitmap): Use face to set colors.
4054
26fbf20b
DL
40552000-11-17 Dave Love <fx@gnu.org>
4056
4057 * lread.c (Fload): Fix #ifdef for pcc.
4058
100b593b
GM
40592000-11-17 Gerd Moellmann <gerd@gnu.org>
4060
4061 * xdisp.c (pos_visible_p): Compute the default character height
4062 differently.
4063
a288d0d1
GM
40642000-11-16 Gerd Moellmann <gerd@gnu.org>
4065
cac94de6 4066 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4067 knowing the line's height; use the default font's height in that case.
cac94de6 4068
a288d0d1
GM
4069 * xfaces.c (weight_table): Add `demi' with the same meaning as
4070 `demibold'.
4071
981fb6f6
KH
40722000-11-16 Kenichi Handa <handa@etl.go.jp>
4073
2cca872d 4074 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4075 (clear_glyph_row): Delete local static variable null_row.
4076
e5fa381b
JR
40772000-11-15 Jason Rumney <jasonr@gnu.org>
4078
4079 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4080 (w32_alloc_lighter_color): Use new brightness calculations from
4081 xterm.c. Scale delta to be in the range expected by W32.
4082 (w32_draw_relief_rect): Use frame relief colors.
4083
8e42f043
GM
40842000-11-15 Gerd Moellmann <gerd@gnu.org>
4085
6d133d1f
GM
4086 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4087 (Qinhibit_default_face_x_resources): New variable.
4088 (syms_of_frame): Initialize it.
4089 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4090
4091 * xdisp.c (pos_visible_p): Improve function comment.
4092
4093 * lisp.h (BINDING_STACK_SIZE): New macro.
4094
8e42f043
GM
4095 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4096 reading the directory if readdir returns null and errno is EAGAIN
4097 or EINTR.
4098
e8c87124
SM
40992000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4100
4101 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4102 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4103 Set amount_to_scroll to max of dx and scroll_step so that
4104 scroll-conservatively doesn't defeat scroll-step>1.
4105 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4106 scroll-conservatively for line-at-a-time scrolling.
4107
5f0c971d
GM
41082000-11-14 Gerd Moellmann <gerd@gnu.org>
4109
4110 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4111 extra argument.
4112
4113 * xdisp.c (current_mode_line_height, current_header_line_height):
4114 New variables.
4115 (init_xdisp): Initialize them.
4116 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4117 and use exact mode line heights if it is set.
4118
4119 * lisp.h (pos_visible_p): Change prototype.
4120
4121 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4122 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4123 and current_header_line_height first.
52283633
SM
4124 (current_mode_line_height, current_header_line_height):
4125 Declare extern.
5f0c971d 4126
d7361edf
MB
41272000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4128
4129 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4130 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4131 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4132
ee5e440a
MB
41332000-11-14 Miles Bader <miles@gnu.org>
4134
4135 * xterm.c (x_alloc_lighter_color): Include an additive component
4136 too for dark colors, because FACTOR isn't enough.
4137 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4138 New macros.
4139
5ca020fc
GM
41402000-11-13 Gerd Moellmann <gerd@gnu.org>
4141
4142 * keyboard.c (show_help_echo): Call message3_nolog with number of
4143 bytes in the help string as 2nd parameter, instead of the number
4144 of characters.
4145
9d348294
MB
41462000-11-13 Miles Bader <miles@gnu.org>
4147
4148 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4149 (Fload): Use new openp return protocol.
4150 Don't try to use Vload_source_file_function to load .elc files.
4151 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4152 openp return protocol.
4153 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4154
1729bb9a
KH
41552000-11-11 Kenichi Handa <handa@etl.go.jp>
4156
4e677396
KH
4157 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4158
4159 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4160 Defined these macros.
4161 (NLIST_STRUCT): Avoid re-defining it.
4162
1729bb9a
KH
4163 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4164 -I/usr/contrib/X11R6/include.
4165 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4166
a82fe213
JR
41672000-11-10 Jason Rumney <jasonr@gnu.org>
4168
4169 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4170
4171 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4172 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4173
4174 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4175 (Qw32_charset_vietnamese): New symbol.
4176 (xlfd_charset_of_font): New function.
4177 (w32_load_system_font): Use it.
4178 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4179 when Vw32_charset_info_alist is nil to ensure default face always
4180 has font. Use Fcar and Fcdr for safety.
4181 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4182 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4183 pseudo-codepages for special cases.
4184 (w32_to_x_font): New parameter to allow charset portion to be
4185 specified where there is many to one mapping. Callers changed.
4186 (w32_list_fonts): Avoid listing fonts that won't display.
4187
52d89894
GM
41882000-11-10 Gerd Moellmann <gerd@gnu.org>
4189
4190 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4191 (font_list_1): Renamed from font_list.
4192 (font_list): New function, trying alternative registries from
4193 Vface_alternative_font_registry_alist.
4194 (Finternal_set_alternative_font_registry_alist): New function.
4195 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4196 Vface_alternative_font_registry_alist.
4197 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4198
651cd3da
KR
41992000-11-09 Ken Raeburn <raeburn@gnu.org>
4200
4201 * lisp.h (Flooking_at): Declare.
4202
388ac098
GM
42032000-11-09 Gerd Moellmann <gerd@gnu.org>
4204
778fbc46 4205 * dired.c (directory_files_internal): Fix a braino.
52283633 4206
388ac098
GM
4207 * dired.c (directory_files_internal): Add missing GCPRO's.
4208 Some cleanup.
4209
ecaedde1
GM
42102000-11-08 Gerd Moellmann <gerd@gnu.org>
4211
f7eb32aa
GM
4212 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4213 (resize_mini_window): Return quickly if Vresize_mini_window is
4214 nil. Don't return if Vmax_mini_window_height is nil.
4215
4216 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4217 (syms_of_xdisp): Initialize them.
4218 (resize_mini_window): Act according to the setting of
4219 Vresize_mini_window.
4220 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4221
ecaedde1
GM
4222 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4223 scroll bar widget after configuring it, so that it will appear at
4224 the right position from the start.
4225 (XTredeem_scroll_bar): Cleaned up.
4226
3747ef2c
KH
42272000-11-08 Kenichi Handa <handa@etl.go.jp>
4228
4229 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4230 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4231 division by two.
4232
4233 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4234
03391420
DL
42352000-11-07 Dave Love <fx@gnu.org>
4236
7758f1c1 4237 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4238
4239 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4240
b5de343d
GM
42412000-11-07 Gerd Moellmann <gerd@gnu.org>
4242
acad3c0b
GM
4243 * window.c (Fset_window_configuration): Don't try to preserve
4244 point in the current buffer, if that buffer is displayed in more
4245 than one window.
4246
b5de343d
GM
4247 * xfaces.c (lookup_named_face): If default face isn't realized,
4248 try to realize it. Return -1 if not successful.
4249 (Fx_list_fonts): Handle case that face cannot be determined.
4250 (Fface_font): Likewise.
4251
cdb1fe49
GM
42522000-11-06 Gerd Moellmann <gerd@gnu.org>
4253
4254 * window.c (displayed_window_lines): Detect partially
4255 visible lines at the bottom correctly.
4256
d3a67486
SM
42572000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4258
4259 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4260 when ensuring we don't do visit in indirect buffer.
4261
ff8dd5d5
KH
42622000-11-06 Kenichi Handa <handa@etl.go.jp>
4263
4264 * composite.h (compose_chars_in_text): Add prototype.
4265
4266 * composite.c (Vcomposition_function_table): New variable.
4267 (Qcomposition_function_table): New variable.
4268 (run_composition_function): Call
4269 Vcompose_chars_after_function with three arguments.
4270 (compose_chars_in_text): New function.
4271 (syms_of_composite): Modified the doc-string of
4272 Vcompose_chars_after_function. Declare composition-function-table
4273 as a lisp variable, and initialize it.
4274
4275 * xfns.c (x_encode_text): Suppress producing escape sequences for
4276 composition.
4277
4278 * xselect.c: Include composite.h.
4279 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4280
d1145f85
AI
42812000-11-05 Andrew Innes <andrewi@gnu.org>
4282
4283 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4284
4285 * sysdep.c (read_input_waiting): Remove extraneous argument to
4286 read_socket_hook.
4287
4288 * w32fns.c (Fx_server_version): Include w32_build_number in the
4289 return list.
4290
4291 * w32heap.c (w32_build_number): New variable.
4292 (cache_system_info): Set it.
4293
4294 * w32heap.h (w32_build_number): Add extern.
4295
4296 * emacs.c (syms_of_emacs): Update docstring for
4297 system-configuration, to reflect the actual usage on MS-Windows.
4298
e85ee976
GM
42992000-10-31 Gerd Moellmann <gerd@gnu.org>
4300
26dcb81b
GM
4301 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4302 process idle timers while waiting for another event.
4303
52283633 4304 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4305 the default face are colored.
4306
e85ee976
GM
4307 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4308 window height hasn't changed.
4309
01b220b6
JR
43102000-10-31 Jason Rumney <jasonr@gnu.org>
4311
4312 * w32term.c (x_produce_glyphs): Handle composite characters.
4313 (x_draw_glyph_string_foreground)
4314 (x_draw_composite_glyph_string_foreground): Restore old font.
4315
4e6b7204
MB
43162000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4317
4318 * minibuf.c (read_minibuf): Reset the undo history just before
4319 starting the recursive-edit.
4320
d4358b37
GM
43212000-10-30 Gerd Moellmann <gerd@gnu.org>
4322
563f68f1
GM
4323 * xfaces.c (menu_face_change_count): New variable.
4324 (Finternal_set_lisp_face_attribute): Increment it for changes
4325 of the `menu' face.
4326 (realize_basic_faces): Reflect changes in the `menu' faces
4327 in menu bars.
4328
82e274d1
GM
4329 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4330 dy obtained from the iterator's y-position after moving from
4331 scroll_margin_pos to PT; see comment there.
52283633 4332
0dbf9fd2
GM
4333 * xdisp.c (safe_eval_handler): Call add_to_log.
4334
906b3b14
GM
4335 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4336 is not a symbol or string.
4337
d4358b37
GM
4338 * xdisp.c (echo_area_display): Don't perform a display update from
4339 inside redisplay. The update will happen anyway at the end of
4340 redisplay, and it can confuse redisplay (GC messages while
4341 redisplaying, for instance.)
4342
70c825df
SM
43432000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4344
cf9b4b0b
SM
4345 * xrdb.c (x_load_resources): Use the class name in the defaults.
4346
70c825df
SM
4347 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4348 (regex_compile): Catch bogus \(\1\).
4349
a1d34b1e
GM
43502000-10-30 Gerd Moellmann <gerd@gnu.org>
4351
cae71efe
GM
4352 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4353 RGB values.
52283633 4354
35efe0a1
GM
4355 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4356 we have a color cache, check that the cached color equals the
4357 allocated color. If not, clear the color cache.
4358
1d3baf74
GM
4359 * window.c (displayed_window_lines): Change buffers if necessary.
4360 Fix computation of displayed lines.
4361
a1d34b1e
GM
4362 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4363 update_menu_bindings to DEFVAR_BOOL.
4364
70737ea9
KH
43652000-10-30 Kenichi Handa <handa@etl.go.jp>
4366
70c825df 4367 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4368
fa0cb51d
KH
4369 * puresize.h (BASE_PURESIZE): Increase to 680000.
4370
70737ea9
KH
4371 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4372
0e4c08e8
JR
43732000-10-29 Jason Rumney <jasonr@gnu.org>
4374
4375 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4376
4377 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4378 (w32_cache_char_metrics): Handle possibility that 'x' does not
4379 exist in a BDF font.
4380 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4381
4382 * w32bdf.h (bdffont): Add nchars.
4383
4384 * w32bdf.c (set_bdf_font_info): Set it.
4385 (w32_BDF_TextOut): Swap byte order of double byte characters.
4386 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4387
45b84006
EZ
43882000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4389
4390 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4391 don't override the colors in frame's param_alist, unless they are
4392 unspecified.
4393
4394 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4395 reverse the effect of the highlight flag.
4396
caf9deee
KR
43972000-10-27 Ken Raeburn <raeburn@gnu.org>
4398
4399 * window.h (Fwindow_live_p): Declare.
4400
ae0b9b46
KR
4401 * undo.c (record_delete): Check that last_undo_buffer is really a
4402 buffer before applying XBUFFER to it.
4403
4404 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4405 Faref.
4406
02067692
SM
44072000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4408
4409 * lisp.h (KEYMAPP): New macro.
4410 (get_keymap): Remove.
4411 (get_keymap_1): Rename get_keymap.
4412
4413 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4414
4415 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4416
4417 * xmenu.c (single_submenu): Use KEYMAPP.
4418 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4419 Use KEYMAPP rather than Fkeymapp.
4420
4421 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4422
4423 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4424 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4425 Use KEYMAPP rather than Fkeymapp.
4426 (single_submenu): Use KEYMAPP.
4427 (w32_menu_show, w32_dialog_show): Use TRUE.
4428
4429 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4430
4431 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4432 (Fkeymapp): Use KEYMAPP.
4433 (get_keymap): Rename from get_keymap_1. Remove old def.
4434 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4435 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4436 (Fminor_mode_key_binding): Don't raise an error if the binding
4437 is not a keymap.
4438 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4439 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4440
4441 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4442 Allow Vspecial_event_map to be autoloaded.
4443 (menu_bar_items): Fetch the keymap rather than using keymapp.
4444 (menu_bar_one_keymap): No need to follow func-indirect any more.
4445 (parse_menu_item): get_keymap_1 -> get_keymap.
4446 (tool_bar_items): Fetch the keymap rather than using keymapp.
4447 (read_key_sequence): Use KEYMAPP.
4448
4449 * intervals.c (get_local_map): Use get_keymap rather than following
4450 function-indirections explicitly.
4451
4452 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4453
f9d80af3
JR
44542000-10-27 Jason Rumney <jasonr@gnu.org>
4455
4456 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4457 point, as Windows has oversized fonts.
4458
4459 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4460
a3ba27da
GM
44612000-10-27 Gerd Moellmann <gerd@gnu.org>
4462
4463 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4464 (freehook, reallochook): Handle null pointer arguments.
4465 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4466
aa3b80cc
SM
44672000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4468
4469 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4470 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4471 Giving in to popular pressure to shut up the compiler with casts.
4472
e24e84cc
GM
44732000-10-27 Gerd Moellmann <gerd@gnu.org>
4474
4475 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4476 signed value, and use a default value computed from the font's
4477 maximum descent.
4478
05ea7ef2
MB
44792000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4480
4481 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4482 that specify a negative underline position can still use underlines.
4483
4484 * window.c (Fpos_visible_in_window_p): Make POS default to
4485 WINDOW's point, not the current buffer's point.
4486
0b95284b
DL
44872000-10-26 Dave Love <fx@gnu.org>
4488
4489 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4490 when it's necessary.
4491
6c5b90af
GM
44922000-10-26 Gerd Moellmann <gerd@gnu.org>
4493
8b6d9dc9
GM
4494 * window.c (size_window): Compute size difference from sum of old
4495 child window sizes instead of from parent's size.
4496
6bc92b2e
GM
4497 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4498 Handle obscured lines at the top of the window.
4499
4500 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4501 down after the last error condition check.
4502
6c5b90af
GM
4503 * frame.c (Fdelete_frame): Run delete-frame-hook.
4504
42f92d4d
KH
45052000-10-26 Kenichi Handa <handa@etl.go.jp>
4506
4507 * coding.c (decode_coding): Fix previous change (check also
4508 CODING_MODE_LAST_BLOCK).
4509
d97151cb
SM
45102000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4511
e7efc503
SM
4512 * regex.c: More `unsigned char' -> `re_char' changes.
4513 Also change several `int' into `re_wchar_t'.
4514 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4515 (PUSH_FAILURE_POINTER): Don't cast any more.
4516 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4517 We want GCC to complain, since this piece of code makes
4518 re_match non-reentrant, which *should* be fixed.
4519 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4520 (EXTEND_BUFFER): Use RETALLOC.
4521 (SET_LIST_BIT): Don't cast.
4522 (re_wchar_t): New type.
4523 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4524 that those two functions will always properly return.
4525 (IMMEDIATE_QUIT_CHECK): Cast to void.
4526 (analyse_first): Use recursion rather than an explicit stack.
4527 (re_compile_fastmap): Can't fail anymore.
4528 (re_search_2): Don't check re_compile_fastmap for failure.
4529 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4530 Now also sets the new value (passed in a new argument).
4531 (re_match_2_internal): Use it.
4532 Also, use a new var `reg' of type size_t when looping through regs
4533 rather than reuse the inappropriate `mcnt'.
4534
d97151cb
SM
4535 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4536 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4537 (where_is_internal): Renamed from Fwhere_is_internal.
4538 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4539 (Fwhere_is_internal): New function wrapping where_is_internal.
4540 (where_is_internal_1): Handle the case where we're filling the cache.
4541 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4542
d5789b65
MB
45432000-10-25 Miles Bader <miles@gnu.org>
4544
4545 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4546
4ecda532
GM
45472000-10-25 Gerd Moellmann <gerd@gnu.org>
4548
4549 * window.c (pos_fully_visible_p): Removed.
4550 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4551 if position is visible and/or fully visible.
4552
4553 * lisp.h (pos_visible_p): Add prototype.
4554
4555 * xdisp.c (pos_visible_p): New function.
4556
68c3a137
KH
45572000-10-25 Kenichi Handa <handa@etl.go.jp>
4558
4559 * process.c (send_process): If OBJECT is t, it means that the data
4560 is from C string, but we should encode it. Before calling
4561 setup_raw_text_coding_system, be sure to flush out data by the
4562 previous coding system.
4563
7ae1c032
MB
45642000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4565
ff4dcd4b
MB
4566 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4567 assignment of startpos to prev when startpos == pos.
4568
7ae1c032
MB
4569 * editfns.c (find_field): Set the field stickiness correctly from
4570 overlay fields. Use renamed `text_property_stickiness'.
4571 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4572 Only check text properties, not overlays.
7ae1c032
MB
4573 * textprop.c (get_char_property_and_overlay): New function.
4574 (Fget_char_property): Use it.
4575 * intervals.h (get_char_property_and_overlay): Add declaration.
4576
49801145
SM
45772000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4578
4579 * keymap.c: Use AREF, ASET and ASIZE macros.
4580 (Fmake_sparse_keymap): Docstring fix.
4581 (synkey): Remove.
4582 (shadow_lookup): Move up.
4583 Handle the case where lookup-key returns an integer.
4584 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4585 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4586 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4587 Simplify/rewrite the keymap-finding code.
4588 Add check for command shadowing, using shadow_lookup.
4589
39e776cd
SM
45902000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4591
4592 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4593 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4594 a symbol.
4595
2488aba5
AI
45962000-10-24 Andrew Innes <andrewi@gnu.org>
4597
4598 * dired.c (directory_files_internal_unwind): New function.
4599 (directory_files_internal): Use it to ensure closedir is called
4600 even if expand-file-name or file-attributes throw, eg. because of
4601 a user interrupt. Also enable immediate_quit while calling
4602 re_search, so that matching can be interrupted as well.
4603
b94fdf61
AI
46042000-10-24 Andrew Innes <andrewi@gnu.org>
4605
4606 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4607 NT-Emacs only.
4608 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4609 so that re_search functions only quit when callers expect them to.
4610
46112000-10-24 Kenichi Handa <handa@etl.go.jp>
4612
4613 * regex.c (regex_compile): Change the way of handling a range from
4614 a char less than 256 to a char not less than 256.
4615
1946f901
GM
46162000-10-24 Gerd Moellmann <gerd@gnu.org>
4617
7ae2f10f
GM
4618 * window.c (size_window): Prevent setting window's width or
4619 height to a negative value (esp. with XSETFASTINT).
4620
5dcab13e
GM
4621 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4622 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4623 (protect_malloc_state) [GC_MALLOC_CHECK &&
4624 GC_PROTECT_MALLOC_STATE]: New function.
4625 (PROTECT_MALLOC_STATE): New macro.
4626 (__malloc_initialize, morecore, _malloc_internal)
4627 (_free_internal) _realloc_internal): Use it to make _heapinfo
4628 read-only outside of gmalloc.
4629
63e1b552
GM
4630 * keymap.c: Update copyright.
4631
1946f901
GM
4632 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4633 a symbol.
4634
4fa09beb
GM
46352000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4636
4637 * filelock.c (unlock_all_files): Use unlock_file to expand each
4638 buffer's file_truename before trying remove its lock file.
4639
23afac01
EZ
46402000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4641
4642 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4643 or CRLF, decode EOLs.
4644
04448b95
KH
46452000-10-24 Kenichi Handa <handa@etl.go.jp>
4646
4647 * window.c (Fdisplay_buffer): Fix doc.
4648
3090a5a5
JR
46492000-10-23 Jason Rumney <jasonr@gnu.org>
4650
4651 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4652 ASCII font of default fontset on Windows.
4653
4654 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4655 xterm.c comment below).
4656
4657 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4658
a83fee2c
GM
46592000-10-23 Gerd Moellmann <gerd@gnu.org>
4660
4661 * xterm.c (x_connection_closed): Reset handling_signal.
4662
52283633 4663 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4664
6ffdb539
MB
46652000-10-23 Miles Bader <miles@gnu.org>
4666
4667 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4668 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4669 maintain old behavior.
4670 * minibuf.c (Fminibuffer_complete): Likewise.
4671
7f1c969b
MB
46722000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4673
4674 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4675 that when a font can't be exactly centered, it errs up rather than
4676 down.
4677
23afac01 46782000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4679
52283633 4680 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4681
1a578e9b
AC
46822000-10-23 Andrew Choi <akochoi@i-cable.com>
4683
4684 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4685
4686 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4687 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4688
4689 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4690 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4691 syms_of_search, x_term_init, and init_keyboard before calling
4692 init_window_once. Also, call syms_of_xmenu.
4693
4694 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4695 default fontset to Monaco.
4696
4697 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4698 NewMacWindow and DisposeMacWindow.
4699 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4700 instead of calling NewMacWindow and setting fields of
4701 f->output_data.mac directly. Call init_frame_faces.
4702 (Fdelete_frame) [macintosh]: Remove unused code.
4703 (Fmodify_frame_parameters) [macintosh]: Call
4704 x_set_frame_parameters instead of mac_set_frame_parameters.
4705
4706 * frame.h [macintosh]: Define menu_bar_lines field in struct
4707 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4708
4709 * keyboard.c [macintosh]: Include macterm.h.
4710 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4711 and menu_bar_activate_event type events as for X and NT.
4712 (make_lispy_event) [macintosh]: Construct lisp events of type
4713 MENU_BAR_EVENT as for X and NT.
4714
4715 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4716 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4717 (sys_subshell) [macintosh]: Remove definition entirely.
4718 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4719 Vwindow_system_version here. Remove initialization of
4720 Vx_bitmap_file_path.
4721 (read_input_waiting): Correct the number of parameters passed to
4722 read_socket_hook.
4723 Move all Macintosh functions to mac/mac.c.
4724
4725 * term.c [macintosh]: Include macterm.h.
4726
4727 * window.c [macintosh]: Include macterm.h.
4728
4729 * xdisp.c [macintosh]: Include macterm.h. Declare
4730 set_frame_menubar and pending_menu_activation.
4731 (echo_area_display) [macintosh]: Do not return if terminal frame
4732 is the selected frame.
4733 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4734 Allow only the selected frame to set menu bar.
4735 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4736 calling FRAME_EXTERNAL_MENU_BAR (f).
4737 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4738
4739 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4740 and check_x. Declare XCreateGC. Define x_create_gc and
4741 x_free_gc. Initialize font_sort_order.
4742 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4743 but call x_list_fonts instead of w32_list_fonts.
4744 (Finternal_face_x_get_resource) [macintosh]: Do not call
4745 display_x_get_resource.
4746 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4747 (realize_x_face) [macintosh]: Load the font if it is specified in
4748 ATTRS.
52283633 4749 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4750
1ffbabe3
SM
47512000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4752
4753 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4754 is nil: since we go to the end of submap anyway, we'd end up
4755 setting nil to nil.
4756 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4757 doesn't obey autoload.
4758
bed43f1d
EZ
47592000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4760
1ffbabe3 4761 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4762
ea4233a7
JR
47632000-10-21 Jason Rumney <jasonr@gnu.org>
4764
4765 * w32term.c (w32_cache_char_metrics): Double check that font is
4766 really fixed pitch before trusting tmPitchAndFamily.
4767
f3d3c491
AI
47682000-10-21 Andrew Innes <andrewi@gnu.org>
4769
4770 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4771
4772 * w32term.h: Extern decl for w32_cache_char_metrics.
4773
4774 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4775
4776 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4777 (w32_unload_font): Free per_char array if present.
4778
4779 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4780 cached information in emulated XFontStruct to handle common cases
4781 quickly. Do not allocate XCharStruct for return.
4782 (w32_native_per_char_metric): New function.
4783 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4784 allocating one.
4785 (x_produce_glyphs): Don't get an HDC. Change calls to
4786 w32_per_char_metric to match arg change above. Remove calls to
4787 free results.
4788 (w32_get_glyph_overhangs): Ditto.
4789 (w32_cache_char_metrics): New function.
4790
4791 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4792 ($(BLD)/casefiddle.$(O)): Remove compile command.
4793 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4794 ($(BLD)/dispnew.obj):
4795 ($(BLD)/keyboard.obj):
4796 ($(BLD)/w32inevt.obj):
4797 ($(BLD)/w32bdf.obj):
4798 ($(BLD)/alloc.obj):
4799 ($(BLD)/buffer.obj):
4800 ($(BLD)/editfns.obj):
4801 ($(BLD)/emacs.obj):
4802 ($(BLD)/fileio.obj):
4803 ($(BLD)/fns.obj):
4804 ($(BLD)/indent.obj):
4805 ($(BLD)/insdel.obj):
4806 ($(BLD)/intervals.obj):
4807 ($(BLD)/minibuf.obj):
4808 ($(BLD)/print.obj):
4809 ($(BLD)/scroll.obj):
4810 ($(BLD)/sysdep.obj):
4811 ($(BLD)/textprop.obj):
4812 ($(BLD)/widget.obj):
f3d3c491
AI
4813 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4814 ($(BLD)/term.obj): Add dependency on dispextern.h.
4815
52283633
SM
4816 * makefile.nt ($(BLD)\dispnew.obj):
4817 ($(BLD)\keyboard.obj):
4818 ($(BLD)\w32inevt.obj):
4819 ($(BLD)\w32bdf.obj):
4820 ($(BLD)\alloc.obj):
4821 ($(BLD)\buffer.obj):
4822 ($(BLD)\editfns.obj):
4823 ($(BLD)\emacs.obj):
4824 ($(BLD)\fileio.obj):
4825 ($(BLD)\fns.obj):
4826 ($(BLD)\indent.obj):
4827 ($(BLD)\insdel.obj):
4828 ($(BLD)\intervals.obj):
4829 ($(BLD)\minibuf.obj):
4830 ($(BLD)\print.obj):
4831 ($(BLD)\scroll.obj):
4832 ($(BLD)\sysdep.obj):
4833 ($(BLD)\textprop.obj):
4834 ($(BLD)\widget.obj):
f3d3c491
AI
4835 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4836 ($(BLD)\term.obj): Add dependency on dispextern.h
4837
18ad4821
EZ
48382000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4839
4840 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4841 with an additional argument of Qt.
4842
de54681a
MB
48432000-10-21 Miles Bader <miles@gnu.org>
4844
4845 * window.c (pos_fully_visible_in_window_p): New function.
4846 (Fpos_visible_in_window_p): Add FULLY argument.
4847 Use pos_fully_visible_in_window_p.
4848 (window_scroll_pixel_based, window_scroll_line_based): Update
4849 calls to Fpos_visible_in_window_p.
4850 * lisp.h (Fpos_visible_in_window_p): Update prototype
4851
13c844fb
GM
48522000-10-20 Gerd Moellmann <gerd@gnu.org>
4853
4854 * alloc.c (toplevel): Conditionalize compilation of mem_*
4855 functions differently.
52283633 4856
d9506268
JR
48572000-10-20 Jason Rumney <jasonr@gnu.org>
4858
4859 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4860 mem_init where it used to be. mem_z etc not defined otherwise.
4861
8094989b
GM
48622000-10-20 Gerd Moellmann <gerd@gnu.org>
4863
4864 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4865 GC_MALLOC_CHECK.
4866 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4867 structure definition and related variabled to the top of the file.
4868 Include this code when GC_MALLOC_CHECK is defined.
4869 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4870 register/unregister allocated region.
4871 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4872 which isn't allocated.
4873 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4874 something which is already in use.
4875 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4876 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4877 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4878 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4879
4880 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4881 _malloc_internal instead of malloc.
4882 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4883 of free.
4884
ea456eb4
AI
48852000-10-20 Andrew Innes <andrewi@gnu.org>
4886
4887 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4888 Windows.
4889 (my_strftime) <macro>: Don't use macro arg list when redefining as
4890 _strftime_copytm.
4891 (my_strftime) <function>: Supply 0 as ut argument.
4892
e64c3a75
JR
48932000-10-19 Jason Rumney <jasonr@altavista.net>
4894
4895 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4896 including dispextern.h, as it stops faces from working.
4897
4898 * w32fns.c (Fx_create_frame): Don't bother calling
4899 face-set-after-frame-default since the caller does it for us
4900 anyway. Clean up calls to x_get_arg to be consistent with X.
4901
4902 * w32term.c (x_produce_glyphs): Handle
4903 unibyte_display_via_language_environment correctly.
4904 (w32_draw_box_rect): Fix the calculation of width and height.
4905
4906 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4907 as it has stopped working.
4908 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4909 menu-bar.
4910
17401c97
GM
49112000-10-19 Gerd Moellmann <gerd@gnu.org>
4912
4913 * eval.c (skip_debugger): Prevent a compiler warning.
4914 (Fcondition_case): Likewise.
4915 (Fbacktrace_frame): Use a null interactive spec.
4916
773272d8
KH
49172000-10-19 Kenichi Handa <handa@etl.go.jp>
4918
4919 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4920
a42943e9
GM
49212000-10-18 Gerd Moellmann <gerd@gnu.org>
4922
e50517d9
GM
4923 * strftime.c: Sync with glibc, file version 1.78.
4924 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4925 should no longer be used according to ISO 8601.
4926
9035a35a
GM
4927 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4928 no map for meta_prefix_char, don't try to use it as a keymap.
4929 Instead, if T_OK is non-zero, look up a default binding, if any,
4930 otherwise, if T_OK is zero, return nil.
4931
a42943e9
GM
4932 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4933 (x_to_xcolors, png_load): Use x_query_color.
4934
52283633
SM
4935 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4936 New functions.
a42943e9
GM
4937 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4938 which can be slow.
4939 (x_copy_color, x_alloc_lighter_color): Likewise.
4940
4941 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4942 (x_query_color, x_query_colors): Add prototype.
4943
4944 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4945 check_string_bytes only if not noninteractive, increase count to 50.
4946
00de2987
MB
49472000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4948
4949 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4950 markers correctly.
4951
54918e2b
GM
49522000-10-17 Gerd Moellmann <gerd@gnu.org>
4953
1f0b3fd2
GM
4954 * alloc.c (pure_bytes_used): Renamed from pureptr.
4955 (ALIGN): New macro.
4956 (pure_alloc): New function.
4957 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4958 Use it.
4959 (Fpurecopy): Use PURE_POINTER_P.
4960
68c5d1db
GM
4961 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4962 PT has moved backward.
52283633 4963
9a038881
GM
4964 * xdisp.c (cursor_row_p): Take continued lines into account.
4965
361b097f
GM
4966 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4967 string's size_byte.
4968 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4969 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4970 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4971 string allocated.
4972
54918e2b
GM
4973 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4974 of selective display off while searching for the next line start.
4975
03ed0806
KH
49762000-10-17 Kenichi Handa <handa@etl.go.jp>
4977
4978 * Makefile.in (term.o): Depend on dispextern.h.
4979
7e05cdaf
SM
49802000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4981
4982 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4983
a6801fd1
GM
49842000-10-16 Gerd Moellmann <gerd@gnu.org>
4985
483de32b
GM
4986 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4987 the iterator at the beginning, so that they can be set later on,
4988 for instance in reseat_at_next_visible_line_start, without being
4989 overwritten.
4990
a6801fd1
GM
4991 * xfns.c (pbm_format): Add :foreground and :background keywords.
4992 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4993 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4994
dbf1fcc1
EZ
49952000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4996
4997 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4998
52283633 4999 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5000
5001 * msdos.c (IT_set_face): Compare highlighted face with the default
5002 face, and invert colors if these faces' colors are identical.
5003 (Fmsdos_remember_default_colors): Don't swap foreground and
5004 background colors in initial_colors[].
5005 (IT_set_frame_parameters): Don't swap frame's foreground and
5006 background pixels. If ALIST includes "(reverse . t)", swap
5007 foreground-color and background-color properties in frame's
5008 param_alist. If the original frame's param_alist doesn't specify
5009 the colors, store unspecified-fg and unspecified-bg, reversed if
5010 required.
5011
5012 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5013 the colors are unspecified and reversed, reverse fore- and back-
5014 ground in the returned value.
5015 (Fframe_parameter): Ditto.
5016
b41fe2c3 50172000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5018
3a6b59d9
GM
5019 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5020 get_last_unchanged_at_beg_row.
5021 (find_first_unchanged_at_end_row): Renamed from
5022 get_first_unchanged_at_end_row.
5023 (find_first_unchanged_at_end_row): Convert assertions to
5024 unconditional tests which abort. When looking for a row in
5025 unchanged text, don't go further back than first_text_row.
5026
b41fe2c3
GM
5027 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5028 Don't add in the last line's height when deciding if the new
5029 position is below the scroll margin.
9d1af64f 5030
b41fe2c3 50312000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5032
5033 * editfns.c (Fconstrain_to_field): Check carefully for field
5034 boundaries if either OLD_POS or NEW_POS has a non-nil field
5035 property, even if they're the same.
5036
c412cb7b
KH
50372000-10-16 Kenichi Handa <handa@etl.go.jp>
5038
5039 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5040 height for XFillRectangle.
5041
5586f3eb
SM
50422000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5043
5044 * syntax.c (Fstring_to_syntax): New function extracted from
5045 Fmodify_syntax_entry.
5046 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5047 (skip_chars, Fforward_comment): Remove unused variables.
5048 (syms_of_syntax): Add defsubr for string-to-syntax.
5049 (describe_syntax): Add code for comment and string fences.
5050
db785038
SM
50512000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5052
5053 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5054 Do the meta->esc mapping. Call get_keyelt before returning.
5055 Start scanning from the second element (the first is always `keymap')
5056 to make it easier to detect when we reach a parent map.
5057 Handle the case of inheriting from a symbol whose function is a map.
5058 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5059 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5060 (get_keyelt, Flookup_key): Update call to access_keymap.
5061 Remove the meta->esc mappings.
5062 (define_as_prefix): Delete old disabled code.
5063 (menu_item_p): New function.
5064 (where_is_internal_1): Skip over the few remaining menu items.
5065 * lisp.h (access_keymap): Update prototype.
5066 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5067 Update call to access_keymap.
5068 (follow_key, read_key_sequence): Update calls to access_keymap.
5069 Remove the meta->esc mappings.
5070
cafafe0b
GM
50712000-10-13 Gerd Moellmann <gerd@gnu.org>
5072
a2e2a7f6
GM
5073 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5074 with additional argument.
5075
cafafe0b
GM
5076 * xdisp.c (cursor_row_p): New function.
5077 (try_cursor_movement, display_line): Use it.
52283633 5078
cafafe0b
GM
5079 * xdisp.c (append_space): Also save/restore iterator's current
5080 character and its length.
5081
5082 * xdisp.c (init_from_display_pos): Add an assertion.
5083 (handle_stop): Don't set iterator's add_overlay_start.
5084 (handle_invisible_prop): Likewise.
5085 (load_overlay_strings): If text under an overlay is invisible,
5086 take both before- and after-strings into account when the iterator
5087 is positioned either at the start or at the end of the overlay.
5088 (forward_to_next_line_start): Rewritten.
5089 (reseat_at_next_visible_line_start): Rewritten.
5090 (set_iterator_to_next): Add parameter RESEAT_P.
5091
5092 * dispextern.h (struct it): Remove member add_overlay_start.
5093 (set_iterator_to_next): Change prototype.
5094
c744452b
KH
50952000-10-13 Kenichi Handa <handa@etl.go.jp>
5096
5097 * coding.c (code_convert_region): Be sure to initialize
5098 coding->category_idx.
e4a3f4e1
KH
5099 (decode_coding_string): Set coding->src_multibyte and
5100 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5101 (encode_coding_string): Set coding->src_multibyte and
5102 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5103
321fd26f
SM
51042000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5105
5106 * xfns.c (Fx_create_frame): Don't bother calling
5107 face-set-after-frame-default since the caller does it for us anyway.
5108
76832439
EZ
51092000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5110
5111 * window.c (coordinates_in_window): Fix detection of vertical line
5112 on character terminals.
5113
2483cf58
GM
51142000-10-12 Gerd Moellmann <gerd@gnu.org>
5115
5116 * editfns.c (save_excursion_save): Additionally record the
5117 selected window.
5118 (save_excursion_restore): If buffer was visible in a window, and a
5119 different window was selected, and the old selected window is
5120 still live, restore point in that window.
5121
eb991b25
KH
51222000-10-12 Kenichi Handa <handa@etl.go.jp>
5123
8a0eba09
KH
5124 * xterm.c (x_produce_glyphs): Handle
5125 unibyte_display_via_language_environment correctly.
5126
20401fcc
KH
5127 * regex.c (regex_compile): Change the way of handling a range from
5128 unibyte char to multibyte char.
5129
5130 * syntax.c (skip_chars): Change the way of handling a range from
5131 unibyte char to multibyte char.
5132
eb991b25
KH
5133 * process.c (read_process_output): Cancel previous change.
5134
365dd325
EZ
51352000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5136
c1b096cb
EZ
5137 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5138
365dd325
EZ
5139 * charset.c (Ffind_charset_string): Doc fix.
5140 (Ffind_charset_region): Doc fix.
5141
eb483c2b
KH
51422000-10-11 Kenichi Handa <handa@mule.m17n.org>
5143
5144 * process.c (read_process_output): Fix previous change. Adjust
5145 multibyteness of text to insert in a buffer by
52283633 5146 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5147
b40bfb99
AS
51482000-10-10 Andreas Schwab <schwab@suse.de>
5149
5150 * alloc.c (mark_object): Remove all workarounds installed on
5151 1993-08-08.
5152
caff31d4
KH
51532000-10-10 Kenichi Handa <handa@etl.go.jp>
5154
52283633 5155 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5156 (base64_encode_1): Make it work for a text of multibyte form.
5157 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5158 case. Don't call str_to_multibyte because base64_decode_1
5159 produces correct multibyte form for eight-bit codes.
52283633 5160 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5161 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5162 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5163 codes.
5164
5165 * charset.h (CHAR_STRING): Optimized for single byte characters.
5166
cba026ef
AS
51672000-10-09 Andreas Schwab <schwab@suse.de>
5168
5169 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5170 -1 after socket is closed, to fall through to error processing.
5171
1e21fe48
EZ
51722000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5173
5174 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5175 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5176 background-color, change also the colors of the default face for
5177 this frame.
5178
a640322e
EZ
51792000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5180
5181 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5182 them extern (they are defined on xfaces.c).
5183 (syms_of_msdos): Don't intern and don't staticpro
5184 Qbackground_color and Qforeground_color.
5185
a115794c
EZ
51862000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5187
5188 * frame.c (Fframe_parameter): For non-windowed frames, if
5189 f->param_alist says foreground or background color is unspecified,
5190 call tty_color_name to return the color name computed from the
5191 frame's current colors.
5192
f5533b63
DL
51932000-10-06 Dave Love <fx@gnu.org>
5194
5195 * terminfo.c (ospeed): Don't declare.
5196
5197 * sysdep.c: Don't include string.h.
5198 (h_errno): Declare conditional also on TRY_AGAIN.
5199
5200 * charset.c (Ffind_charset_string): Doc fix.
5201
52283633 5202 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5203 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5204 error messages.
5205
2b06561a
DL
52062000-10-05 Dave Love <fx@gnu.org>
5207
5208 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5209 position like menu-bar.
5210
ca839c85
GM
52112000-10-05 Gerd Moellmann <gerd@gnu.org>
5212
5213 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5214
5215 * xdisp.c (handle_single_display_prop): Use safe_call1.
5216 (safe_call): Renamed from call_function.
5217 (safe_call1): New function.
5218 (handle_fontified_prop): Use safe_call1 instead of call1.
5219 (safe_eval): Renamed from eval_form.
5220 (safe_eval_handler): Renamed from eval_handler.
5221 (handle_single_display_prop, display_mode_element): Use safe_eval
5222 instead of eval_form.
5223
5224 * xfaces.c (merge_face_heights): Use safe_call instead of
5225 call_function.
5226
5227 * keyboard.c (show_help_echo): Use safe_call instead of
5228 call_function; use safe_eval instead of eval_form.
5229
5230 * lisp.h (safe_call): Renamed from call_function.
5231 (safe_eval): Renamed from eval_form.
5232 (safe_call1): Add prototype.
5233
a3489ece
MB
52342000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5235
5236 * xfns.c (image_ascent): Rearrange ascent calculation for the
5237 has-a-font case.
5238
35810b6f
SM
52392000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5240
5241 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5242 (where_is_internal_1): Don't bother ignoring menu-items any more.
5243
3dc78168
GM
52442000-10-04 Gerd Moellmann <gerd@gnu.org>
5245
5246 * keyboard.c (update_menu_bindings): New variable.
5247 (parse_menu_item): Use AREF. If update_menu_bindings
5248 is 0, don't update menu bindings.
5249 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5250
1efc2bb9
EZ
52512000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5252
5253 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5254 to `mark_object'.
5255
3f679f55
SM
52562000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5257
5258 * syntax.c (forw_comment): Match nestedness of ender/starter.
5259 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5260 (prev_char_comstart_first): Remove.
5261 (back_comment): Check two-char comment markers more carefully
5262 to better handle overlapping cases like *//* or /* */* */ ...
5263 Match nestedness of ender/starter.
5264
2021ab61
DL
52652000-10-02 Dave Love <fx@gnu.org>
5266
5267 * config.in (HAVE_GAI_STRERROR): Add undef.
5268
5269 * process.c (Fopen_network_stream): Use it.
5270
5271 * m/alpha.h (NO_REMAP): Don't define.
5272
64e6cc18
GM
52732000-10-02 Gerd Moellmann <gerd@gnu.org>
5274
5275 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5276 return with a string converted to an integer or vice versa when
5277 Vmocklisp_arguments is t.
5278 (Fsignal): Likewise. The function can return for `quit'.
5279 (struct gcpro): Declare member `var' to point to a volatile
5280 Lisp_Object.
5281
5282 * eval.c (error): Prevent compiler warning.
5283
b1904cd9
SM
52842000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5285
5286 * keymap.c (keymap_memberp): New function.
5287 (Fset_keymap_parent): Use it.
5288 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5289 Use keymap_memberp to avoid creating cycles.
5290 (access_keymap): Use KEYMAPP.
5291
71c9ec51
GM
52922000-09-30 Gerd Moellmann <gerd@gnu.org>
5293
5294 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5295 gai_strerror. Make sure xerrno is set if connect fails. Improve
5296 error recovery.
71c9ec51 5297
c70c6b58
JR
52982000-09-29 Jason Rumney <jasonr@gnu.org>
5299
5300 * w32term.c (w32_char_font_type, w32_encode_char)
5301 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5302 (w32_bdf_per_char_metric): New function.
5303 (w32_per_char_metric): Use it.
5304 (x_draw_glyph_string_background): Always draw background for BDF
5305 glyphs.
5306
5307 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5308 GDI object which is a scarce resource.
5309
5310 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5311 (get_quoted_string): Fix limit on memchr search.
5312 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5313 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5314 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5315 (get_cached_font_char, cache_char_offset): Use macro
5316 BDF_CODEPOINT_RANGE_COVER_P.
5317 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5318 (clear_cached_bitmap_slots): New function.
5319 (GET_HEX_VALUE): G-Z, g-z are not hex.
5320 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5321 (get_bitmap_with_cache): Use new cache implementation.
5322 (create_offscreen_bitmap): New function.
5323 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5324
5325 * w32term.c (x_produce_glyphs): If the distance from the current
5326 position to the next tab stop is less than a canonical character
5327 width, use the tab stop after that.
5328 (x_draw_glyphs): Handle case START and END are out of bounds more
5329 carefully.
5330 (x_clear_mouse_face): Block/unblock input.
5331 (x_display_and_set_cursor): Don't show a hollow box cursor for
5332 buffers whose cursor_type is nil.
5333
fe01239f
GM
53342000-09-29 Gerd Moellmann <gerd@gnu.org>
5335
52283633 5336 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5337
5338 * dispextern.h (updating_frame): Declare extern.
5339
e7c52f1f
AS
53402000-09-29 Andreas Schwab <schwab@suse.de>
5341
5342 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5343
de6e1f7c
GM
53442000-09-29 Gerd Moellmann <gerd@gnu.org>
5345
25126faa
GM
5346 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5347 use its function definition.
5348 (tool_bar_items): Likewise.
5349
de6e1f7c 5350 * lisp.h (fatal): Declare NO_RETURN.
52283633 5351
454ee39b
KH
53522000-09-29 Kenichi Handa <handa@etl.go.jp>
5353
5354 * keymap.c: Remove the line "#undef NULL".
5355
96301c5f
GM
53562000-09-28 Gerd Moellmann <gerd@gnu.org>
5357
52283633 5358 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5359
efffeeb4
DL
53602000-09-28 Dave Love <fx@gnu.org>
5361
ecb8b666
DL
5362 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5363
dc3cd20f
DL
5364 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5365
5366 * .gdbinit (xreload): Note its need on GNU/Linux.
5367
efffeeb4
DL
5368 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5369 r_alloc, r_alloc_free.
5370
8610d903
KH
53712000-09-28 Kenichi Handa <handa@etl.go.jp>
5372
5373 * syntax.c (skip_chars): Handle negation correctly.
5374
8901d1ac
GM
53752000-09-27 Gerd Moellmann <gerd@gnu.org>
5376
6f22f1ad
GM
5377 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5378 with non-zero FORCE_P argument.
5379
52283633 5380 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5381 Add assertions.
5382
5383 * xdisp.c (window_box_height): Add an assertion.
5384
5385 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5386 tool-bar than is available.
5387 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5388
36f1966f
DL
53892000-09-27 Dave Love <fx@gnu.org>
5390
efffeeb4 5391 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5392
31d929e5
GM
53932000-09-26 Gerd Moellmann <gerd@gnu.org>
5394
c98863bf
GM
5395 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5396 instead of BITS_PER_INT.
5397 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5398 EMACS_UINT, respectively.
5399 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5400
5401 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5402
5403 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5404
77072ab1
GM
5405 * window.c (freeze_window_starts): Construct last argument for
5406 foreach_window differently.
5407
5408 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5409
5410 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5411 EMACS_UINT instead of `int' and `unsigned int'.
5412 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5413
5414 * frame.h (struct frame): Make the `nothing' member of union
5415 output_data an EMACS_INT.
5416
52283633 5417 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5418 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5419 size in the sdata structure.
5420 (SDATA_NBYTES, SDATA_DATA): New macros.
5421 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5422 differently for the different layout of the sdata structure.
5423 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5424 in sdata.
5425 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5426 Check that size recorded in the string size and size recorded in
5427 the sdata structure agree.
5428
3e60b029
DL
54292000-09-25 Dave Love <fx@gnu.org>
5430
5431 * buffer.c: Include stdio.h.
5432
5433 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5434
3e60b029
DL
5435 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5436
5437 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5438 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5439 (__malloc_extra_blocks): Declare as __malloc_size_t.
5440
8ff16b4e
GM
54412000-09-25 Gerd Moellmann <gerd@gnu.org>
5442
755a2ccd
GM
5443 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5444
d8b4516f
GM
5445 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5446 (read_char): If help-echo is showing, preserve the echo area
5447 when redisplaying.
5448
5449 * xdisp.c (help_echo_showing_p): New variable.
5450 (set_message): Reset it to 0.
5451 (init_xdisp): Initialize help_echo_showing_p.
5452
5453 * dispextern.h (help_echo_showing_p): Declare extern.
5454
5455 * config.in: Fix typo in __GNUC_MINOR__.
5456
5457 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5458
b11af2dd
GM
5459 * s/freebsd.h (POSIX_SIGNALS): Define.
5460
8ff16b4e
GM
5461 * xterm.c (x_clear_mouse_face): Block/unblock input.
5462
844eb643
DL
54632000-09-24 Dave Love <fx@gnu.org>
5464
5465 * fns.c (base64_encode_1): Fix last change.
5466
b30ab1b3
GM
54672000-09-22 Gerd Moellmann <gerd@gnu.org>
5468
5469 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5470
5471 * xdisp.c (try_window_reusing_current_matrix): More fixes
5472 for the case window has a header-line.
5473
c6cbe5f0
DL
54742000-09-22 Dave Love <fx@gnu.org>
5475
4c7c1f3f
DL
5476 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5477 a doc string.
5478
5479 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5480
c6cbe5f0
DL
5481 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5482
550a625e
GM
54832000-09-21 Gerd Moellmann <gerd@gnu.org>
5484
4c7c1f3f 5485 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5486 for GCC >= 2.5.
5487
52283633
SM
5488 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5489 Declare NO_RETURN.
fca99116 5490
80d26f99
GM
5491 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5492 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5493 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5494 warnings.
52283633 5495
80d26f99
GM
5496 * marker.c (byte_char_debug_check): Return void.
5497
623a0aae
GM
5498 * xfns.c (Fx_create_frame): Set default frame parameter value
5499 for tool-bar-lines to 1.
5500
5501 * dispnew.c (scrolling_window): Compare y-positions of rows
5502 equal at the start. Some simplification.
5503
5504 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5505 reused rows' y-position in the case window has a header-line, and
5506 new window start is greater than old window start.
5507
42ac0ae5
GM
5508 * process.c (process_sent_to): New variable.
5509 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5510 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5511 Declare more parameters volatile.
5512
550a625e
GM
5513 * lread.c (Vrecursive_load_depth_limit): New variable.
5514 (Fload): Check recursive loads whose recursion depth exceeds
5515 Vrecursive_load_depth_limit.
5516 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5517
8320414c
GM
55182000-09-20 Gerd Moellmann <gerd@gnu.org>
5519
f46c275e
GM
5520 * fileio.c (Fread_file_name): Doc fix.
5521
5522 * editfns.c (Fmessage_or_box): Doc fix.
5523
5524 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5525
b7e11c5b 5526 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5527
8320414c
GM
5528 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5529 symbols are specified, add color translations to the cache.
52283633 5530 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5531 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5532 xpm_cache_color.
5533 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5534 structures to xpm_init_color_cache.
5535
da1608d9
GM
55362000-09-19 Gerd Moellmann <gerd@gnu.org>
5537
52283633 5538 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5539
6badfa25
AI
55402000-09-19 Andrew Innes <andrewi@gnu.org>
5541
5542 * makefile.nt (bootstrap-emacs): Don't change directory.
5543
3a5f42bb
KH
55442000-09-19 Kenichi Handa <handa@etl.go.jp>
5545
1b7649bd
KH
5546 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5547
3a5f42bb
KH
5548 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5549 If output buffer is too small, signal an appropriated error.
5550
9f83cf0b
DL
55512000-09-18 Dave Love <fx@gnu.org>
5552
52283633 5553 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5554 (current_active_maps): Remove redundant get_local_map call.
5555
28c7826c
GM
55562000-09-18 Gerd Moellmann <gerd@gnu.org>
5557
5cefa566
GM
5558 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5559 cursor for buffers whose cursor_type is nil.
52283633 5560
6fed3546
GM
5561 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5562 a feature to implement that is already implemented.
5563 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5564 warnings.
5565
5566 * xfns.c (x_clear_image_1): New function.
5567 (x_clear_image): Use it.
52283633 5568 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5569
05b1f851
GM
5570 * dispnew.c (update_window): Move test for invisible lines
5571 at the top to update_window_line.
5572 (update_window_line): Handle invisible lines here.
5573
f4779de9
GM
5574 * xfns.c (clear_image_cache): Clear current matrices of all
5575 frames sharing an image cache. Block input while freeing
5576 images. Fix timestamp comparison.
5577 (x_clear_image): Also free the mask.
5578
28c7826c
GM
5579 * xfns.c (lookup_image): Block input while loading the image so
5580 that we won't get interrupted in a state where the image isn't yet
5581 set up completely.
5582 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5583 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5584 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5585 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5586
b7412313
GM
55872000-09-16 Gerd Moellmann <gerd@gnu.org>
5588
5589 * dispnew.c (update_window): Make sure to make desired rows
5590 current even if they are completely invisible at the top
5591 of a window.
5592
47e351a3
GM
55932000-09-15 Gerd Moellmann <gerd@gnu.org>
5594
7f8f1edc
GM
5595 * xfns.c (lookup_image): Build mask before applying an algorithm.
5596 Recognize algorithm `disabled'.
5597 (cross_disabled_images): New variable.
5598 (COLOR_INTENSITY): New macro.
5599 (x_detect_edges): Use COLOR_INTENSITY.
5600 (x_disable_image): New function.
5601 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5602
5603 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5604 disabled state, don't apply an image transformation algorithm if
5605 the user specified an image for the disabled state. Use
28c7826c 5606 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5607 user hasn't specified an image.
5608
ebb8f116
GM
5609 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5610 allocation functions with the XPM lib.
5611 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5612 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5613 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5614 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5615 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5616 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5617 functions, if possible, because these handle color allocation
5618 failure more gracefully.
5619 (Fimage_mask_p): New function.
5620
47e351a3
GM
5621 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5622 (Qedge_detection, Qheuristic): New symbols.
5623 (syms_of_xfns): Initialize new symbols.
5624 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5625 `algorithm (edge-detection ...)'.
5626 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5627 (tiff_format, gif_format, gs_format): Add `:mask'.
5628 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5629 (GIF_MASK, GS_MASK): New enumerators.
5630 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5631 (emboss_matrix, laplace_matrix): New variables.
5632 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5633 (x_edge_detection): New functions.
5634 (x_laplace): Rewritten in terms of x_detect_edges.
5635 (x_build_heuristic_mask): If image has a mask, free it.
5636
fe83b953
AI
56372000-09-14 Andrew Innes <andrewi@gnu.org>
5638
5639 * makefile.w32-in: Revert to Unix line endings.
5640
3021e816
AI
56412000-09-14 Andrew Innes <andrewi@gnu.org>
5642
5643 * makefile.w32-in: Standardize indentation somewhat.
5644 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5645 cater for differences between shells.
5646
5647 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5648
2a32b5ea
GM
56492000-09-14 Gerd Moellmann <gerd@gnu.org>
5650
5651 * xterm.c (x_produce_glyphs): If the distance from the current
5652 position to the next tab stop is less than a canonical character
5653 width, use the tab stop after that.
5654
b4331e96
DL
56552000-09-14 Dave Love <fx@gnu.org>
5656
5657 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5658
ef9e4345
GM
56592000-09-14 Gerd Moellmann <gerd@gnu.org>
5660
085536c2
GM
5661 * xdisp.c (handle_fontified_prop): While running fontification
5662 functions, bind `fontification-functions' and
5663 `after-change-functions' to nil.
5664
ef9e4345
GM
5665 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5666 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5667
5668 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5669
5670 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5671 USE_MMAP_FOR_BUFFERS.
5672
5673 * insdel.c (make_gap): Use enlarge_buffer_text.
5674
5675 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5676 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5677 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5678 from former r_alloc_* functions in ralloc.c.
52283633 5679 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5680 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5681 (mmap_init) [REL_ALLOC_MMAP]: New function.
5682 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5683 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5684 BUFFER_FREE.
5685
5686 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5687 (enlarge_buffer_text): Add prototype.
5688
5689 * ralloc.c: Remove everything having to do with the use of mmap.
5690
f8608968
GM
56912000-09-13 Gerd Moellmann <gerd@gnu.org>
5692
2a494b2d
GM
5693 * sound.c (Fplay_sound): Doc fix.
5694
8c907a56
GM
5695 * keyboard.c: Avoid some more compiler warnings.
5696 (parse_tool_bar_item): Ignore cached key bindings.
5697
f8608968
GM
5698 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5699 and allocation of Lisp data.
5700
6ab70e9a
GM
57012000-09-12 Gerd Moellmann <gerd@gnu.org>
5702
d12d0a9b
GM
5703 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5704 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5705 defaults first.
5706
6ab70e9a
GM
5707 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5708
63c36c3c
KH
57092000-09-12 Miyashita Hisashi <himi@meadowy.org>
5710
5711 * ccl.c: Comment fixed.
5712 (MAX_MAP_SET_LEVEL): Increased to 30.
5713 (PUSH_MAPPING_STACK): Enclose with do-while block.
5714 (POP_MAPPING_STACK): Likewise.
5715 (stack_idx_of_map_multiple): New variable.
5716 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5717 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5718 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5719 (ccl_driver) <CCL_MapSingle>: Likewise.
5720 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5721 with the case where looking up process reaches to the end of
5722 map-set, and call CCL programs as the above change.
5723
7ee3bd7b
GM
57242000-09-11 Gerd Moellmann <gerd@gnu.org>
5725
8ec8a5ec
GM
5726 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5727 that might be clobbered by longjmp.
5728 (check_x_display_info, x_decode_color, create_frame_xic)
5729 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5730 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5731
f74b0705
GM
5732 * lread.c (init_lread): Set Vloads_in_progress to nil.
5733 (Fload): Show list of recursively loaded files, when signaling an
5734 error.
5735
7ee3bd7b
GM
5736 * lread.c (Vloads_in_progress): New variable.
5737 (record_load_unwind): New function.
5738 (Fload): Check for recursive loads.
5739 (syms_of_lread): Initialize Vloads_in_progress.
5740 (read_integer, read1): Avoid some compiler warnings.
5741
5742 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5743 compiler warnings.
5744
974e1e5b
MB
57452000-09-11 Miles Bader <miles@gnu.org>
5746
5747 * editfns.c (Fbuffer_string): Doc fix.
5748
9824c4e3
GM
57492000-09-10 Gerd Moellmann <gerd@gnu.org>
5750
5751 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5752
6a72fdd1
KR
57532000-09-09 Ken Raeburn <raeburn@gnu.org>
5754
5755 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5756 whether to include other header files.
5757
28e6fb66
GM
57582000-09-09 Gerd Moellmann <gerd@gnu.org>
5759
52283633 5760 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5761 by Fmemq as a boolean.
28e6fb66 5762
7f8b6551
SM
57632000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5764
5765 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5766
a8710abf
GM
57672000-09-08 Gerd Moellmann <gerd@gnu.org>
5768
d1a02881
GM
5769 * ralloc.c (mmap_fd): Remove initializer which can make it
5770 read-only in a dumped Emacs.
5771 (mmap_fd_1): New variable.
5772 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5773 restore it from there.
5774 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5775 unconditionally so that mmap_fd can be initialized there.
5776 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5777 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5778 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5779
c454aac1
GM
5780 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5781
5782 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5783 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5784
fc653ef2
GM
5785 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5786
3015eec0
GM
5787 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5788 inheritance.
5789
bfe0ee88
GM
5790 * xdisp.c (try_window_id): When trying to locate cursor in
5791 unchanged rows at the top, handle the case that we can't find it.
5792
a8710abf
GM
5793 * xterm.c (x_draw_glyphs): Handle case START and END are out
5794 of bounds more carefully.
5795
6b7d4ae4
DL
57962000-09-08 Dave Love <fx@gnu.org>
5797
423193c5
DL
5798 * s/sol2.h (REL_ALLOC_MMAP): Define.
5799 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5800
5801 * ralloc.c: Don't include string.h (redundant).
5802 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5803 [!MAP_ANON]: Include fcntl.h.
5804 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5805 (r_alloc, r_re_alloc, r_alloc_free)
5806 (mmap_enlarge, mmap_set_vars): Use it.
5807 (r_alloc_init_fd): New function.
5808 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5809 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5810 malloc type.
5811
5812 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5813 Remove vm-limit.o.
5814
6b7d4ae4
DL
5815 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5816 change to __NetBSD__.
5817
44d31981
KH
58182000-09-08 Kenichi Handa <handa@etl.go.jp>
5819
5820 * search.c (compile_pattern): Check the multibyteness of cached
5821 string and PATTERN.
5822
aad40737
MB
58232000-09-08 Miles Bader <miles@gnu.org>
5824
5825 * xfaces.c (default_face_vector): Function removed.
5826 (Finternal_merge_in_global_face): Restore old global/local
5827 attribute override order. Use inline loop instead of calling
5828 default_face_vector.
5829
91a211b5
GM
58302000-09-07 Gerd Moellmann <gerd@gnu.org>
5831
5832 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5833 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5834 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5835 where necessary, in case POINTER_TYPE is `void'.
5836
03419440
EZ
58372000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5838
5839 * frame.c (make_terminal_frame): Initialize frame foreground and
5840 background colors to unspecified, for the initial instance of an
5841 MSDOS frame.
5842
f46f845b
GM
58432000-09-07 Gerd Moellmann <gerd@gnu.org>
5844
24f76fbf
GM
5845 * ralloc.c (mmap_find): Fix overlap computation.
5846 (mmap_enlarge): Compute nbytes before trying to find an
5847 overlapping region.
5848
f46f845b
GM
5849 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5850 instead of `!='.
5851
5852 * lread.c (syms_of_lread): Change value of regexp
5853 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5854
5855 * xmenu.c (xdialog_show): When looking up the selection in
5856 menu_items, take `quote' boundaries into account; this corresponds
5857 to a nil ITEM in x-popup-dialog.
5858
3c014385
KH
58592000-09-07 Kenichi Handa <handa@etl.go.jp>
5860
fd6f711b
KH
5861 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5862 not 0x81.
5863 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5864
3c014385 5865 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5866 encoding, not decoding. Fix the handling of latin-jisx0201.
5867 Check for the charset katakana-jisx0201 too.
3c014385 5868 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5869 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5870
0da3ecef
GM
58712000-09-07 Gerd Moellmann <gerd@gnu.org>
5872
ab0ee409
GM
5873 * xfaces.c (Vparam_value_alist): New variable.
5874 (syms_of_xfaces): Initialize it.
5875 (Finternal_set_lisp_face_attribute): Avoid more consing.
5876
5877 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5878 specially.
5879 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5880 (Qbackground_mode): New variable.
5881 (syms_of_frame_1): Initialize Qbackground_mode.
5882
5883 * lisp.h (Qdisplay): Declare extern.
1091dd67 5884
0da3ecef
GM
5885 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5886 change face on all frames, and change the default for new frames.
5887
b14654b9
DL
58882000-09-07 Dave Love <fx@gnu.org>
5889
5890 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5891
d24fd56f
KH
58922000-09-07 Kenichi Handa <handa@etl.go.jp>
5893
794f3670
KH
5894 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5895
0fddd0dc
KH
5896 * charset.c: Include composite.h
5897 (lisp_string_width): New function.
5898 (Fstring_width): Call lisp_string_width instead of strwidth.
5899
5900 * Makefile.in (charset.o): Depends on composite.h.
5901
d24fd56f
KH
5902 * process.c (read_process_output): Before inserting the decoded
5903 text in the buffer, adjust the multibyteness.
5904
fa0b693c
GM
59052000-09-06 Gerd Moellmann <gerd@gnu.org>
5906
52283633 5907 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5908 buffer's text buffer is null, map new memory.
5909
0a58f946
GM
5910 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5911 POINTER_TYPE and size_t.
5912 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5913 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5914 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5915 [REL_ALLOC_MMAP]: New macros.
5916 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5917 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5918 [REL_ALLOC_MMAP]: New functions.
5919
5920 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5921 before and after unexec.
5922
5923 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5924 text buffers if necessary.
5925
5926 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5927 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5928 in prototypes.
5929
fa0b693c
GM
5930 * config.in (HAVE_MMAP): Add #undef.
5931
877055f6
GM
59322000-09-05 Gerd Moellmann <gerd@gnu.org>
5933
08ba3862
GM
5934 * frame.c (Qdisplay_type): New variable.
5935 (syms_of_frame_1): Initialize it.
5936 (Fframe_parameter): New function that avoids consing.
5937 (syms_of_frame): Defsubr it.
5938
66ffe51c
GM
5939 * buffer.c (Fother_buffer): Consider buffers as invisible when
5940 they are displayed in a window on an invisible frame.
5941
877055f6
GM
5942 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5943 get-largest-window always return nil.
5944
bb970e67
GM
59452000-09-04 Gerd Moellmann <gerd@gnu.org>
5946
5947 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5948 variable; recognize Emacs 19 elc files.
5949
7a3d0e0e
MB
59502000-09-04 Miles Bader <miles@gnu.org>
5951
5952 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5953 before initially popping up the menu, so the menu doesn't flash
52283633 5954 when the face settings are significantly different from the defaults.
7a3d0e0e 5955
14473664
SM
59562000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5957
5958 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5959 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5960 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5961 (BIT_UNIBYTE): Remove.
5962 (re_match_2_internal): Delete corresponding code and streamline the
5963 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5964 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5965 (re_wctype_t): New type.
5966 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5967 (regex_compile): Use them and fix handling of overly long char classes.
5968
c1174479
AI
59692000-09-03 Andrew Innes <andrewi@gnu.org>
5970
f8803e97
AI
5971 * makefile.w32-in: Change to DOS line endings.
5972
c1174479
AI
5973 * s/ms-w32.h (ORDINARY_LINK): New define.
5974
5975 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5976 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5977
5978 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5979 (distclean): Delete them here instead.
5980
44ef7cf6
AI
5981 * w32proc.c (compare_env): Convert to uppercase for comparison,
5982 not lowercase, to match how the native Windows shell works.
5983
49b3bd82
JR
59842000-09-03 Jason Rumney <jasonr@gnu.org>
5985
5986 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5987 CVS changes the line-ends when checking in/out on DOS/Windows.
5988
5989 * makefile.nt (emacs): Do not change directory to run temacs, as
5990 the load-path is set relative to current directory.
5991
a3d35a39
MB
59922000-09-03 Miles Bader <miles@gnu.org>
5993
5994 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5995
d276b0cf
GM
59962000-09-02 Gerd Moellmann <gerd@gnu.org>
5997
715e84c9
GM
5998 * xdisp.c (redisplay_mode_lines): New function.
5999 (display_mode_lines): Return number of mode lines displayed.
6000 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6001 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6002
8892f40b
GM
6003 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6004 string.h and strings.h.
6005 (index) [HAVE_INDEX]: Add prototype.
6006
d276b0cf
GM
6007 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6008 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6009
6010 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6011 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6012
38404229
GM
60132000-09-01 Gerd Moellmann <gerd@gnu.org>
6014
6015 * lread.c (read1): Accept `?' as symbol constituent, for
6016 compatiblity with XEmacs.
6017
c0f9ea08
SM
60182000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6019
6020 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6021 (struct re_pattern_buffer): Remove newline_anchor.
6022 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6023 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6024 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6025 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6026 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6027 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6028 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6029 Get rid of references to newline_anchor.
6030 (regcomp): Allocate and precompute a fastmap.
6031
8c0f83fe
GM
60322000-08-31 Gerd Moellmann <gerd@gnu.org>
6033
6034 * lread.c (openp): GCPRO local variable `filename'.
6035
4bb91c68
SM
60362000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6037
6038 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6039
6040 * regex.c: Merge some changes from GNU libc. Add prototypes.
6041 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6042 Use memcmp and memcpy instead of bcopy and bcmp.
6043 (init_syntax_once): Use ISALNUM.
6044 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6045 (REG_UNSET_VALUE): Remove. Use NULL instead.
6046 (REG_UNSET, re_match_2_internal): Use NULL.
6047 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6048 New macros.
6049 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6050 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6051 (regex_compile): In handle_interval, return an error rather than try to
6052 unfetch the interval if we can't find the closing brace.
6053 Obey the RE_NO_GNU_OPS syntax bit.
6054 (TOLOWER): New macro.
6055 (regcomp): Use it.
6056 (regexec): Allocate regs.start and regs.end as one block.
6057
5226a931
GM
60582000-08-30 Gerd Moellmann <gerd@gnu.org>
6059
868dd24b
GM
6060 * xdisp.c (echo_area_display): Check display_completed instead
6061 of calling detect_input_pending.
6062
6063 * dispnew.c (update_frame): Only set display_completed here; move
6064 the update_begin and update_end calls here from update_frame_1.
6065 (update_frame_1): Don't set display_completed here, don't call
6066 update_begin/update_end.
6067
5226a931
GM
6068 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6069 instead of store_frame_param.
6070
2a8bd25f
GM
60712000-08-29 Gerd Moellmann <gerd@gnu.org>
6072
6073 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6074 desired window matrix hasn't been displayed, use the current row
6075 instead. Make sure that only those frame rows are updated for
6076 which there exists a corresponding enabled desired row.
52283633 6077
ba3478d9
MB
60782000-08-29 Miles Bader <miles@gnu.org>
6079
6080 * xfaces.c (default_face_vector): New function.
6081 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6082
87d0f685
GM
60832000-08-29 Gerd Moellmann <gerd@gnu.org>
6084
6085 * lread.c (openp): Prevent temporary string passed to
6086 Ffile_readable_p from being garbage collected.
6087
6fa86045
DL
60882000-08-28 Dave Love <fx@gnu.org>
6089
6090 * keymap.c (store_in_keymap): Add `static' to declaration.
6091
bb17930d
GM
60922000-08-28 Gerd Moellmann <gerd@gnu.org>
6093
6094 * emacs.c, callint.c, doc.c, editfns.c
6095 (toplevel) [HAVE_STRING_H]: Include string.h.
6096 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6097 (index): Remove prototypes which might conflict with non-standard
6098 definitions of index/strchr.
6099
6100 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6101 (rindex): Define only if !HAVE_RINDEX.
6102
6103 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6104
6105 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6106
87188200
MB
61072000-08-28 Miles Bader <miles@gnu.org>
6108
6109 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6110 made inconsistent by a font-related attribute in FROM.
6111 (merge_face_inheritance): Add function comment.
6112
41a68aef
KH
61132000-08-28 Kenichi Handa <handa@etl.go.jp>
6114
6115 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6116 the 4th arg (PREV_EVENT) Qt to suppress input method.
6117
f7c436c1
SM
61182000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6119
0b32bf0e
SM
6120 * regex.c: Indent cpp directives and remove parens after `defined'.
6121 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6122 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6123 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6124 (re_compile_pattern): Use size_t for length.
6125 (init_syntax_once): Move to a better place.
6126 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6127 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6128
f7c436c1
SM
6129 * syntax.c (back_comment): Detect cases where a comment-starter is
6130 actually inside another comment as in: /* a // b */ c // d \n.
6131 Make it clear that `comstart_pos' is unused for nested comments.
6132
6133 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6134 (KEYMAPP): New macro.
6135 (Fkeymap_parent, Fset_keymap_parent): Use it.
6136 (fix_submap_inheritance): Mark it static.
6137 (define_as_prefix, describe_buffer_bindings, describe_command)
6138 (describe_translation, describe_map): Complete prototypes.
6139
6140 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6141
6142 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6143 to better match the key-lookup behavior.
6144
6288c62f
GM
61452000-08-27 Gerd Moellmann <gerd@gnu.org>
6146
6147 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6148 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6149
e931344e
EZ
61502000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6151
6152 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6153 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6154 (xterm.o): Depend on coding.h
6155
d10dfeef
KH
61562000-08-26 Kenichi Handa <handa@etl.go.jp>
6157
6158 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6159 the corresponding '#endif'.
6160
2d73e8d3
MB
61612000-08-26 Miles Bader <miles@gnu.org>
6162
6163 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6164 * xfaces.c (QCinherit): New variable.
6165 (syms_of_xfaces): Initialize it.
6166 (LFACE_INHERIT): New macro.
6167 (Finternal_get_lisp_face_attribute)
52283633 6168 (merge_face_vector_with_property)
2d73e8d3
MB
6169 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6170 (check_lface_attrs): Allow new types of face height. Check
6171 inherit attribute.
6172 (CYCLE_CHECK): New macro.
6173 (merge_face_inheritance): New function.
6174 (merge_face_vectors): Merge inherited faces too. Add F and
6175 CYCLE_CHECK arguments.
6176 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6177 (lookup_named_face, lookup_derived_face, realize_named_face)
6178 (face_at_string_position, face_at_buffer_position): Supply
6179 new F and CYCLE_CHECK arguments to merge_face_vectors.
6180 (merge_face_heights): New function.
52283633 6181 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6182 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6183 handle relative face heights.
6184 (lface_same_font_attributes_p): Compare heights using EQ.
6185
6ce974d4
KH
61862000-08-26 Kenichi Handa <handa@etl.go.jp>
6187
6188 * charset.c (char_to_string): Check the character validity.
52283633 6189 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6190
dc1e502d
SM
61912000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6192
6193 * regex.c (PUSH_FAILURE_COUNT): New macro.
6194 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6195 Handle popping of a register's or a counter's data.
6196 (POP_FAILURE_POINT): Use the new name.
6197 (re_match_2_internal): Push counter data on the stack for succeed_n,
6198 jump_n and set_number_at and remove misleading dead code in succeed_n.
6199
bd9d0f3f
GM
62002000-08-25 Gerd Moellmann <gerd@gnu.org>
6201
6202 * xdisp.c (redisplay_internal): If considering all windows on all
6203 frames, update the display for each frame as soon as possible,
6204 instead of first building all desired matrices for all frames, and
6205 then updating them all.
6206 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6207
aa5b8e15
GM
62082000-08-24 Gerd Moellmann <gerd@gnu.org>
6209
17494071
GM
6210 * bytecode.c (mark_byte_stack): Add a comment.
6211
52283633
SM
6212 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6213 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6214 a graphical frame.
6215
c543db81
KH
62162000-08-24 Kenichi Handa <handa@etl.go.jp>
6217
d246d5f5
KH
6218 * minibuf.c (do_completion): Always use compare-string, not
6219 string-equal because the latter doesn't pay attention to
6220 multibyteness of strings.
6221
c543db81
KH
6222 * process.c (create_process): Don't setup raw-text coding here.
6223 (Fopen_network_stream): Don't set coding->src_multibyte and
6224 coding->dst_multibyte here.
6225 (read_process_output): For process filter, return unibyte string
6226 if default-enable-multibyte-characters is nil.
6227 (send_process): If OBJECT is multibyte text, be sure to encoded it
6228 by the specified coding system for the process. Otherwise, setup
6229 raw-text coding.
52283633 6230 (init_process): Don't initialize default-process-coding-system here.
c543db81 6231
9b47cfe0
EZ
62322000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6233
6234 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6235 <scroll-down-aggressively>: Likewise.
6236
f5a36960
KH
62372000-08-23 Kenichi Handa <handa@etl.go.jp>
6238
6239 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6240 zero. Set coding->produced_char correctly.
6241
69a7ffa7
AI
62422000-08-22 Andrew Innes <andrewi@gnu.org>
6243
6244 * makefile.w32-in: New file.
6245
6246 * unexw32.c (unexec): Ignore old_name, and use the actual location
6247 of the current executable instead. Base new_name on this.
6248
6249 * w32proc.c (create_child): Remove reference to security
6250 descriptor, which isn't needed and doesn't compile with mingw32.
6251
6252 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6253 up dllimport attributes.
6254 (x_update_window_end): Update prototype.
6255
6256 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6257 extern, which screws up dllimport attributes.
6258
6259 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6260 up dllimport attributes.
6261
6262 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6263 screws up dllimport attributes.
6264
6265 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6266 up dllimport attributes.
6267 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6268 screws up dllimport attributes.
6269
6270 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6271 up dllimport attributes.
6272
6273 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6274 screws up dllimport attributes.
6275
6276 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6277 screws up dllimport attributes.
6278
6279 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6280 up dllimport attributes.
6281
6282 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6283 unnecessary extern, which screws up dllimport attributes.
6284 (main): Ditto.
6285
6286 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6287 up dllimport attributes.
6288
6289 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6290 unnecessary extern, which screws up dllimport attributes.
6291
6292 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6293 screws up dllimport attributes.
6294
6295 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6296 up dllimport attributes.
6297
6298 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6299
52283633
SM
6300 * w32bdf.c (search_file_line):
6301 (set_bdf_font_info):
6302 (seek_char):
6303 (w32_get_bdf_glyph):
69a7ffa7
AI
6304 (w32_BDF_to_x_font): Fix compile warnings.
6305
52283633 6306 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6307
6308 * w32select.c: Include keyboard.h before frame.h.
6309
6310 * w32fns.c (max): Define macro.
6311 (JOHAB_CHARSET): Define if not known.
6312 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6313 (Fx_show_tip): Synch with X version.
6314
6315 * w32xfns.c: Include keyboard.h before frame.h.
6316
6317 * w32fns.c: Include keyboard.h before frame.h.
6318
6319 * w32term.c: Include keyboard.h before frame.h.
6320
6321 * fontset.c: Include keyboard.h before frame.h.
6322
6323 * w32inevt.c: Include keyboard.h before frame.h.
6324 (MOUSE_MOVED): Define if not known.
6325
6326 * minibuf.c: Include keyboard.h before frame.h.
6327
6328 * keyboard.c: Include keyboard.h before frame.h.
6329
6330 * indent.c: Include keyboard.h before frame.h.
6331
6332 * dispnew.c: Include keyboard.h before frame.h.
6333
6334 * buffer.c: Include keyboard.h before frame.h.
6335
6336 * alloc.c: Include keyboard.h before frame.h.
6337
6338 * print.c: Include keyboard.h before frame.h.
6339
6340 * process.c: Include keyboard.h before frame.h.
6341
6342 * scroll.c: Include keyboard.h before frame.h.
6343
6344 * sysdep.c: Include keyboard.h before frame.h.
6345
6346 * term.c: Include keyboard.h before frame.h.
6347
6348 * window.c: Include keyboard.h before frame.h.
6349
6350 * xdisp.c: Include keyboard.h before frame.h.
6351 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6352
6353 * frame.c: Include keyboard.h before frame.h.
6354
6355 * w32heap.h: Undefine min, max.
6356
6357 * w32gui.h: Undefine min, max.
6358
6359 * unexw32.c: Change PUCHAR to PCHAR.
6360 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6361 (relocate_offset):
6362 (get_section_info):
69a7ffa7
AI
6363 (copy_executable_and_dump_data): Remove unnecessary static defs.
6364 (copy_executable_and_dump_data): Fix compile warnings.
6365
6366 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6367
6368 * w32console.c (min): Define macro.
6369 (clear_frame, write_glyphs): Fix compile warning.
6370
52283633 6371 * w32proc.c (compare_env):
69a7ffa7
AI
6372 (find_child_console): Fix compile warning.
6373
6374 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6375 sys_errlist instead of _sys_errlist.
6376 (get_emacs_configuration_options): New function.
6377
6378 * s/ms-w32.h (sys_nerr): Provide default definition.
6379 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6380 name with _ prepended.
6381 (NSIG): Define if not known.
6382 (get_emacs_configuration): Provide extern declaration.
6383 (get_emacs_configuration_options): Provide extern declaration.
6384 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6385
6386 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6387 (map_w32_filename):
69a7ffa7
AI
6388 (read_unc_volume): Fix compile warning.
6389
6390 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6391 definitions from being used.
6392
6393 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6394
52283633 6395 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6396 (open_unc_volume): Make arg const.
6397
6398 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6399 (read_input_waiting): Remove excess parameter.
6400
6401 * w32.c (init_environment): Call _access.
6402 (check_windows_init_file): Call _close.
6403 (init_user_info): Call _putenv.
6404 (init_environment): Call _putenv and _strdup.
6405 (init_ntproc): Reset volume info cache on startup.
6406
6407 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6408 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6409 cannot override the CRT malloc.
6410
6411 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6412 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6413
6414 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6415 unless we are linking with a static CRT.
6416 (RVA_TO_PTR): Cast result to unsigned char*.
6417
6418 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6419 (add_volume_info): Use xstrdup.
6420
25060080
SM
64212000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6422
6423 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6424 (do_completion, Fminibuffer_complete_word): Use it.
6425 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6426 var so it can take non-boolean values.
6427
6917e6bb
GM
64282000-08-21 Gerd Moellmann <gerd@gnu.org>
6429
acb7cc89 6430 * editfns.c (find_field): Formatting changes.
52283633 6431 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6432 changed to prototypes, some new protypes added, some functions
6433 made static.
6434
6435 * lisp.h (set_time_zone_rule): Add prototype.
6436 (use_dialog_box): External declaration.
6437
0bbfdc25
GM
6438 * keyboard.c (gen_help_event): Add parameter SIZE.
6439 (kbd_buffer_events_waiting): Slightly rewritten.
6440 (clear_event): New function.
6441 (kbd_buffer_get_event): Use it, and clear the input_events of
6442 HELP_EVENTs.
6443 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6444 don't fill the newly created array with nils.
6445 (toplevel): Convert some old-style function forward declarations
6446 to prototypes.
6447
6448 * keyboard.h (gen_help_event): Change prototype.
6449
6450 * xterm.c (XTread_socket): Change calls to gen_help_event.
6451
6452 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6453
6917e6bb
GM
6454 * eval.c (Fmacroexpand): Doc fix.
6455
e5cd3d11
JR
64562000-08-20 Jason Rumney <jasonr@gnu.org>
6457
6458 * w32term.h (x_display_info_for_display): Remove as this function
6459 does not exist on W32.
6460
6461 * w32term.c (help_echo_window): New variable.
6462 (syms_of_w32term): staticpro it.
6463 (note_mode_line_highlight): Set it.
6464 (XTextExtents16): Removed as there is no equivalent on W32.
6465 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6466 the X way of doing this will not work for W32.
6467 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6468 (x_draw_image_foreground): Avoid drawing outside of the clip area
6469 when image doesn't have a mask.
6470 (note_mouse_highlight): Process overlays in the right order of
6471 priority. Set help_echo_window.
6472 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6473 because that's more visible for large images.
6474
6475 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6476 name to single_keymap_panes.
6477 (w32_menu_show): Set wv->title when dealing with titles.
6478 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6479
6e69ab8c
MB
64802000-08-21 Miles Bader <miles@gnu.org>
6481
6482 * minibuf.c (do_completion): Try again if we rewrite the input
6483 string, but no completion was done, so that any completion message
6484 will be correct.
6485
511bd4eb
GM
64862000-08-20 Gerd Moellmann <gerd@gnu.org>
6487
6488 * xfaces.c (lface_equal_p): Compare strings differently.
6489 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6490 (realize_tty_face): Use them.
6491 (syms_of_xfaces): Initialize new variables.
6492 (map_tty_color): New function, extracted from realize_tty_face.
6493 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6494 foreground or background color, store the new color name in the
6495 realized face; previous code trying to do this had no effect.
6496 (realize_tty_face): Use map_tty_color.
6497 (Fclear_face_cache): Set face_change_count and ensure thorough
6498 redisplay.
6499
1433385f
GM
65002000-08-19 Gerd Moellmann <gerd@gnu.org>
6501
511bd4eb
GM
6502 * undo.c (record_first_change, record_marker_adjustment): Don't
6503 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6504
419ac0a2
KH
65052000-08-18 Kenichi Handa <handa@etl.go.jp>
6506
6507 * coding.c (decode_coding_string): Set members consumed,
6508 consumed_char, produced, produced_char of *coding correctly. If
6509 decode_coding doesn't consume any byte, don't try anymore.
6510 (encode_coding_string): Likewise.
6511
7eb9e30d
GM
65122000-08-18 Gerd Moellmann <gerd@gnu.org>
6513
511bd4eb
GM
6514 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6515 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6516
6517 * xdisp.c (redisplay_internal): Compare windows for equality with
6518 EQ, instead of applying XWINDOW to something that might not
6519 be a window.
52283633 6520
dd34a735
KH
65212000-08-18 Kenichi Handa <handa@etl.go.jp>
6522
6523 * fontset.c (Finternal_char_font): Search only the selected frame
6524 for a window of the current buffer.
6525
385ff9e3
GM
65262000-08-18 Gerd Moellmann <gerd@gnu.org>
6527
511bd4eb 6528 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6529 Lisp_Objects.
6530
385ff9e3
GM
6531 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6532 second half of a HELP_EVENT is found at the start of kbd_buffer.
6533
d6abb4c7
MB
65342000-08-18 Miles Bader <miles@gnu.org>
6535
4618074a
MB
6536 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6537
d6abb4c7
MB
6538 * editfns.c (save_restriction_save): Rewrite to use markers.
6539 (save_restriction_restore): Rewrite to understand new form of data
6540 saved by save_restriction_save.
6541 (Fsave_restriction): Remove cautionary note in doc-string.
6542
a7b28523
GM
65432000-08-17 Gerd Moellmann <gerd@gnu.org>
6544
6545 * fileio.c (build_annotations): Add a comment explaining the
6546 return value of format-annotate-function. Replace a spurious call
6547 to Flength with a CONSP test. Call format-annotate-function with
6548 a fifth arg specifying how many times the function is been called
6549 in a row, to let it choose temporary buffers appropriately.
6550
03c9ed77
DL
65512000-08-17 Dave Love <fx@gnu.org>
6552
6553 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6554 declare make_temp_name twice.
6555
52283633 6556 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6557 (unreadpure): Give it an arg.
6558
6559 * unexalpha.c: Prototype fatal_unexec, mark_x,
6560 update_dynamic_symbols. Declare unexec as void.
6561
6562 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6563 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6564
6565 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6566 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6567
6568 * alloca.c: Use #error.
6569 [POINTER_TYPE]: Use it.
6570
6571 * eval.c (Fdefvar): Doc fix.
6572
6573 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6574 INITIALIZE_INTERVAL.
6575
6576 * buffer.h: Avoid DECLARE_INTERVALS.
6577
6578 * config.in: Add size_t.
6579
aae41d97
EZ
65802000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6581
6582 * w16select.c (set_clipboard_data): If there's not enough memory
6583 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6584 expects. In case of other failures, return 3.
6585 (system_error_msg): New error message.
6586 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6587 system_error_msg.
6588
65aa5e85
GM
65892000-08-16 Gerd Moellmann <gerd@gnu.org>
6590
6591 * term.c (write_glyphs): Also turn off inverse video after turning
6592 off other appearances in case TS_exit_attribute_mode is not equal
6593 to TS_end_standout_mode.
6594 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6595 with the same face.
6596 (turn_off_face): Reset standout_mode only if
6597 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6598 is equal to TS_end_standout_mode.
6599
ece23901
KH
66002000-08-16 Kenichi Handa <handa@etl.go.jp>
6601
9d7bcb2e
KH
6602 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6603 sequence at the end of the source block.
6604
ece23901
KH
6605 * ccl.c (Fccl_program_p): Docstring modified.
6606 (Fccl_execute): Likewise.
6607 (Fccl_execute_on_string): Likewise.
6608
5e30eaa2
EZ
66092000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6610
6611 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6612
290602fd
KH
66132000-08-16 Kenichi Handa <handa@etl.go.jp>
6614
6615 The following changes are mainly to fix bugs of
6616 encode/decode-coding-string failing if encoding/decoding return
6617 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6618 variable conversion_buffer.
6619
6620 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6621 decrement dst_end to avoid buffer overflow in the later call of
6622 string_as_multibyte
6623
6624 * coding.h (conversion_buffer_size, conversion_buffer)
6625 (get_conversion_buffer): Extern deleted.
6626
6627 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6628 (conversion_buffer, conversion_buffer_size): Variables deleted.
6629 (get_conversion_buffer): Function deleted.
6630 (struct conversion_buffer): New structure.
6631 (MAX_ALLOCA): New macro.
6632 (allocate_conversion_buffer): New macro.
6633 (extend_conversion_buffer, free_conversion_buffer): New functions.
6634 (ccl_coding_driver): Set coding->result.
6635 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6636 this is the last block of source.
6637 (encode_coding): Likewise. Handle the source block as the last
6638 one only when the whole source text is consumed.
6639 (decode_coding_string): Handle the case that the output buffer is
6640 too small to decode the whole source text. Use
6641 allocate_conversion_buffer, extend_conversion_buffer and
6642 free_conversion_buffer, not get_conversion_buffer.
6643 (encode_coding_string): Likewise.
6644 (init_coding): Function deleted.
52283633 6645 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6646
6647 * emacs.c (main): Don't call init_coding.
6648
52283633 6649 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6650
6651 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6652 (insert_glyphs): Likewise.
6653
6654 * w32console.c (write_glyphs): Use a locally declared
6655 conversion_buffer.
6656
b9f80d41
EZ
66572000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6658
6659 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6660 member of display_info is NULL.
6661
32dc52f7
GM
66622000-08-15 Gerd Moellmann <gerd@gnu.org>
6663
52283633 6664 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6665
32dc52f7 6666 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6667 appearances with capability `me'.
32dc52f7
GM
6668 (write_glyphs): Switch on inverse video before each face change.
6669
4eb22d33
DL
66702000-08-14 Dave Love <fx@gnu.org>
6671
6672 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6673 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6674 (lisp_free): Declare and make static.
6675
6676 * window.c: Fix embedded comment.
6677 (syms_of_window): Fix doc string.
6678
90cbf47e
GM
66792000-08-14 Gerd Moellmann <gerd@gnu.org>
6680
52283633 6681 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6682 make sure to print `C-' before `M-', like in the manual.
6683
440fc135
GM
66842000-08-11 Gerd Moellmann <gerd@gnu.org>
6685
6686 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6687 since they aren't relocated anymore.
52283633 6688 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6689
6690 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6691 partially visible line which is smaller than the window's height.
440fc135 6692
6e264fad
KH
66932000-08-11 Kenichi Handa <handa@etl.go.jp>
6694
6695 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6696 the multibyte form of eight-bit-control characters.
6e264fad
KH
6697 (Fccl_execute_on_string): Initialize ccl->multibyte.
6698
6699 * ccl.h (struct ccl_program): New member multibyte.
6700
6701 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6702
c371f69a
KH
67032000-08-11 Kenichi Handa <handa@etl.go.jp>
6704
6705 * regex.c (regex_compile) <normal_char>: Pay attention to
6706 multibyteness.
6707 (analyse_first) <exactn>: Setup fastmap correctly for
6708 eight-bit-control characters.
6709
67102000-08-11 Kenichi Handa <handa@etl.go.jp>
6711
52283633 6712 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6713
6714 * keyboard.c (make_lispy_event): Handle the new event type
6715 multibyte_char_keystroke.
6716
6717 * xterm.c: Include coding.h.
6718 (XTread_socket): Work around a bug of XmbLookupString. If the
6719 input is from XIM, decode it according to the current locale. In
6720 that case, generate multibyte_char_keystroke events.
6721
b8ddbe71
KH
67222000-08-11 Kenichi Handa <handa@etl.go.jp>
6723
6724 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6725 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6726
47589c8c
GM
67272000-08-10 Gerd Moellmann <gerd@gnu.org>
6728
6729 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6730 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6731 (move_it_in_display_line_to): Record iterator's ascent and descent
6732 before producing glyphs, and restore them when we know the glyph
6733 doesn't fit on the line.
6734 (move_it_to): Restructured so that it's easier to debug. If
6735 moving to a vpos, and not moving to an x or character position,
6736 stop as soon as the specified vpos is reached; don't move further
6737 into that line because that might change the computed line height.
6738 (try_cursor_movement): New function, extracted from the cursor
6739 movement branch of redisplay_window. If ending on a partially
6740 visible line, don't try to scroll if the cursor line is taller
6741 than the window.
6742 (redisplay_window): Use try_cursor_movement.
6743
6744 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6745 because that function doesn't cope with variable-height lines.
6746
6747 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6748 box cursor because that's better visible for large images.
52283633 6749
c51bacd6
MB
67502000-08-10 Miles Bader <miles@gnu.org>
6751
6752 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6753
bea56df7
GM
67542000-08-10 Gerd Moellmann <gerd@gnu.org>
6755
6756 * xdisp.c (Vmessages_buffer_name): New variable.
6757 (message_dolog): Use it.
6758 (syms_of_xdisp): Initialize it.
6759
99cd7364
EZ
67602000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6761
52283633 6762 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6763 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6764 redundant now that keyboard.h is included.
6765
7d093d56
EZ
67662000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6767
6768 * keyboard.c (kbd_buffer_events_waiting): New function.
6769
6770 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6771
6772 * msdos.c: Include keyboard.h.
6773 (XMenuActivate): Empty no_event events from the event buffer. If
6774 no events are left after that, call clear_input_pending.
6775 (mouse_clear_clicks): New function, code moved from mouse_init.
6776 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6777 mouse driver to ``forget'' any past clicks.
6778
6779 * Makefile.in (msdos.o): Depend on keyboard.h.
6780
41e757a6
GM
67812000-08-09 Gerd Moellmann <gerd@gnu.org>
6782
8e7bd231
GM
6783 * lisp.h (input_pending): External declaration.
6784
6785 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6786
8e7bd231
GM
6787 * xdisp.c (echo_area_display): Display thoroughly if input is
6788 pending. Bind redisplay-dont-pause to t during the redisplay.
6789 in case input is pending.
6790
6791 * dispnew.c (Qredisplay_dont_pause): New variable.
6792 (syms_of_display): Initialize and staticpro it.
6793 (update_frame_1): Don't interrupt the display for pending input if
6794 redisplay_dont_pause is set.
52283633 6795
43028b7e
GM
6796 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6797
41e757a6
GM
6798 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6799
2f2174fa
KH
68002000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6801
6802 * callproc.c (Fcall_process): Terminate the unwind-protect around
6803 the post-read-conversion of coding system.
6804
0a6fd67e
MB
6805 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6806 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6807 * buffer.h (overlays_at): Update prototype.
6808 * xdisp.c (next_overlay_change): Update call to overlays_at.
6809 * xfaces.c (face_at_buffer_position): Likewise.
6810 * textprop.c (Fget_char_property): Likewise.
6811 * xterm.c (note_mouse_highlight): Likewise.
6812
0c80756e
MB
6813 * minibuf.c (do_completion): Don't consider a simple change of
6814 case as `completion'.
6815
975f250a
KR
68162000-08-08 Ken Raeburn <raeburn@gnu.org>
6817
52283633 6818 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6819 * undo.c (record_delete): Make sure last_point_position_buffer is
6820 a buffer before comparing pointers.
6821
6822 * coding.h (decode_coding_string): Declare.
6823
6824 * intervals.h (Fprevious_single_char_property_change): Declare.
6825
6826 * textprop.c (Fprevious_single_char_property_change): Don't do
6827 arithmetic directly on lisp objects.
6828
52283633 6829 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6830
6831 * keyboard.h (menu_item_eval_property): Declare.
6832
6833 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6834 reuse as buffer name, instead of recreating (and discarding) every
6835 time a message is logged.
6836 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6837 (current_message_1, truncate_message_1, set_message_1)
6838 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6839 (current_message, truncate_echo_area, display_echo_area)
6840 (resize_echo_area_axactly): Changed calls.
b347b3fd 6841
975f250a 6842 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6843 Lisp object.
975f250a 6844 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6845 must be an integer, not a Lisp object.
975f250a 6846
46dc9912
KH
68472000-08-08 Kenichi Handa <handa@etl.go.jp>
6848
6849 * charset.c (Fchar_width): Doc fix.
6850
9f6d1a6c
GM
68512000-08-08 Gerd Moellmann <gerd@gnu.org>
6852
6853 * charset.c (Fstring_width): Doc fix.
6854
ff3d9573
GM
68552000-08-07 Gerd Moellmann <gerd@gnu.org>
6856
41e757a6 6857 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6858 line, clear ascent and descent members of the iterator structure;
6859 the height of the continued line does not affect the height of the
6860 continuation line.
6861 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6862 line taller than the window.
6863 (redisplay_window) <forced window start>: Handle case that the
6864 middle of the window is not found in any row.
6865 (dump_glyph_row): Show more information.
6866 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6867 first text line in a glyph matrix.
6868
6869 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6870 of the clip area when image doesn't have a mask.
6871
70fc58b3
GM
6872 * fns.c (sweep_weak_table): Fix survival conditions for
6873 key-or-value and key-and-value weakness.
6874
6875 * .gdbinit (xhashtable): New command.
6876
ac0e96ee
GM
6877 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6878 tables out of the list of all weak hash tables.
6879
ff3d9573
GM
6880 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6881 a new buffer is created, make sure echo_area_buffer[] references
6882 the new buffer.
6883
e0d8827b
EZ
68842000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6885
6886 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6887 the doc string.
6888
c6f35378
KH
68892000-08-07 Kenichi Handa <handa@etl.go.jp>
6890
6891 * syntax.c (skip_chars): Fix previous change. Make the handling
6892 of unibyte string consistent with that of regex search.
6893
1fd4c450
GM
68942000-08-05 Gerd Moellmann <gerd@gnu.org>
6895
e49aa397
GM
6896 * xmenu.c (popup_get_selection): Use xfree instead of free.
6897
6898 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6899
6900 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6901
6902 * callproc.c (child_setup): Use xfree instead of free.
6903
6904 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6905 instead of malloc.
6906 (run_mac_command, closedir): Use `xfree' instead of `free'.
6907
6908 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6909
6910 * eval.c (error): Use xfree instead of free.
6911
1fd4c450
GM
6912 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6913
6914 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6915 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6916
82d497fc
KH
69172000-08-05 Kenichi Handa <handa@etl.go.jp>
6918
6919 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6920 conversion.
6921
59f953a2
NF
69222000-08-04 Noah Friedman <friedman@splode.com>
6923
6924 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6925 docstring.
6926
688351f2
GM
69272000-08-04 Gerd Moellmann <gerd@gnu.org>
6928
6929 * syntax.c (skip_chars): Fix typo in error message.
6930
2dad51cc
AS
69312000-08-04 Andreas Schwab <schwab@suse.de>
6932
6933 * m/ia64.h: Moved from s/ia64.h.
6934
99bb2c60
KH
69352000-08-04 Kenichi Handa <handa@etl.go.jp>
6936
082a1df2
KH
6937 * process.c (read_process_output): Big simplification. Handle
6938 composition and post-read-conversion of coding system correctly.
6939 (send_process): Handle composition correctly.
6940
6941 * callproc.c (Fcall_process): Handle post-read-conversion of
6942 coding system if any.
6943
99bb2c60
KH
6944 * coding.c (decode_coding_iso2022): More strict check for handling
6945 single shifting.
082a1df2
KH
6946 (coding_restore_composition): Pay attention to the case that
6947 cmp_data is not set properly (because of invalid code in the
6948 source text).
6949 (run_pre_post_conversion_on_str): Include text properties in the
6950 resulting string.
6951 (decode_coding_string): Set members of coding correctly.
99bb2c60 6952
f4988be7
GM
69532000-08-03 Gerd Moellmann <gerd@gnu.org>
6954
6955 * s/ia64.h: New file.
6956
6957 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6958 Use NULL instead of 0 at the end of variable argument list of
6959 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6960 sizeof (int) < sizeof (void *).
6961
6962 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6963 of variable argument lists of XtVaGetValues and XtVaSetValues.
6964
6965 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6966 variable argument lists of XtVaGetValues and XtVaSetValues.
6967
ead53494
GM
69682000-08-02 Gerd Moellmann <gerd@gnu.org>
6969
6970 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6971 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6972
6973 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6974 prototype.
6975
6976 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6977 in call to Fsingle_key_description.
6978
6979 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6980 Callers changed.
6981
69822000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6983
6984 * window.c (display_buffer_reuse_frames): New variable.
6985 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6986 frames displaying BUFFER.
52283633 6987 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6988
10b0f752
MB
69892000-08-01 Miles Bader <miles@gnu.org>
6990
6991 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6992 when to constrain NEW_POS (they were pretty screwed up before).
6993
16425c4a
EZ
69942000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6995
6996 * msdos.c (run_msdos_command): Save and restore the master
6997 environment, for the case that child_setup signals an error.
6998 When mirroring slashes in DOS shell commands, don't fail when
6999 argv[2] has embedded blanks.
da288c14
EZ
7000 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7001 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7002 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7003
7004 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7005 using alloca; free it after run_msdos_command returns.
7006
27f73852
DL
70072000-07-27 Dave Love <fx@gnu.org>
7008
52283633
SM
7009 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7010 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7011
7012 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7013
c0261b5e
EZ
70142000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7015
7016 * editfns.c (lisp_time_argument): Fix last change.
7017
b548072f
GM
70182000-07-27 Gerd Moellmann <gerd@gnu.org>
7019
3ab82477
GM
7020 * fns.c (Fdelete): Make it work on vectors and strings in addition
7021 to lists.
7022
b548072f
GM
7023 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7024 (syms_of_fns): Initialize new variables.
52283633 7025 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7026 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7027 weakness, with t meaning the same as `key-and-value'.
7028
91ae8751
KH
70292000-07-27 Kenichi Handa <handa@etl.go.jp>
7030
7031 * coding.h (struct coding_system): Member safe_charset deleted.
7032
7033 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7034 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7035 New variables.
91ae8751
KH
7036 (coding_safe_chars): New function.
7037 (CODING_SAFE_CHAR_P): New macro.
7038 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7039 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7040 (detect_coding_iso2022): New local variable safe_chars.
7041 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7042 safe_charsets member of the coding system.
7043 (decode_coding_iso2022): New local variable safe_chars.
7044 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7045 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7046 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7047 (ENCODE_UNSAFE_CHARACTER): New macro.
7048 (encode_coding_iso2022): New local variable safe_chars. Check
7049 unsafe chars.
7050 (setup_coding_system): Delete the code to initialize
7051 coding->safe_charses
7052 (intersection, find_safe_codings): New functions.
7053 (Ffind_coding_systems_region_internal): New function.
7054 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7055 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7056 variable and initialize it.
7057
7058 * fns.c (char_table_ref_and_index): New function.
7059
7060 * lisp.h (char_table_ref_and_index): Add prototype.
7061
34a7a267
SS
70622000-07-26 Sam Steingold <sds@gnu.org>
7063
7064 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7065 (Ffloat_time): New built-in Lisp function.
34a7a267 7066
a95cb10a
GM
70672000-07-26 Gerd Moellmann <gerd@gnu.org>
7068
3353ef5a
GM
7069 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7070 for the character code.
7071
7072 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7073 GNU/Linux.
7074
a95cb10a
GM
7075 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7076 if called for a popup menu.
7077 (xmenu_show): Store help string in widget values.
7078
b4a12321
DL
70792000-07-26 Dave Love <fx@gnu.org>
7080
7081 * syswait.h: Move some definitions.
7082 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7083 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7084 perspicuous definitions.
7085 (WTERMSIG): Fix bit pattern used.
7086
13f5ad37
KH
70872000-07-26 Kenichi Handa <handa@etl.go.jp>
7088
7089 * print.c (print_object): If vector printing is truncated, print
7090 "..." to indicate it as well as the case of list printing.
7091
070fe99c
GM
70922000-07-25 Gerd Moellmann <gerd@gnu.org>
7093
969065c3
GM
7094 * xdisp.c (next_element_from_display_vector): Improve comments.
7095
7096 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7097 for the character code, and the rest for the face id as in 20.x.
7098 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7099
7100 * window.c (window_display_table): Cleaned up.
7101
070fe99c
GM
7102 * syntax.c (Fforward_word): Add last arg nil in call of
7103 Fconstrain_to_field.
7104
bad77ef7
EZ
71052000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7106
969065c3 7107 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7108 identical but for the letter-case, don't call
7109 barf_or_query_if_file_exists.
bad77ef7 7110
c28da489
MB
71112000-07-25 Miles Bader <miles@gnu.org>
7112
7113 * editfns.c (find_field): Honor special `boundary' fields.
7114 (Qboundary): New variables.
7115 (syms_of_editfns): Initialize Qboundary.
7116 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7117 Use scan_buffer instead of find_before_next_newline, because it
7118 allows us to detect the boundary case where there's a newline at
7119 the search limit.
7120 * lisp.h (Fconstrain_to_field): Update external declaration.
7121
e3c31fd5
GM
71222000-07-24 Gerd Moellmann <gerd@gnu.org>
7123
7124 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7125 if that is nil.
c28da489 7126
c66c29a2
DL
71272000-07-24 Dave Love <fx@gnu.org>
7128
7129 * s/sunos4-0.h, s/sol2.h:
7130 (LIBS_TERMCAP): Move from m/sparc.h.
7131
7132 * m/sparc.h (TERMINFO): Moved to system files (probably only
7133 relevant for sunos4 judging by its vintage).
7134 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7135 __arch64__.
7136
fbe0a958
EZ
71372000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7138
7139 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7140 name to single_keymap_panes.
7141
7d88e5c9
AS
71422000-07-24 Andreas Schwab <schwab@suse.de>
7143
7144 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7145
e024b101
GM
71462000-07-24 Gerd Moellmann <gerd@gnu.org>
7147
7148 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7149 parameters instead of using int parameters. Expect FN to accept
7150 EMACS_INT parameters.
7151 (display_echo_area, resize_echo_area_axactly, current_message)
7152 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7153 with new argument list.
7154 (resize_mini_window_1): New callback function.
7155 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7156 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7157
25c1a9ce
KH
71582000-07-24 Kenichi Handa <handa@etl.go.jp>
7159
7160 * fontset.c (fontset_ref): Remove INLINE declaration.
7161 (fontset_ref_via_base): Likewise.
7162 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7163 to downcase.
7164
7f987ac0
EZ
71652000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7166
7167 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7168 correct order of priority. If help echo was found in an overlay,
7169 use that overlay as the object in which the help echo was found.
7170
e2db3069
MB
71712000-07-22 Miles Bader <miles@gnu.org>
7172
7173 * textprop.c (Fprevious_single_char_property_change): The initial
7174 property value should be from the position preceding POSITION, not
7175 following it.
7176
5e3203e4
EZ
71772000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7178
7179 * coding.c (syms_of_coding): Doc fix for
7180 inhibit-iso-escape-detection.
7181
62145073
GM
71822000-07-21 Gerd Moellmann <gerd@gnu.org>
7183
c20aeb83
GM
7184 * xterm.c (note_mouse_highlight): Process overlays in the right
7185 order of priority.
34a7a267 7186
743934db
GM
7187 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7188
7189 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7190 overlay, use that overlay as the object in which the help was found.
743934db 7191
d1dc7e43 7192 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7193
62145073
GM
7194 * window.c (foreach_window): Instead of a fake variable argument
7195 list, take one USER_DATA argument.
7196 (foreach_window_1): Likewise, and call callback functions with two
7197 args, the window and USER_DATA.
7198 (struct check_window_data): New struct.
7199 (check_window_containing): Use it.
7200 (window_from_coordinates): Set up a struct check_window_data for
7201 foreach_window.
7202 (add_window_to_list, freeze_window_start): Change parameters
7203 according to new calling convention.
7204
7205 * window.h (foreach_window): Change prototype.
7206
7207 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7208
72092000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7210
7211 * xmenu.c (menu_help_callback): Call show_help_echo with
7212 additional arguments OBJECT and POS.
7213
11270583
KH
72142000-07-21 Kenichi Handa <handa@etl.go.jp>
7215
07b14857
KH
7216 * data.c (Faset): Allow storing any multibyte character in a
7217 string. Convert unibyte string to multibyte if necessary.
7218
11270583
KH
7219 * xfns.c (x_encode_text): New function.
7220 (x_set_name): Use x_encode_text.
7221 (x_set_title): Likewise.
7222
7223 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7224
7225 * xterm.h (x_encode_text): Add prototype.
7226
bc75b4fd
DL
72272000-07-20 Dave Love <fx@gnu.org>
7228
7229 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7230 xfree, not free.
7231
48c14970
EZ
72322000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7233
7234 * msdos.c (help_echo_window): New variable.
7235 (syms_of_msdos): Initialize and staticpro it.
7236 (IT_note_mode_line_highlight): Set help_echo_window.
7237 (IT_note_mouse_highlight): Ditto.
7238 (dos_rawgetc): Store help_echo_window in the second event produced
7239 for HELP_EVENTs.
7240
7241 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7242 Record the object that generated the help echo and the position of
7243 that object in help_echo_object and help_echo_pos. Record that
7244 some glyphs in a row are displayed in mouse-face.
7245 (IT_update_begin): Don't clear mouse highlight unless one of the
7246 enabled glyph rows is marked as being displayed in mouse-face.
7247 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7248 and position recorded in help_echo_object and help_echo_pos to the
7249 event queue.
7250 (IT_menu_display): Accept a new argument PN: the pane number of
7251 the current menu pane. Record the pane number and the item
7252 number of the item which has associated help string.
7253 (XMenuActivate): Update the prototype for help_callback in
7254 function declaration. Call IT_menu_display with the current menu
7255 pane number as an additional argument. Call help_callback with
7256 two additional arguments: the pane number and the item number of
7257 the menu item associated with the help text.
7258 (help_echo_object, help_echo_pos): New variables.
7259 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7260
7261 * msdos.h (XMenuActivate): Update prototype.
7262
4279296d
GM
72632000-07-19 Gerd Moellmann <gerd@gnu.org>
7264
47db06aa
GM
7265 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7266 Add some more prototypes.
7267
7268 * xterm.c, xterm.h: Add some more prototypes.
7269
7270 * lisp.h (Fnext_single_char_property_change): Add prototype.
7271
7272 * dispnew.c (direct_output_for_insert): Remove confusing
7273 outer local variable mouse_face_overwritten_p.
7274 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7275
4279296d
GM
7276 * alloc.c (allocate_string_data): Don't copy old string contents.
7277
670acd62
KH
72782000-07-19 Kenichi Handa <handa@etl.go.jp>
7279
7280 * coding.c (code_convert_region): Delete text properties before
7281 shrinking the conversion region.
7282
7cea38bc
GM
72832000-07-18 Gerd Moellmann <gerd@gnu.org>
7284
dc1cac59
GM
7285 * dispnew.c (update_text_area): Write the whole row if it
7286 has mouse-face in it.
7287
85a8aca9
GM
7288 * xfaces.c (face-alternative-font-family-alist): Remove
7289 DEFVAR_LISP; staticpro instead.
7290
34a7a267 7291 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7292 new arguments.
7293
7294 * keyboard.c (show_help_echo): Add parameter WINDOW.
7295 (read_char): Call show_help_echo with window extracted from Lisp
7296 help event.
7297 (gen_help_event): Add parameter WINDOW.
7298
7299 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7300
7301 * xterm.c (help_echo_window): New variable.
52283633 7302 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7303 (XTread_socket): Pass help_echo_window to gen_help_event.
7304 (syms_of_xterm): Initialize and staticpro help_echo_window.
7305
f8276b77
DL
73062000-07-18 Dave Love <fx@gnu.org>
7307
52283633 7308 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7309
088831a6
GM
73102000-07-18 Gerd Moellmann <gerd@gnu.org>
7311
3d6cd763
GM
7312 * alloc.c (allocate_string_data): If string had already data
7313 assigned, copy old contents to new string data.
7314
7315 * coding.c (syms_of_coding): Fix typo in spelling of variable
7316 `inhibit-iso-escape-detection'.
7317
088831a6
GM
7318 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7319
7320 * Makefile.in: Add dependencies on dispextern.h.
7321 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7322 `free'; both can conflict with system header files.
7323
bc8a8d55
KH
73242000-07-18 Kenichi Handa <handa@etl.go.jp>
7325
7326 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7327 undefined.
7328
069f5950
DL
73292000-07-18 Dave Love <fx@gnu.org>
7330
7331 * window.c (Fwindow_list): Declare arg `window'.
7332
aa96c820
KH
73332000-07-18 Kenichi Handa <handa@etl.go.jp>
7334
7335 * coding.c (setup_coding_system): Don't override the explicitly
7336 specified designations.
7337
06be8d32
MB
73382000-07-15 Miles Bader <miles@gnu.org>
7339
7340 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7341 from `text_property_eq' and `text_property_stickiness', respectively.
7342 (find_field, Fconstrain_to_field, char_property_eq)
7343 (char_property_stickiness): Changed to call char-property functions
7344 instead of text-property-only ones.
7345
7346 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7347 `next_single_char_property_change'). Do more error checking, and
7348 cleanup limit behavior.
7349 (Fprevious_single_char_property_change): New function.
7350 (syms_of_textprop): Initialize new subrs.
7351
7352 * xdisp.c (display_prop_end, invisible_text_between_p):
7353 Call Fnext_single_char_property_change instead of
7354 next_single_char_property_change.
7355
3fddcdc3
JR
73562000-07-15 Jason Rumney <jasonr@gnu.org>
7357
7358 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7359 after menu is finished with.
7360 (add_menu_item): Only consider wv->title as a menu title.
7361 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7362
7363 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7364 null title.
7365 (FONT_REGEXP): Remove unused macro, and its sub-components.
7366 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7367
7368 * w32term.c (help_echo_object, help_echo_pos): New variables.
7369 (note_mode_line_highlight): Store additional information about the
7370 help-echo in help_echo_object and help_echo_pos. Check both
7371 `local-map' and `keymap' properties for changing the cursor
7372 (note_mouse_highlight): Store additional information about the
7373 help-echo in help_echo_object and help_echo_pos.
7374 (note_tool_bar_highlight): Set help_echo_object to nil and
7375 help_echo_pos to -1.
7376 (w32_read_socket): Use gen_help_event instead of filling
7377 input_events manually.
7378 (syms_of_w32term): Staticpro help_echo_object.
7379 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7380 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7381 (x_clear_mouse_face): New function.
7382 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7383 (x_update_window_begin): No need to turn off the mouse
7384 highlight here.
7385 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7386 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7387 (x_fill_stretch_glyph_string): Consume runs of stretch
7388 glyphs instead of a single one.
7389 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7390 with new argument list.
7391 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7392 (x_append_glyph, x_append_composite_glyph)
7393 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7394 changes in struct glyph starting 1999-12-27. See comments for
7395 xterm.c on 2000-07-05.
7396
178c5d9c
SS
73972000-07-14 Sam Steingold <sds@gnu.org>
7398
7399 * xfaces.c (realize_x_face): Fix the last patch:
7400 check `default_face' before dereferencing.
7401
6fe533f6
DL
74022000-07-14 Dave Love <fx@gnu.org>
7403
069f5950 7404 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7405
dd7b81cf
KH
74062000-07-14 Kenichi Handa <handa@etl.go.jp>
7407
0693904a 7408 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7409 default_face's fontset, not using the default fontset.
0693904a 7410
dd7b81cf
KH
7411 * coding.c (inhibit_iso_escape_detection): New variable.
7412 (syms_of_coding): Make it a Lisp variable.
7413 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7414 nonzero, ignore ISO2022's escape sequence.
7415
d5aa31d8
GM
74162000-07-14 Gerd Moellmann <gerd@gnu.org>
7417
e5acf0ca
GM
7418 * alloca.c (malloc) [emacs]: Define as xmalloc.
7419
bd23a692
GM
7420 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7421 use that instead of the mouse position. Add parameters DX and DY.
7422
7423 * dispextern.h (Fx_show_tip): Adjust number of parameters
7424 in prototype.
7425
9662da0b
GM
7426 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7427 if HELP is a function, call it with OBJECT and POS as parameters
7428 to get the help to display.
7429 (gen_help_event, kbd_buffer_store_help_event): New functions.
7430 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7431 (read_char): Call show_help_echo with new parameters.
7432
178c5d9c 7433 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7434 Add prototypes.
7435
7436 * xterm.c (help_echo_object, help_echo_pos): New variables.
7437 (note_mode_line_highlight): Store additional information about the
7438 help-echo in help_echo_object and help_echo_pos. Check both
7439 `local-map' and `keymap' properties for changing the cursor
7440 (note_mouse_highlight): Store additional information about the
7441 help-echo in help_echo_object and help_echo_pos.
7442 (note_tool_bar_highlight): Set help_echo_object to nil and
7443 help_echo_pos to -1.
7444 (XTread_socket): Use gen_help_event instead of filling
7445 input_events manually.
7446 (syms_of_xterm): Staticpro help_echo_object.
7447
7448 * xmenu.c (menu_highlight_callback): Use
7449 kbd_buffer_store_help_event instead of setting up and input_event
7450 structure manually.
7451
7452 * xdisp.c (eval_form): GCPRO argument sexpr.
7453 (call_function): New function.
7454 (handle_single_display_prop): Use call_function and FUNCTIONP
7455 instead of checking whether if font_height is a symbol and
7456 using eval_form.
7457
7458 * eval.c (internal_condition_case_2): New function.
7459
7460 * lisp.h (FUNCTIONP): New macro.
7461 (internal_condition_case_2, call_function): Add prototypes.
7462
d5aa31d8
GM
7463 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7464 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7465 Always set `arg' member of input_events.
7466 (construct_menu_click): Unused function removed.
7467
7468 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7469
7470 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7471 (construct_drag_n_drop, x_scroll_bar_handle_click)
7472 (w32_read_socket): Always set `arg' member of input_events.
7473
7474 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7475
7476 * lisp.h (eval_form): Add prototype.
7477
7478 * xdisp.c (eval_form): Make it externally visible.
7479
0f1a9b23
GM
74802000-07-13 Gerd Moellmann <gerd@gnu.org>
7481
7482 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7483 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7484 consing. For prefix events, store the frame in the `arg' slot of
7485 the event, otherwise store the key there.
7486 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7487 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7488
7489 * xmenu.c (menu_highlight_callback): Store help string in the
7490 `arg' member of the input event; don't cons.
7491 (menubar_selection_callback): Use the `arg' slot of input events
7492 to queue additional information, instead of consing.
7493
7494 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7495
7496 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7497 TOOL_BAR_EVENTs.
7498 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7499
7500 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7501 input events to queue additional information, instead of consing.
7502
7503 * keyboard.c (kbd_buffer_gcpro): Renamed from
7504 kbd_buffer_frame_or_window. Now used for all Lisp objects
7505 referenced from the input queue.
7506 (kbd_buffer_store_event): Always use structure assignment for
7507 copying input events. Record all Lisp objects referenced from
7508 events in kbd_buffer_gcpro.
7509 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7510 differently from input events. Test for prefix menu_bar_events
7511 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7512 event in kbd_buffer_gcpro to nil.
7513 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7514 frame_or_window is equal to its arg member as prefix events.
7515 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7516 used by an input event to nil.
7517 (init_keyboard): Use two times the size of the input queue
7518 for kbd_buffer_gcpro.
7519 (syms_of_keyboard): Likewise.
7520
52283633
SM
7521 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7522 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7523
7524 * termhooks.h (struct input_event): Add member `arg'.
7525 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7526 (USER_SIGNAL_EVENT): Renamed from user_signal.
7527
7528 * xfaces.c (ASET): Remove definition.
7529
7530 * lisp.h (AREF, ASET, ASIZE): New macros.
7531
7532 * fontset.c (AREF, ASIZE): Remove definitions.
7533
7534 * fns.c (AREF): Remove definition.
178c5d9c 7535
0f1a9b23
GM
7536 * composite.c (AREF): Remove definition.
7537
712eaef2
GM
75382000-07-12 Gerd Moellmann <gerd@gnu.org>
7539
d8ee7803
GM
7540 * dispnew.c (redraw_overlapped_rows): Add missing local.
7541 (scrolling_window): Remove debug code.
7542
712eaef2
GM
7543 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7544 Before scrolling, turn off a mouse-highlight in the window
7545 being scrolled.
7546
7547 * xterm.c (x_update_window_end): Add parameter
7548 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7549 redisplay in XTframe_up_to_date.
7550 (x_clear_mouse_face): New function.
7551 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7552
7553 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7554 current glyph row.
7555 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7556 it when any row is written to that contains glyphs highlighted in
7557 mouse-face.
7558 (update_window): Call the window update end hook with new
7559 parameter MOUSE_FACE_OVERWRITTEN_P.
7560 (direct_output_for_insert): Give up if row contains mouse-face.
7561
7562 * dispextern.h (struct redisplay_interface): Add parameter
7563 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7564 (clear_mouse_face): New function pointer member.
7565
02010917
SM
75662000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7567
7568 * syntax.c (back_comment): Use one switch rather than a few `if's.
7569 Obey open_paren_in_column_0_is_defun_start.
7570 When reverting to the `slow' method, try to nicely handle the case
7571 of nested comments by checking that the comment-starter we found
7572 does indeed match the comment-ender.
7573 (scan_sexps_forward, scan_sexps_forward):
7574 Ignore excessive opening parenthesis rather than throwing an error.
7575
d76c03ea
GM
75762000-07-11 Gerd Moellmann <gerd@gnu.org>
7577
7578 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7579 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7580
7581 * dispnew.c (direct_output_forward_char): Give up if currently
7582 displaying a message instead of the minibuffer contents.
7583
7584 * xterm.c (x_update_window_begin): No need to turn off the mouse
7585 highlight here.
7586 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7587 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7588
7589 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7590 compare the mouse_face_p flags of both rows.
7591
7592 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7593
d55ead18
EZ
75942000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7595
7596 * keyboard.c (show_help_echo): Accept additional parameter
7597 ok_to_overwrite_keystroke_echo.
7598 (read_char): Call show_help_echo with a zero
7599 ok_to_overwrite_keystroke_echo argument.
52283633 7600 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7601 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7602 ok_to_overwrite_keystroke_echo argument.
7603 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7604 non-zero ok_to_overwrite_keystroke_echo argument.
7605
df75b1a3
GM
76062000-07-10 Gerd Moellmann <gerd@gnu.org>
7607
4b92c49a
GM
7608 * xdisp.c (try_window_id): If changes are all below what is
7609 displayed in the window, and point is in the window, we still
7610 might have to find point on the display.
7611
7612 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7613 glyphs instead of a single one.
7614 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7615 with new argument list.
7616 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7617
df75b1a3
GM
7618 * keymap.c (get_keymap_1): Add comment that this function can GC.
7619 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7620 comment that functions can GC.
7621 (Fset_keymap_parent): GCPRO arg KEYMAP.
7622
4314cf3e
EZ
76232000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7624
7625 * msdos.c (XMenuActivate): After exiting the menu, restore the
7626 echo area message and erase it.
7627
ab49ce15
KH
76282000-07-10 Kenichi Handa <handa@etl.go.jp>
7629
7630 * fontset.c (Ffontset_info): Make the return value more compatible
7631 with that of Emacs 20.
7632
090a072f
GM
76332000-07-07 Gerd Moellmann <gerd@gnu.org>
7634
7635 * eval.c (Fsignal): Handle case that backtrace_list is null.
7636
f92de4a6
KH
76372000-07-07 Kenichi Handa <handa@etl.go.jp>
7638
7639 * ccl.c (Fccl_execute): Typo fixed.
7640
dd8888a1
GM
76412000-07-06 Gerd Moellmann <gerd@gnu.org>
7642
e5c81191 7643 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7644
dd8888a1
GM
7645 * window.c (Fwindow_list): Reverse list at the end.
7646 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7647 means allow windows on OWINDOW's frame, only.
7648 (window_loop): Simplified; use Fwindow_list.
7649
7650 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7651
485266d0
GM
76522000-07-05 Gerd Moellmann <gerd@gnu.org>
7653
7654 * xterm.c (XTread_socket): Increment handling_signal at the start,
7655 decrement it at the end.
7656
7657 * eval.c (handling_signal): New variable.
7658 (Fsignal): Abort if handling_signal is non-zero.
7659
7660 * lisp.h (handling_signal): External declaration.
178c5d9c 7661
485266d0
GM
7662 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7663
80fcd514
KR
76642000-07-05 Ken Raeburn <raeburn@gnu.org>
7665
7666 Sound support for NetBSD through "Linux emulation" support:
7667 * config.in (HAVE_SOUNDCARD_H): Undef.
7668 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7669 * Makefile.in (LIBSOUND): New variable.
7670 (LIBES): Include it.
52283633
SM
7671 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7672 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7673 (vox_open): Use DEFAULT_SOUND_DEVICE.
7674 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7675
d5c5cddd
GM
76762000-07-05 Gerd Moellmann <gerd@gnu.org>
7677
7678 * print.c (print_error_message): If Vsignaling_function is set,
7679 show it in *Messages*.
7680
7681 * lisp.h (Vsignaling_function): External declaration.
7682
7683 * eval.c (Vsignaling_function): New variable.
7684 (Fsignal): Compute it.
7685 (syms_of_eval): Staticpro it.
7686
65171e3a
DL
76872000-07-05 Dave Love <fx@gnu.org>
7688
7689 * syswait.h: Use the autoconf recommended approach. Old code
7690 #if'd out in case we need to revert.
7691
178c5d9c 7692 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7693
e2c46326
AI
76942000-07-05 Andrew Innes <andrewi@gnu.org>
7695
7696 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7697 when non-NULL instead of __morecore, to take account of buffer
7698 memory. This also solves a problem with spurious memory warnings
7699 on Windows.
7700
7701 * ralloc.c: Make real_morecore non-static.
7702
7703 * eval.c (internal_condition_case): Comment out abort if
7704 interrupt_input_blocked is not zero.
7705
7706 * makefile.nt: Add support for `bootstrap' and related targets.
7707 Include minimal debug info in emacs.exe in release build.
7708 Remove all dependencies on lisp.h, and fixup some others.
7709
7710 * w32.c (init_environment): Install code from 20.7 for providing
7711 default values for environment variables, based on the
7712 executable's own location.
52283633 7713 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7714 (sys_socket): Install socket inheritance bug fix from 20.7.
7715
7716 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7717 here via blockinput.h).
7718
a027a91b
SM
77192000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7720
e4b31601
SM
7721 * w32menu.c (w32_menu_display_help):
7722 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7723
7724 * keyboard.h (show_help_echo): Declare.
7725
7726 * keyboard.c (show_help_echo): New function, extracted from read_char.
7727 Feval its `msg' argument if it's a cons cell.
7728 (read_char): Use it.
4cf8d9d5 7729 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7730
178c5d9c 7731 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7732 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7733 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7734 (dos_rawgetc):
7735 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7736 (note_tool_bar_highlight, w32_read_socket):
7737 Do not gratuitously ignore non-string `help-echo' properties.
7738
88d75730
GM
77392000-07-05 Gerd Moellmann <gerd@gnu.org>
7740
969f7e79
GM
7741 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7742
71201b00
GM
7743 * window.c (delete_all_subwindows): Reset Vwindow_list.
7744
88d75730
GM
7745 * xterm.c (x_append_glyph, x_append_composite_glyph)
7746 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7747 changes in struct glyph starting 1999-12-27. Some bit-fields of
7748 struct glyph were not set, which made glyphs unequal when compared
7749 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7750 effects were the result. This also depended on the contents of
7751 memory returned by xmalloc. If flickering happens again, activate
7752 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7753 gone with that, chances are that it is caused by something similar.
88d75730
GM
7754
7755 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7756
88d75730
GM
7757 * dispextern.h: Add some comments.
7758
7759 * window.c (add_window_to_list): Add parameter LIST.
7760 (window_list): Order list so that, for each frame, windows are
7761 in canonical order, and so that frames appear in the list in
7762 the order given by Vframe_list.
7763 (next_window): Reverse the handling of NEXT_P.
7764
53654733
GM
77652000-07-04 Gerd Moellmann <gerd@gnu.org>
7766
87efd256
GM
7767 * window.c (Vwindow_list): New variable.
7768 (make_window, delete_window): Set Vwindow_list to nil.
7769 (check_window_containing): New function.
7770 (window_from_coordinates): Rewritten.
7771 (add_window_to_list, window_list, candidate_window_p)
7772 (decode_next_window_args, next_window): New functions.
52283633 7773 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7774 (Fwindow_list): New function.
7775 (Fother_window): Cleaned up.
7776 (foreach_window): Add a longer "variable argument list". Let
7777 callback function return 0 to indicate that cycling over windows
7778 should stop.
7779 (foreach_window_1): Likewise.
7780 (freeze_window_start): Return int.
7781 (init_window): New function.
7782 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7783
7784 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7785 input_event with bzero.
7786 (main): Call init_window.
7787
53654733
GM
7788 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7789 a menu filter.
7790
4a8c194f
KH
77912000-07-04 Kenichi Handa <handa@etl.go.jp>
7792
7793 * composite.h (make_composition_value_copy): Extern it.
7794
7795 * composite.c (make_composition_value_copy): New function.
7796
7797 * editfns.c (Fformat): While copying text properties, make each
7798 composition property value a copy.
7799
7800 * fns.c (concat): While copying text properties, make each
7801 composition property value a copy.
7802
831a6cb0
GM
78032000-07-03 Gerd Moellmann <gerd@gnu.org>
7804
2f516940
GM
7805 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7806
178c5d9c 7807 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7808 marked already.
7809
831a6cb0
GM
7810 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7811 include those frames as candidates which have their focus
7812 redirected to the minibuffer frame.
7813
d9c4f922
SM
78142000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7815
7816 * fns.c (Fputhash): Return `value' rather than nil.
7817
3780bc22
GM
78182000-06-30 Gerd Moellmann <gerd@gnu.org>
7819
97d176db
GM
7820 * frame.c (next_frame): Don't check focus redirection in case
7821 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7822 unless their focus is redirected, which contradicts the
7823 specification of next-frame, and leads to infinite loops in
7824 certain situations when cycling through windows with next-window.
7825
dca9961d
KH
78262000-06-30 Kenichi Handa <handa@etl.go.jp>
7827
7828 * coding.c (code_convert_region): Even if the length of text is
7829 zero, try to convert it if coding->type is coding_type_ccl.
7830 (decode_coding_string, encode_coding_string): Likewise.
7831
d5483ab1
GM
78322000-06-28 Gerd Moellmann <gerd@gnu.org>
7833
af5c25e1 7834 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7835 the display if windows_or_buffers_changed.
af5c25e1
GM
7836
7837 * dispnew.c (struct row_entry): New structure.
7838 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7839 (row_table_size, old_lines, new_lines, old_lines_size)
7840 (new_lines_size, run_pool, runs_size, runs): New variables.
7841 (add_row_entry): New function.
7842 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7843 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7844 holding them in local variables. Use a larger hash table whose
7845 size depends on glyph matrix sizes. Don't use bzero to clear the
7846 hash table; instead, clear used slots only.
7847
7848 * fns.c (next_almost_prime): Make it externally visible.
7849
7850 * lisp.h (next_almost_prime): Add prototype.
7851
d5483ab1
GM
7852 * s/isc4-0.h (sigunblock): Define.
7853
7854 * s/sco5.h (sigunblock): Define.
7855
93e40f40
DL
78562000-06-27 Dave Love <fx@gnu.org>
7857
7858 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7859 (moved to osf5-0.h).
7860 [!NOT_C_CODE]: Protect string.h stuff.
7861
7862 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7863 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7864
3c4b7685
GM
78652000-06-27 Gerd Moellmann <gerd@gnu.org>
7866
97d176db 7867 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7868 below the last line from the needed window height.
7869
32cad0aa
SM
78702000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7871
7872 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7873 (Fwidget_get): Use it.
7874 (syms_of_fns): Defsubr it.
7875
2c69ced2
GM
78762000-06-26 Gerd Moellmann <gerd@gnu.org>
7877
178c5d9c 7878 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7879 display info for XIM.
7880 (xim_open_dpy): Likewise.
7881 (xim_close_dpy): Don't free the display info's XIM.
7882
7883 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7884
7885 * config.in (USE_XIM): New define.
7886
3fc720e4
GM
7887 * keymap.c (get_keyelt): For menu-items containing a `:filter
7888 FILTER', apply FILTER to the menu-item's definition to get the
7889 real definition to use.
7890
7891 * lisp.h (QCfilter): External declaration.
7892
2c69ced2
GM
7893 * xfns.c (Fimage_size): New function.
7894 (syms_of_xfns): Defsubr it.
7895
f978b2a2
AS
78962000-06-26 Andreas Schwab <schwab@suse.de>
7897
7898 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7899 Fstring_as_unibyte.
7900
94cc7892
DL
79012000-06-25 Dave Love <fx@gnu.org>
7902
52283633 7903 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7904
7905 * Makefile.in (blockinput.h): Depend on atimer.h.
7906 (atimer.h): Depend on systime.h.
7907
52283633 7908 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7909
52283633 7910 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7911
7912 * lisp.h (swap_in_global_binding): Declare.
7913
b8c24556
KR
79142000-06-24 Ken Raeburn <raeburn@gnu.org>
7915
7916 * process.c (Fopen_network_stream): Turn off atimers for duration
7917 of call to connect. (Patch from Gerd.)
7918
8cf8560b
DL
79192000-06-23 Dave Love <fx@gnu.org>
7920
511c7541
DL
7921 * ralloc.c: Maybe include unistd.h
7922
8cf8560b
DL
7923 * emacs.c (setgrp): Undefine before defining.
7924 (malloc_warning, set_time_zone_rule, index): Prototype.
7925
7926 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7927 HAVE_STRUCT_TIMEZONE.
7928
7929 * s/osf1.h: Move string.h hack here from alpha.h and make it
7930 conditional.
7931 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7932 _XOPEN_SOURCE.
7933 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7934 (SOCKLEN_TYPE): Don't define.
7935
7936 * m/alpha.h: Remove string.h hack.
7937
7938 * s/osf5-0.h: New file.
7939
7940 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7941 include time.h, done by systime.h.
7942 [__FreeBSD__]: Remove redundant includes.
7943
3fc720e4 7944 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7945 (delete_temp_file): Return Qnil to avoid warning.
7946
7947 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7948
7949 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7950 HAVE_X_WINDOWS.
7951
7952 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7953
7954 * composite.h (compose_text): Declare.
7955
7956 * xterm.c: Don't include sys/types.h unconditionally. Don't
7957 protect its inclusion with !USG (following xmenu.c).
7958
ea055732
GM
79592000-06-23 Gerd Moellmann <gerd@gnu.org>
7960
7961 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7962 in x_create_frame.
7963
74b01b80
EZ
79642000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7965
7966 * coding.c (decode_eol_post_ccl): Special handling for undecided
7967 and inconsistent EOL types.
7968
64f3a166
GM
79692000-06-22 Gerd Moellmann <gerd@gnu.org>
7970
16cf31f7
GM
7971 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7972 trough color and main window's background color.
7973
52283633 7974 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7975
7976 * xterm.h (Xt_app_con): External declaration.
7977
7978 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7979
486a103d
GM
7980 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7981
64f3a166
GM
7982 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7983 (handle_invisible_prop): Record the start of invisible text in
7984 it->add_overlay_start.
7985 (struct overlay_entry): Add member `overlay'.
7986 (handle_overlay_change): Simplify.
7987 (next_overlay_string): After having processed overlay strings at the
7988 end of the buffer, record that fact in
7989 it->overlay_strings_at_end_processed_p.
7990 (compare_overlay_entries): If before- and after-strings come
7991 from the same overlay, let before-strings come first.
7992 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7993 (load_overlay_strings): Take it->add_overlay_start into account
7994 when adding overlay strings.
7995
7996 * dispextern.h (struct it): Add member add_overlay_start.
7997
bb746ea6
DL
79982000-06-22 Dave Love <fx@gnu.org>
7999
8000 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8001
8002 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8003
a8f573f3
KH
80042000-06-22 Kenichi Handa <handa@etl.go.jp>
8005
8006 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8007 is greater than 0.
8008
9f2bbc92
DL
80092000-06-21 Dave Love <fx@gnu.org>
8010
178c5d9c 8011 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8012
3ee5041c
SM
80132000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8014
8015 * syntax.c (back_comment): Simplify string-parity counting (with
8016 the added benefit of handling multiple string-styles as long as
8017 they are not intertwined).
8018 Jump to the slow code as soon as a comment starter is found in
8019 a "string_lossage" position. Fixes the case: " /* " /* " */.
8020
4c343001
DL
80212000-06-21 Dave Love <fx@gnu.org>
8022
8023 * Makefile.in: Use GETLOADAVG_LIBS.
8024
8025 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8026 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8027
e6365855
SM
80282000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8029
8030 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8031 (Fforward_comment, scan_lists):
8032 Check the comstyle of single-char comment-starters.
8033 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8034 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8035 Check the comstyle of single-char comment-starters.
8036 Clarify control-flow around the Scomment case.
e6365855 8037
5700d2cc
DL
80382000-06-20 Dave Love <fx@gnu.org>
8039
d355bd8a
SM
8040 * fns.c (make_hash_table, maybe_resize_hash_table):
8041 Cast arg of next_almost_prime.
5700d2cc 8042
178c5d9c 8043 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8044
8045 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8046 and unistd.h.
8047
4a27bdfb
GM
80482000-06-20 Gerd Moellmann <gerd@gnu.org>
8049
a61d762c 8050 * keyboard.c (adjust_point_for_property): Check if display
52283633 8051 property should be treated as intangible by looking at its value.
a61d762c 8052
178c5d9c 8053 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8054 (display_prop_intangible_p): New functions.
8055
8056 * dispextern.h (display_prop_intangible_p): Add prototype.
8057
8058 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8059
4a27bdfb
GM
8060 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8061 argument to sigprocmask.
8062
8063 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8064 argument to sigprocmask.
8065
8066 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8067 sigprocmask_set, and pass a pointer to it to sigprocmask.
8068
8069 * sysdep.c (sigprocmask_set): New variable.
8070
8071 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8072 report_file_error.
8073
427ec082
SS
80742000-06-20 Sam Steingold <sds@gnu.org>
8075
8076 * xrdb.c: Don't declare xmalloc, xrealloc.
8077
8972fe79 80782000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8079
8080 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8081 (re_comp): Cast gettext return value to avoid complaints when
8082 !HAVE_LIBINTL.
8083
074b6efe
DL
80842000-06-20 Dave Love <fx@gnu.org>
8085
52283633 8086 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8087
5700d2cc 8088 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8089
d355bd8a 8090 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8091
8092 * m/alpha.h: Don't declare xmalloc, xrealloc.
8093
0af4f205
DL
8094 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8095
8096 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8097
8098 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8099
8100 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8101 HAVE_GETWD.
8102
074b6efe
DL
8103 * keyboard.h (poll_for_input_1): Declare.
8104
8105 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8106
8107 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8108
8109 * doprnt.c: Don't declare xmalloc, xrealloc.
8110
8111 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8112 (getenv, ctime, getwd): Removed.
8113 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8114
8115 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8116 x_set_tool_bar_lines.
8117
8118 * config.in: Add HAVE_GETWD. Move some definitions above
8119 machine/system includes.
8120
68a5e97b
KH
81212000-06-20 Kenichi Handa <handa@etl.go.jp>
8122
95417e1e
KH
8123 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8124
68a5e97b
KH
8125 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8126 contain information about ENCODING.
8127
8128 * fontset.c (FONTSET_ASCII): Use the first element of char table
8129 for an ASCII font, not defalt slot.
8130 (fontset_ref_via_base): If FONTSET doesn't contain information for
8131 C, try the default fontset.
8132 (make_fontset): Don't copy the default fontset.
8133 (fontset_font_pattern): Likewise.
8134 (accumulate_font_info): If ELT is nil, use the corresponding
8135 element in the default fontset.
8136
3b4fa1b2
DL
81372000-06-19 Dave Love <fx@gnu.org>
8138
943e731c
DL
8139 * syntax.c (Fparse_partial_sexp): Doc fix.
8140
8141 * regex.h: Test PROTOTYPES as well as __STDC__.
8142
3b4fa1b2
DL
8143 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8144 errno, strerror. Put text after #endif in comment.
8145
52283633 8146 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8147
8148 * xterm.c (x_frame_of_widget): Likewise.
8149
cdf0357b
GM
81502000-06-19 Gerd Moellmann <gerd@gnu.org>
8151
8152 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8153 to Vfundamental_mode_abbrev_table.
8154
8155 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8156 bogus objects are marked. This slows down GC by ~80 percent, but
8157 it might be worth trying when debugging GC-related problems.
8158 This feature requires conservative stack marking to be enabled.
8159
8160 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8161 returns XLookupChars, reset `modifiers' to zero.
8162
998e9f8c
DL
81632000-06-19 Dave Love <fx@gnu.org>
8164
8165 * mktime.c: Unprotoized.
8166
18e21ce8 81672000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8168
8169 * data.c (set_internal): If variable is frame-local,
8170 store the new value immediately into the frame parameter alist.
8171
140c4ac6
KR
81722000-06-19 Ken Raeburn <raeburn@gnu.org>
8173
14358466
KR
8174 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8175 in the custom handler pointer.
8176
140c4ac6
KR
8177 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8178 value, or checks for CHAR_META can fail when Lisp_Object is a
8179 union type.
8180 * keymap.c (get_keyelt): Likewise.
8181
10d7bf84
KH
81822000-06-19 Kenichi Handa <handa@etl.go.jp>
8183
8184 * ccl.h (struct ccl_program): New member eol_type.
8185 (struct ccl_spec): New member cr_carryover.
8186
8187 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8188 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8189
8190 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8191 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8192 (decode_eol_post_ccl): New function.
8193 (decode_coding): Don't detect EOL format here for CCL based coding
8194 systems.
8195 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8196 decode_eol_post_ccl after running the CCL program.
8197 (code_convert_region): Don't detect EOL format here for CCL based
8198 coding systems.
8199 (decode_coding_string): Likewise.
8200
52e386c2
KR
82012000-06-18 Ken Raeburn <raeburn@gnu.org>
8202
8203 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8204 when treating it as an integer.
8205
8206 * coding.h (encode_coding_string): Declare.
8207
8208 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8209 it as an integer.
8210
8211 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8212 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8213 to be passed to get_local_map.
8214
8215 * sound.c (Fplay_sound): Don't call make_number on
8216 Frun_hook_with_args count argument.
8217
8218 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8219 for lisp objects in X event structure data field, when lisp
8220 objects are represented with unions.
8221 (x_scroll_bar_to_input_event): Ditto.
8222
b357b9d4
KR
82232000-06-16 Ken Raeburn <raeburn@gnu.org>
8224
8225 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8226 termination of string. Fix sense of test whether
8227 Vline_number_display_limit is an integer.
b357b9d4 8228
a871441d
GM
82292000-06-16 Gerd Moellmann <gerd@gnu.org>
8230
a9021acd
GM
8231 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8232 only if HAVE_X_WINDOWS.
8233
6344985d
GM
8234 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8235 of titles.
8236
427ec082 8237 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8238 out of bounds.
8239
228b083e
EZ
82402000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8241
8242 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8243 of its headers.
8244
c25b53a2
KH
82452000-06-15 Kenichi Handa <handa@etl.go.jp>
8246
8247 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8248 start of the while loop.
8249
a6981b11
GM
82502000-06-15 Gerd Moellmann <gerd@gnu.org>
8251
e9924e52
GM
8252 * atimer.c (alarm_signal_handler): Add forward declaration.
8253
a6981b11
GM
8254 * data.c (set_internal): Remove debug code.
8255
25fa6deb
GM
82562000-06-14 Gerd Moellmann <gerd@gnu.org>
8257
dce6b995
GM
8258 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8259
9f817ea4
GM
8260 * unexec.c (toplevel) [COFF]: Include coff.h.
8261
8262 * s/lynxos.h: New file.
8263
8264 * keymap.c (Fsingle_key_description): Enclose function key and
8265 event symbol names in angle brackets.
8266
8a4e3c0c
GM
8267 * xdisp.c (setup_echo_area_for_printing): Call
8268 message_log_maybe_newline if message_buf_print is not set.
8269
8270 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8271 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8272 function does something useful even when message_buf_print is
8273 already set.
8274
52283633
SM
8275 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8276 New variables.
25fa6deb
GM
8277 (ensure_echo_area_buffers): Initialize echo buffer's
8278 truncate lines setting to nil.
8279 (with_echo_area_buffer): Don't set the echo buffer's truncate
8280 lines setting here.
8a4e3c0c 8281 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8282 of message_truncate_lines.
8283 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8284 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8285 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8286
8287 * keyboard.c (read_char): Bind message-truncate-lines to t
8288 while displaying a help-echo.
8289
8290 * lisp.h (Qmessage_truncate_lines): External declaration.
8291
163dcff3
GM
82922000-06-13 Gerd Moellmann <gerd@gnu.org>
8293
1681ead6
GM
8294 * xdisp.c (Vline_number_display_limit): Renamed from
8295 line_number_display_limit.
8296 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8297 Extend documentation string. Initialize
8298 Vline_number_display_limit to nil meaning no limit.
8299 (decode_mode_spec): Use Vline_number_display_limit with its new
8300 meaning.
8301
163dcff3
GM
8302 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8303
18e21ce8 83042000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8305
8306 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8307
163dcff3
GM
8308 * xfns.c (x_set_frame_parameters): Comment fix.
8309
8310 * frame.c (store_frame_param): Call swap_in_global_binding if the
8311 variable's current binding was chosen based on this frame.
8312
8313 * data.c (swap_in_global_binding): New function.
8314
a704139d
EZ
83152000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8316
8317 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8318 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8319
9b6610db
EZ
83202000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8321
8322 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8323
c68833d2
JR
83242000-06-12 Jason Rumney <jasonr@gnu.org>
8325
8326 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8327
8328 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8329
8330 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8331
8332 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8333
ed1056b3
GM
83342000-06-12 Gerd Moellmann <gerd@gnu.org>
8335
8336 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8337 (syms_of_xfaces): Defsubr Sdump_colors.
8338 (x_free_colors): Don't treat b&w specially on default visual.
8339 (x_free_dpy_colors): New function.
8340 (free_face_colors): Don't check visual class; it's done
8341 in x_free_colors.
8342
8343 * xterm.c (x_frame_of_widget): New function.
8344 (x_alloc_nearest_color_for_widget): Use it.
8345 (x_copy_dpy_color): New function.
8346 (x_destroy_window): Free various colors.
8347
5050a2ef
KH
83482000-06-12 Kenichi Handa <handa@etl.go.jp>
8349
8350 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8351
8352 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8353
8354 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8355
8356 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8357
8358 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8359
fb1b041d
DL
83602000-06-11 Dave Love <fx@gnu.org>
8361
8362 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8363
ff96b5f4
EZ
83642000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8365
8366 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8367
db8eeecd
GM
83682000-06-11 Gerd Moellmann <gerd@gnu.org>
8369
ed1056b3 8370 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8371 to `XEvent *'.
8372
49b71c5f
KH
83732000-06-10 Kenichi Handa <handa@etl.go.jp>
8374
c479bd55
KH
8375 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8376 (regex_compile): Fix the code for handling the case of single byte
8377 char and multibyte char being mixed in a range within [...].
8378
ff6a65c2
KH
8379 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8380 and dst_multibyte members of coding.
8381
49b71c5f
KH
8382 * charset.c (update_charset_table): Update the table
8383 bytes_by_char_head.
8384 (init_charset_once): Initialize elements of bytes_by_char_head to
8385 1 except for leading codes for private charases.
8386
8387 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8388 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8389
9e80b57d
KR
83902000-06-09 Ken Raeburn <raeburn@gnu.org>
8391
8392 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8393 access the data it doesn't point to.
8394
f83fe4b4
GM
83952000-06-08 Gerd Moellmann <gerd@gnu.org>
8396
8397 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8398 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8399 event queue. This is necessary because Emacs otherwise won't
8400 perform a switch-frame to a new frame until some other event, for
8401 example a keystroke event, forces it to do so. This has various
8402 effects, one visible being that the cursor of a frame created with
8403 C-x 5 2 or switched to with a window manager key binding like
8404 A-TAB stays hollow because selected_window isn't on the newly
8405 focused frame until the switch-frame is performed.
8406
8407 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8408 generating a switch-frame event if necessary.
8409
8410 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8411
8412 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8413 it's an integer.
8414
0890801b
KH
84152000-06-08 Kenichi Handa <handa@etl.go.jp>
8416
52283633 8417 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8418
173cbca8
GM
84192000-06-07 Gerd Moellmann <gerd@gnu.org>
8420
3091c2a6
GM
8421 * window.c (displayed_window_lines): Take empty lines at
8422 the bottom of a window into account.
427ec082 8423
f38952fe
GM
8424 * window.c (displayed_window_lines): New function.
8425 (Fmove_to_window_line): Use displayed_window_lines to determine
8426 the number of lines to move, instead of using the window's height.
8427
8428 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8429 to stop reading, even if the form read sets point to a different
8430 value when evaluated.
8431
427ec082 8432 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8433 put the cursor.
8434
6ba6c818
KH
84352000-06-07 Kenichi Handa <handa@etl.go.jp>
8436
8437 * fileio.c (e_write): Free composition data if stored in
8438 coding->cmp_data.
8439
5f1aea9a
GM
84402000-06-06 Gerd Moellmann <gerd@gnu.org>
8441
666852af
GM
8442 * xdisp.c (display_line): Set row's and iterator's
8443 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8444 Set cursor even if row ends in the middle of a character.
8445 (dump_glyph_row): Print values of new flags.
8446 (redisplay_window) <cursor movement in unchanged window>: When
8447 point has been moved forward, and PT is at the end of the cursor
8448 row, don't place the cursor in the next row if the cursor row ends
8449 in the middle of a character or at ZV.
8450
8451 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8452 (struct glyph_row): Add starts_in_middle_of_char_p and
8453 ends_in_middle_of_char_p.
8454 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8455 ends_in_middle_of_char_p flag.
8456 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8457
d13f3e2e
GM
8458 * term.c (append_glyph): Revert change of 2000-06-06.
8459
8460 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8461 padding glyph not fitting on line as whole character not
8462 fitting on line.
8463
5f1aea9a
GM
8464 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8465 this isn't true for images with `:ascent 100'.
8466
10cda9b0
KH
84672000-06-06 Kenichi Handa <handa@etl.go.jp>
8468
ed00559d
KH
8469 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8470 as modified if it is originally unmodified.
8471
10cda9b0
KH
8472 * term.c (encode_terminal_code): Change the way to check if
8473 terminal coding does any conversion.
8474 (append_glyph): Set glyph->pixel_width correctly.
8475
8476 * xdisp.c (display_line): While checking line continuation, pay
8477 attention to a padding glyph.
8478
1969fae2
GM
84792000-06-05 Gerd Moellmann <gerd@gnu.org>
8480
8481 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8482
162ccef4
DL
84832000-06-05 Dave Love <fx@gnu.org>
8484
f19f32dd
DL
8485 * xdisp.c: Include fontset.h.
8486
8487 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8488
8489 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8490
8491 * dispnew.c: Conditionally include term.h.
8492
8493 * coding.h: Declare code_convert_string_norecord.
8494
8495 * frame.h (struct frame): Use volatile unconditionally.
8496
8497 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8498
8499 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8500
8501 * systime.h: Protect against multiple inclusion.
8502 (timezone) [USG5_4]: Define as time_t.
8503
8504 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8505 (Foptimize_char_table, make_temp_name): Declare.
8506
8507 * Makefile.in (xdisp.o): Depend on fontset.h.
8508
8509 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8510
8511 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8512 (Foptimize_char_table, make_temp_name): Declare.
8513
427ec082 8514 * s/irix4-0.h:
162ccef4
DL
8515 * s/irix5-0.h:
8516 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8517
2082fe81
DL
85182000-06-02 Dave Love <fx@gnu.org>
8519
8520 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8521
dcf671d2
GM
85222000-06-02 Gerd Moellmann <gerd@gnu.org>
8523
8524 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8525 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8526 be freed.
8527
8528 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8529 glyph, use the ASCII NUL character to determine the face.
8530
d42122a3
DL
85312000-06-02 Dave Love <fx@gnu.org>
8532
8533 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8534 (VFORK_RETURN_TYPE): Remove.
427ec082 8535
d42122a3
DL
8536 * config.in: Add NO_MATHERR.
8537
dd432f16
DL
85382000-06-01 Dave Love <fx@gnu.org>
8539
90aa4ea8
DL
8540 * cmds.c (internal_self_insert): Don't check
8541 Vbefore_change_function, Vafter_change_function.
8542
8543 * insdel.c (signal_before_change, signal_after_change): Likewise.
8544
8545 * buffer.c (Vbefore_change_function, Vafter_change_function):
8546 Variables and their initializations deleted.
8547
2330c9d4
DL
8548 * callint.c (Fcall_interactively): Doc fix.
8549
dd432f16
DL
8550 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8551
bf9e8804
DL
85522000-05-31 Dave Love <fx@gnu.org>
8553
8554 * textprop.c: Revert last change -- duplicated.
8555
3694b4ab
GM
85562000-05-31 Gerd Moellmann <gerd@gnu.org>
8557
8558 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8559 in #if 0.
8560
8561 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8562
f14156cd
JR
85632000-05-31 Jason Rumney <jasonr@gnu.org>
8564
8119aab8
JR
8565 * search.c (Fre_search_forward, Fre_search_backward)
8566 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8567
f14156cd
JR
8568 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8569
4aab9be3
JR
85702000-05-30 Jason Rumney <jasonr@gnu.org>
8571
8572 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8573 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8574
52283633 8575 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8576
8577 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8578 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8579 expand a nil default_filename.
8580
8581 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8582 pointer to glyph_to_pixel_coords, not a frame.
8583
8584 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8585 coding.h to dependencies.
8586
8587 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8588
8589 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8590 window pointer to be consistent with w32term.c and xterm.c.
8591
8592 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8593 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8594 (Qline_spacing, Qcenter): New variables.
8595 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8596 (x_set_line_spacing): New function.
52283633 8597 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8598 (x_specified_cursor_type): New function.
8599 (x_set_cursor_type): Use it.
8600 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8601 and icon strings.
8602 (validate_x_resource_name, x_get_resource_string): Measure lengths
8603 of external strings in bytes.
8604 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8605 GetTextExtentPoint32 with NULL title.
8606 (Fx_create_frame): Initialize Qline_spacing.
8607 (w32_load_system_font): Initialize font->double_byte_p.
8608 (x_to_w32_charset): Use Vw32_charset_info_alist.
8609 (Image, busy cursor, tooltip functions): Merged changes from
8610 xfns.c. Not yet functional on Windows.
8611
8612 * w32gui.h (W32FontStruct): Add double_byte_p member.
8613
8614 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8615 (emacs_button_translation): Use it.
8616 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8617 in `mask' to be set.
8618
8619 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8620 menu strings.
8621
8622 * w32term.c: Format and doc changes to bring closer to xterm.c.
8623 (w32_char_font_type): New enum.
8624 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8625 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8626 (w32_encode_char): New function.
8627 (x_encode_char): Removed.
8628 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8629 x_encode_char and w32_font_is_double_byte.
8630 (x_produce_image_glyph): Use image_ascent.
8631 (x_produce_glyphs): Use new version of w32_per_char_metric and
8632 handle NULL return value. Allow extra line spacing.
8633 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8634 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8635 w32_font_type member of glyph instead.
8636 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8637 (fast_find_position): Make sure not to consider rows not visible
8638 in the window.
8639 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8640 w32_menu_display_help with input blocked, as it can abort.
8641 (x_display_and_set_cursor): Choose cursor depending
8642 on buffer-local value of cursor_type.
8643 (x_draw_bar_cursor): Add parameter WIDTH.
8644
8645 * w32term.h (CP_DEFAULT): Define.
8646 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8647
10fc3187
GM
86482000-05-30 Gerd Moellmann <gerd@gnu.org>
8649
8650 * search.c (Fre_search_forward, Fre_search_backward)
8651 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8652
d0555360
KH
86532000-05-30 Kenichi Handa <handa@etl.go.jp>
8654
8655 * coding.c (detect_coding_iso2022): Fix code for checking
8656 CODING_CATEGORY_MASK_ISO_8_2.
8657
f1ad044f
SM
86582000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8659
8660 * regex.c (PREFETCH_NOLIMIT): New function.
8661 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8662
84ec3b4b
GM
86632000-05-29 Gerd Moellmann <gerd@gnu.org>
8664
66254a13
GM
8665 * syntax.c (find_defun_start): Move test for
8666 open_paren_in_column_0_is_defun_start outside of the loop.
8667
49e70dec
GM
8668 * xdisp.c (redisplay_window): Really switch buffers when
8669 displaying mode lines, and temporarily set selected_frame to the
8670 frame of the window that's redisplayed.
8671
84ec3b4b
GM
8672 * xfaces.c (free_realized_faces): Block/unblock input.
8673 (free_realized_multibyte_face): Ditto.
8674
869a3a14
DL
86752000-05-29 Dave Love <fx@gnu.org>
8676
8677 * textprop.c (Qkeymap): New variable.
8678 (syms_of_textprop): Intern it.
8679
8680 * keymap.c: Include intervals.h.
8681 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8682
8683 * Makefile.in (keymap.o): Depend on intervals.h.
8684
8685 * keyboard.c (menu_bar_items, tool_bar_items)
8686 (Fexecute_extended_command): Deal with `keymap' property.
8687 (read_key_sequence): Track map from `keymap' property as well as
8688 `local_map'.
8689
8690 * intervals.c (get_local_map): Extra arg to allow looking for
8691 `keymap' too.
8692
8693 * intervals.h (map_property): New enum.
8694 (get_local_map): Extra arg using it.
8695 (Qkeymap): Declare.
8696
84ec3b4b 8697 * lisp.h (get_local_map): Don't declare here.
869a3a14 8698
89d0c844
KH
86992000-05-29 Kenichi Handa <handa@etl.go.jp>
8700
8701 * Makefile.in (callproc.o): Depend on composite.h.
8702
8703 * callproc.c: Include composite.h.
8704 (Fcall_process): Handle composition correctly.
8705
8706 * coding.h (coding_allocate_composition_data): Extern it.
8707 (coding_restore_composition): Likewise.
8708
8709 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8710 yet allocated, finish decoding with result
8711 CODING_FINISH_INSUFFICIENT_CMP.
8712 (coding_allocate_composition_data): Make it non-static.
8713 (coding_restore_composition): Likewise.
8714
797a084a
EZ
87152000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8716
8717 * charset.c (syms_of_charset): Revert last change.
8718
cf872af5
EZ
87192000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8720
8721 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8722 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8723 Handa.
cf872af5 8724
5b1ae051
EZ
87252000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8726
8727 * charset.c (syms_of_charset): Set width of character sets
8728 eight-bit-control and eight-bit-graphic to 1 column.
8729
34ec9ebe
GM
87302000-05-26 Gerd Moellmann <gerd@gnu.org>
8731
8732 * config.in (HAVE_SPEED_T): New define.
8733
8734 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8735 `extern speed_t'.
8736
dd854dc2
DL
87372000-05-26 Dave Love <fx@gnu.org>
8738
8739 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8740
8741 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8742 (Fsubr_arity): New function.
8743 (syms_of_data): Install them.
8744
ba9f8f95
KH
87452000-05-26 Kenichi Handa <handa@etl.go.jp>
8746
0f3e0672
KH
8747 * charset.c (init_charset_once): Set the table bytes_by_char_head
8748 correctly.
8749
cebefb44
KH
8750 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8751 the default fontset to what Emacs uses by default.
0f3e0672
KH
8752 (check_registry_encoding): This function deleted.
8753 (Fset_fontset_font): Remove the adhoc condition for the default
8754 fontset. Allow cons in FONTNAME.
cebefb44 8755
0f3e0672
KH
8756 * fns.c (map_char_table): Ignore char-table entries for
8757 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8758
7a18af49
KR
87592000-05-25 Ken Raeburn <raeburn@gnu.org>
8760
8761 * emacs.c (main): Initialize keyboard syms before initializing
8762 window code, so face names are available.
8763
d2af47df
SM
87642000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8765
8766 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8767 of an anchor at the beginning of a shy-group.
8768
fc6a6a4e
GM
87692000-05-25 Gerd Moellmann <gerd@gnu.org>
8770
8771 * xdisp.c (handle_invisible_prop): Don't try to skip over
8772 invisible text if end of text is already reached.
8773
005f0d35
DL
87742000-05-25 Dave Love <fx@gnu.org>
8775
02513cdd
DL
8776 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8777
005f0d35
DL
8778 * coding.c (encode_eol): Add null statement after label.
8779
89f6ca4e
EZ
87802000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8781
8782 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8783 2000-05-20.
8784
a4e1759e
KH
87852000-05-25 Kenichi Handa <handa@etl.go.jp>
8786
8787 * ccl.c (ccl_driver): Fix previous change.
8788
eacfd7fe
KH
87892000-05-25 Kenichi Handa <handa@etl.go.jp>
8790
46ab33a9
KH
8791 * coding.c (run_pre_post_conversion_on_str): Set point to the
8792 beginning of buffer before calling coding->post_read_conversion.
8793 (decode_coding_string): Give correct args to
8794 run_pre_post_conversion_on_str.
8795 (encode_coding_string): Likewise.
8796
eacfd7fe
KH
8797 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8798 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8799 eight-bit-graphic correctly.
8800
f8569325
DL
88012000-05-24 Kenichi HANDA <handa@etl.go.jp>
8802
8803 * fileio.c (Finsert_file_contents): Even if a file is not found,
8804 execute codes for setting up coding system. Call
8805 after-insert-file-functions unconditionally.
8806
04545643
GM
88072000-05-24 Gerd Moellmann <gerd@gnu.org>
8808
8809 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8810 BSD_PGRPS are not defined.
8811
747d90ea
KH
88122000-05-24 Kenichi Handa <handa@etl.go.jp>
8813
8814 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8815 DESCRIPTION.
8816 (syms_of_charset): Avoid building same strings.
8817
716e3b88
GM
88182000-05-23 Gerd Moellmann <gerd@gnu.org>
8819
8820 * lread.c (Fload): Add a comment about the meaning of
8821 Vuser_init_file being t.
8822
8823 * puresize.h (BASE_PURESIZE): Increase to 675000.
8824
8825 * s/gnu-linux.h (setpgrp): Don't define it here because this
8826 prevents compilation on GNU/Linux systems with glib 2.2.
8827
8828 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8829 as setpgid.
427ec082 8830
9aeb39fa
EZ
88312000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8832
8833 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8834 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8835 version.
8836 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8837
29ced61b
KH
88382000-05-23 Kenichi Handa <handa@etl.go.jp>
8839
52283633 8840 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8841
3d80f24d
KH
8842 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8843
52283633 8844 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8845
29ced61b
KH
8846 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8847
d7e00792
KH
88482000-05-22 Kenichi Handa <handa@etl.go.jp>
8849
c9d80d38
KH
8850 * keyboard.c (read_char): Allow character codes 128..255 to be
8851 handled by input-method-function.
8852
d7e00792
KH
8853 * insdel.c (adjust_markers_for_replace): Fix previous change.
8854 (adjust_after_replace): If PREV_TEXT is nil, call
8855 adjust_markers_for_insert, not adjust_markers_for_replace.
8856
087121cc 88572000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8858
087121cc
GM
8859 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8860 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8861 [HAVE_GRANDPT]: Define.
8862 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8863
8864 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8865 like SYSV_PTYS.
8866
8867 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8868
8869 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8870
c9671f81
KH
88712000-05-20 Kenichi Handa <handa@etl.go.jp>
8872
8873 The following changes are to handle 8-bit characters in a
8874 multibyte buffer/string without facing with byte combining
8875 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8876 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8877
8878 * Makefile.in (fns.o): Depend on charset.h.
8879
8880 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8881 convert it to unibyte.
8882 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8883
8884 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8885 apparent char boundary.
8886 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8887 0x80..0x9F to/from multibyte form.
8888
8889 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8890 to unibyte.
8891
8892 * callproc.c (Fcall_process): Always encode an argument string if
8893 it is multibyte. Setup src_multibyte and dst_multibyte members of
8894 process_coding properly.
ce75fd23 8895
c9671f81
KH
8896 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8897 SPLIT_NON_ASCII_CHAR.
8898
8899 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8900 as is.
8901 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8902
52283633 8903 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8904 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8905 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8906 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8907 and eight-bit-graphic.
8908 (char_to_string): Likewise. Signal an error for too large
8909 character code.
8910 (char_printable_p): Return 0 for 8-bit characters.
8911 (update_charset_table): Update iso_charset_table only when a final
8912 character is non-negative.
8913 (find_charset_in_text): Renamed from find_charset_in_str.
8914 Arguments and return value changed. Callers changed.
8915 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8916 be -1 if CHARSET is used only internally.
8917 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8918 eight-bit-graphic.
8919 (Fcharset_after): Simplified.
8920 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8921 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8922 (multibyte_chars_in_text): Simplified by assuming there's no
8923 invalid multibyte sequence.
52283633
SM
8924 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8925 (str_as_unibyte): New functions.
8926 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8927 (init_charset_once): Initialization for
8928 LEADING_CODE_8_BIT_CONTROL.
8929 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8930 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8931 eight-bit-control and eight-bit-graphic.
8932
52283633
SM
8933 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8934 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8935 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8936 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8937 (CHARSET_REVERSE_CHARSET): Likewise.
8938 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8939 eight-bit-graphic.
8940 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8941 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8942 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8943 encounter an invalid multibyte sequence.
8944 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8945 sequence is always valid.
8946 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8947 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8948 (CHAR_STRING): For 8-bit characters, call char_to_string.
8949 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8950 multibyte sequence is always valid.
8951 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8952 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8953 (str_as_unibyte): Extern them.
c9671f81 8954 (BCOPY_SHORT): Fix a bug.
52283633 8955 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8956 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8957 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8958 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8959
bd4bde7f 8960 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8961 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8962 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8963 (EMIT_BYTES): New macros.
8964 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8965 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8966 macros deleted.
8967 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8968 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8969 check the validity of multibyte sequence.
8970 (decode_coding_emacs_mule): New function.
8971 (encode_coding_emacs_mule): New macro.
8972 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8973 the source.
8974 (DECODE_ISO_CHARACTER): Just return a character code.
8975 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8976 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8977 EMIT_CHAR to produced decoded characters. Exit the loop only by
8978 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8979 block here.
8980 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8981 only position codes for an invalid character.
8982 (encode_designation_at_bol): Return new destination pointer. 5th
8983 arg DSTP is changed to DST.
8984 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8985 from the source by ONE_MORE_CHAR. Don't handle the case of last
8986 block here.
8987 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8988 macros deleted.
52283633
SM
8989 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8990 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8991 TWO_MORE_BYTES to fetch a byte from the source.
8992 (encode_eol): Pay attention to coding->src_multibyte.
8993 (detect_coding, detect_eol): Preserve members src_multibyte and
8994 dst_multibyte.
8995 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8996 (encoding_buffer_size): Set magnification to 3 for all coding
8997 systems that require encoding.
8998 (ccl_coding_driver): For decoding, be sure that the result is
8999 valid multibyte sequence.
9000 (decode_coding): Initialize coding->errors and coding->result.
9001 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9002 and raw-text, always call decode_eol. Handle the case of last
9003 block here. If not coding->dst_multibyte, convert the resulting
9004 sequence to unibyte.
9005 (encode_coding): Initialize coding->errors and coding->result.
9006 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9007 and raw-text, always call encode_eol. Handle the case of last
9008 block here.
9009 (shrink_decoding_region, shrink_encoding_region): Detect cases
9010 that we can't skip data more rigidly.
9011 (code_convert_region): Setup src_multibyte and dst_multibyte
9012 members of coding. For decoding, if the buffer is multibyte,
9013 convert the source sequence to unibyte in advance. For encoding,
9014 if the buffer is multibyte, convert the resulting sequence to
9015 multibyte afterward.
9016 (run_pre_post_conversion_on_str): New function.
9017 (code_convert_string): Deleted and divided into the following two.
9018 (decode_coding_string, encode_coding_string): New functions.
9019 (code_convert_string1, code_convert_string_norecord): Call one of
9020 above.
9021 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9022 MAKE_NON_ASCII_CHAR.
52283633
SM
9023 (Fset_terminal_coding_system_internal)
9024 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9025 and dst_multibyte members.
9026 (init_coding_once): Initialize iso_code_class with new enum
9027 ISO_control_0 and ISO_control_1.
9028
9029 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9030 devided into ISO_control_0 and ISO_control_1.
9031 (struct coding_system): New members src_multibyte, dst_multibyte,
9032 errors, and result. Delete member fake_multibyte.
9033 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9034 nonzero.
9035 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9036 nonzero.
9037
9038 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9039 (Faset): Likewise.
9040
9041 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9042 multibyte form.
9043 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9044 combining occurs.
9045 (Ftranspose_region): Delete codes for handling byte combining.
9046
9047 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9048 dst_multibyte members of coding. On handling REPLACE on unibyte
9049 buffer, convert the result of decode_coding to unibyte. On
9050 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9051 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9052 multibyteness of the source (buffer or string).
9053
9054 * fns.c (concat): Handle 8-bit characters correctly.
9055 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9056 unibyte in the result.
9057 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9058 valid multibyte form in the result.
9059 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9060 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9061 return -1, signal an error.
9062 (base64_encode_1): New arg MULTIBYTE. Get each character by
9063 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9064 character is found, return -1.
9065 (Fbase64_decode_region): Delete codes for handling byte-combining.
9066 Treat each decoded byte as a unibyte character.
9067 (Fbase64_decode_string): Return unibyte string.
9068 (Fcompare_strings, concat, string_byte_to_char): Use
9069 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9070 FETCH_STRING_CHAR_ADVANCE.
9071 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9072 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9073
9074 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9075 SPLIT_NON_ASCII_CHAR.
9076 (fontset_ref_via_base, fontset_set): Likewise
9077
9078 * insdel.c (adjust_markers_for_record_delete): Deleted.
9079 (adjust_markers_for_insert): Argument changed. Caller changed.
9080 (adjust_markers_for_replace): Likewise.
52283633
SM
9081 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9082 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9083 (copy_text): Delete unused local varialbe c_save. For converting
9084 to multibyte, be sure to make all 8-bit characters in valid
9085 multibyte form.
9086 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9087 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9088 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9089 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9090 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9091 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9092 handling byte combining.
9093 (adjust_before_replace): Deleted.
427ec082 9094
c9671f81
KH
9095 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9096 SPLIT_NON_ASCII_CHAR.
9097 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9098 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9099 (Fkey_description): Likewise.
9100
9101 * lread.c (read1): On reading multibyte string, be sure to make
9102 all 8-bit chararacters in valid multibyte form.
9103 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9104
9105 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9106 unconditionally.
9107
9108 * process.c (Fstart_process): GCPRO current_dir before calling
9109 Ffind_operation_coding_system. Encode arguments here.
9110 (create_process): Don't encode arguments here. Setup
9111 src_multibyte and dst_multibyte members of struct coding.
9112 (read_process_output): Setup src_multibyte and dst_multibyte
9113 members of struct coding. If the output is to multibyte buffer,
9114 always decode the output of the process. Adjust the
52283633 9115 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9116 (send_process): Setup coding->src_multibyte according to the
9117 multibyteness of the source.
9118
52283633 9119 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9120 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9121 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9122
52283633 9123 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9124
9125 * w16select.c (Fw16_set_clipboard_data): Setup members
9126 src_multibyte and dst_multibyte of coding. Adjusted for the
9127 change for find_charset_in_str.
9128 (Fw16_get_clipboard_data): Likewise.
9129
9130 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9131 dst_multibyte of coding.
9132 (x_to_w32_font): Likewise.
9133
9134 * w32select.c (Fw32_set_clipboard_data): Setup members
9135 src_multibyte and dst_multibyte of coding. Adjusted for the
9136 change for find_charset_in_str.
9137 (Fw32_get_clipboard_data): Likewise.
9138
9139 * xdisp.c (get_next_display_element): Handle 8-bit characters
9140 correctly.
52283633
SM
9141 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9142 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9143
9144 * xselect.c (selection_data_to_lisp_data): Setup members
9145 src_multibyte and dst_multibyte of coding. Adjusted for the
9146 change for find_charset_in_str.
9147 (lisp_data_to_selection_data): Likewise.
9148
5f64c9e0
GM
91492000-05-19 Gerd Moellmann <gerd@gnu.org>
9150
52283633 9151 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9152
5f64c9e0
GM
9153 * dispextern.h (Vimage_types): Add extern declaration.
9154
9155 * xdisp.c (Vimage_types): Moved here from xfns.c.
9156 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9157
9158 * xfns.c (Vimages_types): Moved to xdisp.c.
9159 (syms_of_xfns): Move `image-types' to xdisp.c.
9160
9161 * w32fns.c (Vimage_types): Removed.
9162 (syms_of_w32fns): Remove `image-types'.
9163
813086ea
KH
91642000-05-18 Kenichi Handa <handa@etl.go.jp>
9165
9166 * fns.c (map_char_table): Pay attention to character number of
9167 charset. Check the validity of charset at the first level. For
9168 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9169 the default value.
9170
9171 * fontset.c: Include "buffer.h".
9172 (fs_load_font): If the face has fontset, record the face ID in
9173 that fontset.
9174 (Finternal_char_font): New function.
9175 (accumulate_font_info): New function.
9176 (Ffontset_info): Rewritten for the new fontset implementation.
9177 (syms_of_fontset): Register Vdefault_fontset in the first element
9178 of Vfontset_table. Include Vdefault_fontset in
9179 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9180 function.
9181
bdaebbf0
DL
91822000-05-16 Dave Love <fx@gnu.org>
9183
9184 * m/iris5d.h: Deleted -- unused.
9185
cb613bb8
GM
91862000-05-16 Gerd Moellmann <gerd@gnu.org>
9187
b15f3b77
GM
9188 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9189 `invalid' instead of `illegal'.
9190
9191 * indent.c (Fmove_to_column): When ending within a tab, insert
9192 spaces first so that markers at the end of the tab get adjusted.
9193
835c1b36
GM
9194 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9195 buffer list that wasn't selected in that frame.
9196
cb613bb8
GM
9197 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9198 is needed on mescaline, use a 2 char prefix, and call
9199 make_temp_name with second arg non-zero.
9200
9201 * fileio.c (make_temp_name): New function, extracted from
9202 Fmake_temp_name.
9203 (Fmake_temp_name): Use it.
9204
f685bea9
EZ
92052000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9206
52283633 9207 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9208
a1b8d58b
GM
92092000-05-15 Gerd Moellmann <gerd@gnu.org>
9210
9211 * Makefile.in (lisp): Add env.elc.
9212
9213 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9214
a265079f
GM
92152000-05-12 Gerd Moellmann <gerd@gnu.org>
9216
9217 * search.c (Freplace_match): Handle case of `\N' in the
9218 replacement when there's no group N.
9219
da4496b6
GM
92202000-05-11 Gerd Moellmann <gerd@gnu.org>
9221
0ace421a
GM
9222 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9223 of the message to message_dolog.
9224
1172eb8d
GM
9225 * keyboard.c (read_char): Don't clear current message for help
9226 events; let the code handling help events handle this. Change
9227 code detecting help events that should be ignored.
9228
da4496b6
GM
9229 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9230 we're interating over a string.
9231
0623e40f
DL
92322000-05-09 Dave Love <fx@gnu.org>
9233
9234 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9235 that offset before writing. Move gcpro region past call of
9236 Ffile_regular_p.
9237
bae2503b
DL
92382000-05-04 Dave Love <fx@gnu.org>
9239
9240 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9241
ec82fb2f
GM
92422000-05-04 Gerd Moellmann <gerd@gnu.org>
9243
9244 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9245 of inserted characters when BUF equals the current buffer, and PT
9246 is in front of or equal to FROM.
9247
cbf18892
GM
92482000-05-03 Gerd Moellmann <gerd@gnu.org>
9249
4ff40dd0
GM
9250 * xdisp.c (handle_single_display_prop): If display property value
9251 is invalid, or something not supported on the frame, restore
9252 iterator's position to what it was initially. Make sure to return
9253 0 for invalid and unsupported property values.
9254
cbf18892
GM
9255 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9256 that x_per_char_metric returns null.
9257
1b0672c3
GM
92582000-05-02 Gerd Moellmann <gerd@gnu.org>
9259
576da55d
GM
9260 * xterm.h (struct face): Add forward declaration.
9261 (struct image): Ditto.
9262 (image_ascent): Add prototype.
9263
9264 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9265 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9266 image_ascent instead of using IMAGE_ASCENT.
9267
9268 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9269 (IMAGE_ASCENT): Removed.
9270
9271 * xfns.c (Qcenter): New variable.
9272 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9273 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9274 (image_ascent): New function.
9275 (lookup_image): Recognize `:ascent center'.
9276 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9277 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9278 (xbm_load): Don't set image's ascent here.
9279 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9280 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9281 check ascent values here.
9282 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9283 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9284 (syms_of_xfns): Initialize Qcenter.
9285
1b0672c3
GM
9286 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9287 to the limits, increase the limits.
9288
0d7811ed
KH
92892000-05-01 Kenichi Handa <handa@etl.go.jp>
9290
9291 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9292 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9293
a943a5ca
GM
92942000-04-28 Gerd Moellmann <gerd@gnu.org>
9295
9296 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9297 taller than the window.
9298
5dba1e29
KH
92992000-04-28 Kenichi Handa <handa@etl.go.jp>
9300
9301 * xfaces.c (realize_x_face): Fix the argument of the second
9302 xassert. BASE_FACE may not be a face for ASCII.
9303
353964e3
GM
93042000-04-27 Gerd Moellmann <gerd@gnu.org>
9305
c76e04a8
GM
9306 * print.c (print_object): Treat print-length < 0 as nil.
9307
9308 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9309
9310 * s/freebsd.h (TERMCAP_OBJ): Removed.
9311 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9312
9313 * lread.c (read1): Don't treat period followed by certain
9314 characters as symbol start.
9315
9316 * xfns.c (slurp_file): New function.
9317 (xbm_image_p): Handle case of in-memory XBM files.
9318 (xbm_scan): Rewritten to work on memory buffers instead of files.
9319 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9320 Work on memory buffers instead of files. If DATA is null test
9321 if buffer looks like an in-memory XBM file.
9322 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9323 memory buffers instead of files.
9324 (xbm_file_p): New function.
9325 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9326
353964e3
GM
9327 * lread.c (end_of_file_error): New function.
9328 (read1): Call it instead of signaling `end-of-file' directly.
9329
427ec082 9330 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9331 with Fprinc instead of Fprin1.
9332
24d744ac
KR
93332000-04-26 Ken Raeburn <raeburn@gnu.org>
9334
9335 * window.c (freeze_window_start): Check that minibuffer scroll
9336 window isn't nil before extracting the window structure pointer
9337 from it.
9338
9339 * undo.c (record_delete): If we hit the end of the undo list, stop
9340 picking elements apart.
9341
7464346d
GM
93422000-04-26 Gerd Moellmann <gerd@gnu.org>
9343
9344 * xdisp.c (display_line): If lines are continued, restore
9345 iterator's ascent/descent information to the values before the
9346 first glyph not fitting on the line.
9347
612839b6
GM
93482000-04-25 Gerd Moellmann <gerd@gnu.org>
9349
9350 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9351 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9352
9353 * dispnew.c (increment_matrix_positions): Renamed from
9354 increment_glyph_matrix_buffer_positions.
9355 (increment_row_positions): Renamed from
9356 increment_glyph_row_buffer_positions.
9357
9358 * dispextern.h: Change names of renamed functions from dispnew.c
9359 in prototypes.
9360
cc181e95
GM
93612000-04-24 Gerd Moellmann <gerd@gnu.org>
9362
abfcc168
GM
9363 * fileio.c (Fdo_auto_save): Create directories for auto-save
9364 list file if necessary.
9365
cc181e95
GM
9366 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9367 from buffer or frame.
9368 (automatic_hscrolling_p): New variable.
9369 (hscroll_windows): Scroll windows horizontally only if automatic
9370 hscrolling is allowed.
9371 (syms_of_xdisp): New variable `automatic-hscrolling'.
9372
9373 * frame.h (struct frame): Add member extra_line_spacing.
9374
9375 * xfns.c (x_set_line_spacing): New function.
9376 (Fx_create_frame): Set line spacing from resources.
9377 (Qline_spacing): New variable.
9378 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9379
cc181e95
GM
9380 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9381
9382 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9383 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9384 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9385 extra_line_spacing from default value.
9386 (init_buffer_once): Initialize default value of extra_line_spacing.
9387
9388 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9389 and extra3.
9390
9391 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9392 prompt_width. Add extra line spacing.
9393
9394 * term.c (produce_glyphs): Remove reference to struct it's
9395 prompt_width.
9396
9397 * dispextern.h (struct it): Remove member prompt_width, add
9398 extra_line_spacing.
9399
58827478
GM
94002000-04-22 Gerd Moellmann <gerd@gnu.org>
9401
9402 * dispnew.c (update_frame_line): When writing a whole line, make
9403 sure cursor is in the right row afterwards, otherwise a use of
9404 capability `ch' in cmgoto might leave the cursor in the row below.
9405
25a87f42
GM
94062000-04-21 Gerd Moellmann <gerd@gnu.org>
9407
9408 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9409
9410 * keyboard.c (timer_check): Fix typo in comment.
9411
54edf5c2
KH
94122000-04-21 Kenichi Handa <handa@etl.go.jp>
9413
9414 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9415 name change: ch -> character.
9416
3a64eef5
GM
94172000-04-20 Gerd Moellmann <gerd@gnu.org>
9418
9419 * keyboard.c (echo_message_buffer): New variable.
9420 (echo_now): Set echo_message_buffer to the echo area buffer used
9421 to display the echo.
9422 (cancel_echoing): Reset echo_message_buffer to nil.
9423 (read_char): Code rewritten that handles canceling an echo or
9424 echoing a dash, respectively.
9425
9426 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9427 directory doesn't exist.
9428
6142fdcb
DL
94292000-04-19 Dave Love <fx@gnu.org>
9430
9431 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9432 (concat): Don't allow numeric args.
9433 (Fconcat): Doc change.
6142fdcb 9434
ac6b5352
SM
94352000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9436
9437 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9438 instead define end_match(1|2) more carefully.
9439 Use GET_CHAR_BEFORE_2 for `begline'.
9440
cb9215e4
GM
94412000-04-19 Gerd Moellmann <gerd@gnu.org>
9442
5e3dac3f
GM
9443 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9444 on 64-bit systems where NULL is defined as `0'.
9445
9446 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9447 the `variable argument list' to make it work on Alpha.
9448
cb9215e4
GM
9449 * m/alpha.h (_LP64) [!_LP64]: Define.
9450 (ORDINARY_LINK): Define for NetBSD.
9451
9452 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9453
f532dca0
DL
94542000-04-19 Dave Love <fx@gnu.org>
9455
c750667e
DL
9456 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9457 change.
9458
9459 * Makefile.in (LIBS): Don't use.
9460 (GETLOADAVG_OBJ): Define again.
9461 (otherobj): Add GETLOADAVG_OBJ.
9462
f532dca0
DL
9463 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9464
1c7e22fd
GM
94652000-04-18 Gerd Moellmann <gerd@gnu.org>
9466
f6d3257b
GM
9467 * lread.c (read_filtered_event): Cancel and start busy cursor.
9468
427ec082 9469 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9470 that the per-character metrics may be null.
9471
e10f64e7
GM
94722000-04-17 Gerd Moellmann <gerd@gnu.org>
9473
0daee095
GM
9474 * buffer.c (clone_per_buffer_values): New function.
9475 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9476 clone_per_buffer_values if CLONE is not nil.
9477
e10f64e7
GM
9478 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9479
38687d43
DL
94802000-04-16 Dave Love <fx@gnu.org>
9481
9482 * Makefile.in: Remove obsolete localcpp stuff.
9483 (GETLOADAVG_OBJ): Don't define.
9484 (obj): Move LIBOBJS...
9485 (otherobj): ... to here.
9486 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9487 whitespace-only lines after the continuation (Irix).
9488
c21c7262
GM
94892000-04-14 Gerd Moellmann <gerd@gnu.org>
9490
9491 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9492
9493 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9494
314767c0
DL
94952000-04-14 Dave Love <fx@gnu.org>
9496
9497 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9498 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9499 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9500 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9501 NLIST_STRUCT.
9502
9503 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9504 autoconfiscated HAVE_GETLOADAVG.
9505
9506 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9507 BROKEN_MKTIME.
9508
a2522dca
GM
95092000-04-14 Gerd Moellmann <gerd@gnu.org>
9510
9511 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9512 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9513
33744b5d
DL
95142000-04-14 Dave Love <fx@gnu.org>
9515
c21c7262 9516 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9517 (INTERVAL_SRC): Convert to make variable.
9518 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9519 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9520 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9521 add LIBOBJS.
9522 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9523 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9524 (shortlisp): Add facemenu, float-sup, frame.
9525 (SOME_MACHINE_LISP): Remove them from here.
9526 (LIBES): Change unused LDLIBS to autoconf LIBS.
9527
9528 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9529
9d3d5916
KH
95302000-04-14 Kenichi Handa <handa@etl.go.jp>
9531
9532 * composite.c (update_compositions): If FROM and TO are not in a
9533 valid range, do nothing.
9534
198e3c7a
GM
95352000-04-13 Gerd Moellmann <gerd@gnu.org>
9536
52283633 9537 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9538
52283633 9539 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9540
9541 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9542 as TERMCAP_OBJ.
9543
055a28c9
EZ
95442000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9545
9546 * fileio.c (a_write): Remove redundant semi-colons.
9547 (e_write): Return -1 if failed to write all the data.
9548 This fixes the changes made at 1999-12-15.
9549
f5c75033
DL
95502000-04-12 Dave Love <fx@gnu.org>
9551
9552 * fns.c (mapcar1): Test for null vals to support mapc.
9553 (Fmapc): New function.
9554
0c3cfc51
EZ
95552000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9556
9557 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9558 (IT_frame_up_to_date): Support the buffer local value of
9559 cursor-type, if defined.
9560
33465a31
DL
95612000-04-10 Dave Love <fx@gnu.org>
9562
9563 * editfns.c (preceding-char, following-char): Doc fix.
9564
6ed56568
KR
95652000-04-10 Ken Raeburn <raeburn@gnu.org>
9566
9567 * Makefile.in (temacs): Revert 2000-03-12 change.
9568
7cf80d4e
JR
95692000-04-10 Jason Rumney <jasonr@gnu.org>
9570
9571 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9572
34f3f342
GM
95732000-04-10 Gerd Moellmann <gerd@gnu.org>
9574
1a1b1895
GM
9575 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9576 area buffer, if it's not set up yet.
9577
34f3f342
GM
9578 * indent.c (compute_motion): Set immediate_quit.
9579
be0dbdab
GM
95802000-04-09 Gerd Moellmann <gerd@gnu.org>
9581
52283633 9582 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9583 (realize_tty_face): Suppress boldness if colors are the inverse of
9584 the default colors, and tty_suppress_bold_inverse_default_colors_p
9585 is set.
9586 (Ftty_suppress_bold_inverse_default_colors): New function.
9587 (syms_of_xfaces): Defsubr it.
9588
be0dbdab
GM
9589 * buffer.c (Frestore_buffer_modified_p): New function.
9590 (syms_of_buffer): Defsubr it.
9591
e8413c3b
KR
95922000-04-08 Ken Raeburn <raeburn@gnu.org>
9593
87f67317
KR
9594 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9595 charset id (int) argument, not a charset (Lisp_Object).
9596
e8413c3b
KR
9597 * coding.h (code_convert_string): Declare.
9598 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9599 object, as the fourth argument to code_convert_string.
9600
52283633 9601 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9602 (Fset_fontset_font): Use EQ to compare lisp objects.
9603
7c752c80
KR
96042000-04-05 Ken Raeburn <raeburn@gnu.org>
9605
c0333abc
KR
9606 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9607 a pointer that looks like a lisp object.
9608 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9609 zero, instead see whether it's an integer object, since they can't
9610 have intervals.
9611 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9612
52283633
SM
9613 * dispnew.c (allocate_matrices_for_frame_redisplay)
9614 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9615 to convert between (unsigned) int values and lisp integers.
9616 * keyboard.c (read_key_sequence): Likewise.
9617 * lread.c (substitute_object_recurse): Likewise.
9618 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9619 * minibuf.c (do_completion, Fminibuffer_complete_word)
9620 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9621 * term.c (produce_special_glyphs): Likewise.
9622
9623 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9624 * print.c (print_preprocess, print_object): Likewise.
9625
9626 * search.c (compile_pattern): Use NILP when checking for nil.
9627
74e49b38
KR
9628 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9629 __OPTIMIZE__]: Provide a GNU C macro version that handles
9630 lisp-object unions.
9631 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9632 field, to better cope with ENABLE_CHECKING and calls that modify a
9633 Lisp_Object using its old value.
9634
685e5ed2
GM
96352000-04-04 Gerd Moellmann <gerd@gnu.org>
9636
c407c570
GM
9637 * window.c (compare_window_configurations): Signal an error
9638 if parameters C1 or C2 aren't window configurations.
9639
685e5ed2
GM
9640 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9641 AFTER_POTENTIAL_GC calls around calls to functions that can
9642 signal an error and thus invoke the debugger.
9643
587a49ab
GM
96442000-04-03 Gerd Moellmann <gerd@gnu.org>
9645
62f20204
GM
9646 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9647 an error if decoding fails.
9648
587a49ab
GM
9649 * keyboard.c (lispy_mouse_names): Variable removed.
9650 (Vlispy_mouse_stem): New variable.
9651 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9652 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9653 for any mouse button number. Increase size of mouse_syms and
9654 button_down_location as needed. Call modify_event_symbol with
9655 different arguments.
9656 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9657 Call modify_event_symbol with different arguments.
9658 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9659 for any button number. Call modify_event_symbol with different
9660 arguments.
9661 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9662 Accept a string for NAME_ALIST_OR_STEM.
9663
9664 * lisp.h (larger_vector): Add prototype.
9665
9666 * fns.c (larger_vector): Make externally visible.
9667
9668 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9669
2d1675e4
SM
96702000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9671
9672 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9673 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9674 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9675 we are between str1 and str2.
9676 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9677 (PATFETCH): Use `TRANSLATE'.
9678 (PATFETCH_RAW): Fetch multibyte char if applicable.
9679 (PATUNFETCH): Remove.
9680 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9681 When writing a char, write it directly into the pattern buffer rather
9682 than going needlessly through a temp char-array.
9683 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9684 multibyte magic and remove the useless `#ifdef emacs'.
9685 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9686 buffer.
9687
9688 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9689 conditional on `emacs'.
9690
9691 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9692
cc2d8c6b
KR
96932000-04-01 Ken Raeburn <raeburn@gnu.org>
9694
9695 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9696 non-union-type versions of XMARK and friends here, because XMARK
9697 and friends won't work on an integer field if NO_UNION_TYPE is not
9698 defined.
52283633 9699 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9700
52283633 9701 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9702 (syms_of_composite): Delete local var NARGS, pass an int as first
9703 argument to Fmake_hash_table.
9704
2387b382
KR
9705 * editfns.c (text_property_stickiness): Use NILP to test
9706 Lisp_Object boolean value.
9707 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9708 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9709 problems reading from and changing the same lisp value in an
9710 XSETSTRING call.
9711
27660e89
GM
97122000-04-01 Gerd Moellmann <gerd@gnu.org>
9713
9714 * term.c (TN_no_color_video): New variable.
9715 (term_init): Intitialize TN_no_color_video.
9716 (enum no_color_bit): New enumeration.
9717 (MAY_USE_WITH_COLORS_P): New macro.
9718 (turn_on_face): Use it to determine if attributes may be used
9719 combined with colors.
9720
3578db3c
KR
97212000-04-01 Ken Raeburn <raeburn@gnu.org>
9722
9723 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9724 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9725 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9726 proper accessor macros.
9727 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9728 (grow_mini_window): Fix typo getting int value of root->height.
9729
6fc556fd
KR
9730 * xdisp.c (compute_string_pos): Fix order of arguments to
9731 string_pos_nchars_ahead.
9732 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9733 count arg to variable-arg routines like Frun_hook_with_args and
9734 Fformat.
587a49ab
GM
9735 (back_to_previous_visible_line_start)
9736 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9737 fixed-arg routines like Fget_char_property and Fmake_string.
9738 (reconsider_clip_changes): Use XINT when comparing integer lisp
9739 objects, or passing them as int arguments.
587a49ab
GM
9740 (mark_window_display_accurate, insert_left_trunc_glyphs)
9741 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9742 storing or passing integer values as lisp objects.
9743 (set_cursor_from_row, highlight_trailing_whitespace): Use
9744 INTEGERP, not implicit test against zero, for glyph object.
9745 (try_window_id): Don't use make_number when we want an int value.
9746
9747 * xfaces.c (xlfd_symbolic_value): Make last argument a
9748 Lisp_Object, to be consistent with callers.
9749 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9750 (lface_hash): Apply XFASTINT to lisp values before folding in.
9751
9752 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9753 fill in window width and height. Pass an int, not a lisp object,
9754 as first arg to Finsert.
9755
6e7b2457
GM
97562000-04-01 Gerd Moellmann <gerd@gnu.org>
9757
610d841e
GM
9758 * xfaces.c (realize_basic_faces): Block input while realizing
9759 the faces.
9760
6e7b2457
GM
9761 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9762
9763 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9764
aa110c0c
GM
97652000-03-31 Gerd Moellmann <gerd@gnu.org>
9766
9767 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9768 or ASCII, handle case that per-char metric is null.
aa110c0c 9769
8801a864
KR
97702000-03-30 Ken Raeburn <raeburn@gnu.org>
9771
c6129d7e
KR
9772 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9773
52283633
SM
9774 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9775 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9776 pointer, using eassert.
9777 * frame.h (XFRAME): Likewise.
9778
52283633
SM
9779 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9780 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9781 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9782 * data.c (set_internal): Likewise.
52283633
SM
9783 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9784 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9785 * fileio.c (auto_save_1): Likewise.
9786 * insdel.c (check_markers): Likewise.
9787 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9788 * undo.c (record_insert): Likewise.
9789 * vmsproc.c (child_sig): Likewise.
9790 * window.c (unshow_buffer, window_loop): Likewise.
9791 * xterm.c (x_erase_phys_cursor): Likewise.
9792
8e7af858
GM
97932000-03-30 Gerd Moellmann <gerd@gnu.org>
9794
9795 * xfns.c (free_image_cache): Free the cache structure itself
9796 last, after all its members have been freed.
9797
9798 * lisp.h (xstrdup): Add prototype.
9799
9800 * alloc.c (xstrdup): Moved here from xfaces.c.
9801 (allocating_for_lisp): Variable removed.
52283633 9802 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9803
9804 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9805 of Fsymbol_value.
9806 (xstrdup): Moved to alloc.c.
9807
e0b8c689
KR
98082000-03-29 Ken Raeburn <raeburn@gnu.org>
9809
b96f9fb7
KR
9810 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9811
9812 * emacs.c (main): Fix sense of no-loadup test.
9813
e0b8c689
KR
9814 * config.in (ENABLE_CHECKING): Undef.
9815
9816 * lisp.h (struct interval): Replace "parent" field with a union of
9817 interval pointer and Lisp_Object; add new bitfield to use as
9818 discriminant. Change other flag fields to bitfields.
9819 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9820 is defined and the supplied test fails, print a message and abort.
9821 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9822
9823 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9824 pointers; abort if the value looks like a lisp object.
52283633
SM
9825 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9826 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9827 Modify for new interval parent definition.
9828
52283633
SM
9829 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9830 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9831 addressable lisp object in the interval structure.
9832 (die): New function.
9833 (suppress_checking): New variable.
9834
9835 * intervals.c (interval_start_pos): Just return 0 if there's no
9836 parent object.
9837
f83c5440
GM
98382000-03-29 Gerd Moellmann <gerd@gnu.org>
9839
9840 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9841 and earlier Emacs versions.
9842
9843 * keyboard.c (Ftop_level): Cancel busy-cursor.
9844
9845 * eval.c (call_debugger): Cancel busy-cursor.
9846
fdce64ff
KH
98472000-03-29 Kenichi Handa <handa@etl.go.jp>
9848
9849 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9850 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9851
f6a3f532
SM
98522000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9853
9854 * regex.c (analyse_first): New function obtained by ripping out most
9855 of re_compile_fastmap and generalizing it a little bit so that it
9856 can also just return whether a given (sub)pattern can match the empty
9857 string or not.
9858 (regex_compile): Use `analyse_first' to decide whether the loop-check
9859 needs to be done or not for *, +, *? and +? (the loop check is costly
9860 for non-greedy repetition).
9861 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9862
e9b309ac
DL
98632000-03-28 Dave Love <fx@gnu.org>
9864
52283633 9865 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9866
e9b309ac
DL
9867 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9868
ed0767d8
SM
98692000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9870
9871 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9872 an expression.
9873 (enum re_opcode_t): Update description of succeed_n.
9874 (PATFETCH): Always define.
9875 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9876 operators, char classes, shy-groups and intervals).
9877 Optimize special cases of intervals so as to only use succeed_n and
9878 jump_n when really needed.
9879 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9880 that we don't have to handle the special cases any more.
9881 Simplify on_failure_jump handling as well.
9882
e11e7e46
JR
98832000-03-28 Jason Rumney <jasonr@gnu.org>
9884
9885 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9886
88faab89
GM
98872000-03-27 Gerd Moellmann <gerd@gnu.org>
9888
182ff242
GM
9889 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9890
9891 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9892
182ff242
GM
9893 * alloc.c (mark_maybe_object): New function.
9894 (mark_memory): Use it.
9895 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9896 (setjmp_tested_p, longjmp_done): New variables.
9897 (test_setjmp): New function.
9898 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9899 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9900
c1005d06
GM
9901 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9902 to DEC_TEXT_POS and INC_TEXT_POS.
9903
9904 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9905 with parameter MULTIBYTE_P.
9906
52283633 9907 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9908
7439e5b9 9909 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9910 buffers because it looks for multibyte character byte sequences
9911 which don't exist in unibyte text.
7439e5b9 9912
d9c545da
GM
9913 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9914
11fd416e 9915 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9916 [DEBUG_X_COLORS]: New functions.
9917 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9918
9919 * xfns.c (x_set_cursor_color): Get color reference counts right.
9920
9921 * xterm.c (x_copy_color): New function.
9922 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9923
9924 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9925 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9926 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9927 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9928 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9929 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9930 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9931 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9932 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9933 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9934
11fd416e
GM
9935 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9936 names for handling per-buffer variables.
d9c545da
GM
9937
9938 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9939 instead of MAX_BUFFER_LOCAL_VARS.
9940 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9941
9942 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9943
88faab89
GM
9944 * xfns.c (x_specified_cursor_type): New function.
9945 (x_set_cursor_type): Use it.
9946
9947 * buffer.h (struct buffer): Add cursor_type.
9948
d80f42b7
SM
99492000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9950
9951 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9952 (print_partial_compiled_pattern, re_compile_fastmap):
9953 Handle new opcode.
d80f42b7
SM
9954 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9955 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9956 executing it as well as when popping it off the stack to find infinite
9957 loops in non-greedy repetition operators.
9958
89e80928
GM
99592000-03-26 Gerd Moellmann <gerd@gnu.org>
9960
3d4ff2dd
GM
9961 * doc.c (Qfunction_documentation): New variable.
9962 (syms_of_doc): Initialize Qfunction_documentation.
9963 (Fdocumentation): If FUNCTION is a symbol with non-nil
9964 `function-documentation' property, return a documentation derived
9965 from that.
9966
bd96bd79
GM
9967 * buffer.c (syms_of_buffer): Add default-cursor-type.
9968 (init_buffer_once): Don't let cursor_type have a local value
9969 in every buffer.
9970
19d1bc27
GM
9971 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9972 on buffer-local value of cursor_type.
9973 (x_draw_bar_cursor): Add parameter WIDTH.
9974
9975 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9976 (init_buffer_once): Set default cursor_type value to t.
9977 Mark cursor_type as local everywhere.
9978 (syms_of_buffer): New per-buffer variable cursor-type.
9979
89e80928
GM
9980 * buffer.h (struct buffer): Remove member local_var_flags,
9981 add local_flags.
9982 (MAX_BUFFER_LOCAL_VARS): New macro.
9983 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9984 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9985 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9986 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9987
52283633 9988 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9989
9990 * category.c (Fset_category_table): Use new macros for per-buffer
9991 variables.
9992
9993 * buffer.c (buffer_permanent_local_flags): Make a char array.
9994 (max_buffer_local_idx): New variable.
9995 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9996 for new handling of per-buffer variables.
9997 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9998 (init_buffer_once): Initialize per-buffer vars differently.
9999 Set max_buffer_local_idx.
10000
10001 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10002 variables.
10003
52283633 10004 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10005
10006 * data.c (do_symval_forwarding, store_symval_forwarding)
10007 (find_symbol_value, set_internal, default_value, Fset_default)
10008 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10009 per-buffer variables.
10010
10011 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10012
9a0dd3dc
GM
100132000-03-24 Gerd Moellmann <gerd@gnu.org>
10014
b68c375f
GM
10015 * xterm.c (x_term_init): Unblock input around call1 of
10016 Qvendor_specific_keysyms.
10017
9a0dd3dc
GM
10018 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10019 (find_defun_start): Consider an open parenthesis in column 0
10020 a defun start only if open_paren_in_column_0_is_defun_start is set.
10021 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10022
7973e637
SM
100232000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10024
10025 * eval.c (Fautoload): Add entry in load-history (if after dump).
10026 * lread.c (load-history): Update docstring.
10027
39210e90
GM
100282000-03-24 Gerd Moellmann <gerd@gnu.org>
10029
10030 * indent.c (Fvertical_motion): Always use the current buffer.
10031 Temporarily change the window's buffer, if necessary.
10032
72db3ab5
GM
100332000-03-23 Gerd Moellmann <gerd@gnu.org>
10034
10035 * xterm.c (fast_find_position): Make sure not to consider rows
10036 not visible in the window.
10037
990b2375
SM
100382000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10039
10040 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10041 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10042
ff4df011
JR
100432000-03-22 Jason Rumney <jasonr@gnu.org>
10044
10045 * w32menu.c (single_submenu): Set help string to NULL if none.
10046 (w32_menu_show): Set help string correctly.
10047 (add-menu-item): Set help string in MIIM_DATA for menu item.
10048 Load SetMenuItemInfoA explicitly.
10049 (w32_menu_display_help): New function.
427ec082 10050
ff4df011
JR
10051 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10052 (QCdata): Moved to xdisp.c.
10053
10054 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10055 (Vw32_charset_to_codepage_alist): Removed.
10056 (Vw32_charset_info_alist): New variable.
52283633
SM
10057 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10058 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10059 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10060 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10061 with TODO comment.
10062 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10063 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10064 Define Vw32_charset_info_alist and w32_charset symbols.
10065
100662000-03-22 Jason Rumney <jasonr@gnu.org>
10067
10068 * makefile.nt (w32bdf.obj): Update dependencies.
10069
10070 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10071
10072 * w32fns.c: Include fontset.h after dispextern.h.
10073 (Fx_create_frame): Do not create fontset.
10074 (w32_load_system_font): Doc fix.
10075 (Fx_close_connection): Free full_name if it is not shared.
10076
10077 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10078 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10079 Callers updated.
ff4df011
JR
10080 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10081 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10082 (w32_font_is_double_byte): New function, needs body.
10083 (x_append_glyph): Set glyph->glyph_not_available_p.
10084 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10085 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10086 character, convert it to a unibyte character.
10087 (struct glyph_string): Delete member `charset'.
10088 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10089 calculating it is found.
10090 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10091 the case that per char metric is not available correctly.
10092 (x_fill_glyph_string): Handle the case that the specific glyph is
10093 not available correctly.
10094 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10095 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10096 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10097 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10098 fontset. Don't call FS_LOAD_FONT.
10099
439d5cb4
KR
101002000-03-22 Ken Raeburn <raeburn@gnu.org>
10101
10102 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10103 (INT_LISPLIKE): New macro.
10104 (NULL_INTERVAL_P): Use it.
52283633
SM
10105 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10106 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10107 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10108
10109 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10110 explicit references to "parent" field of struct interval and
10111 associated unclean type conversions.
52283633
SM
10112 * intervals.c (create_root_interval, root_interval, rotate_right)
10113 (rotate_left, balance_possible_root_interval, split_interval_right)
10114 (split_interval_left, interval_start_pos, find_interval)
10115 (next_interval, previous_interval, update_interval)
10116 (adjust_intervals_for_insertion, delete_node, delete_interval)
10117 (adjust_intervals_for_deletion, merge_interval_right)
10118 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10119 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10120 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10121 Likewise.
10122 * syntax.c (update_syntax_table): Likewise.
10123
10124 * intervals.c (reproduce_tree_obj): New function, like
10125 reproduce_tree but takes a Lisp_Object for the parent. Declare
10126 with prototype.
10127 (graft_intervals_into_buffer): Use it when appropriate.
10128 (reproduce_tree): Declare with prototype.
10129 (balance_possible_root_interval): Check that the parent is a lisp
10130 object before trying to examine its type.
10131
ee1c5b21
GM
101322000-03-22 Gerd Moellmann <gerd@gnu.org>
10133
10134 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10135 as strings only if both are known to be strings.
10136
10137 * s/openbsd.h (LIBS_TERMCAP): Undef.
10138
1fb352e0
SM
101392000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10140
10141 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10142 definitions for non-Emacs compilation.
10143 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10144 outside of `#ifdef emacs'.
10145 (print_partial_compiled_pattern): Update.
10146 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10147 (re_compile_fastmap): Merge handling of charset and charset_not (for
10148 emacs and non-emacs compilation as well).
10149 Similarly for (not)categoryspec and (not)syntaxspec.
10150 Don't use the fastmap when reaching `anychar' since the added
10151 complexity is not justified.
10152 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10153 and (not)syntaxspec. Merge (not)categoryspec.
10154
fdaa1f77
KH
101552000-03-22 Kenichi Handa <handa@etl.go.jp>
10156
52283633
SM
10157 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10158 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10159 --without-x.
fdaa1f77 10160
d152fb46
DL
101612000-03-21 Dave Love <fx@gnu.org>
10162
10163 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10164 doc string.
10165
d2cafc8c
GM
101662000-03-21 Gerd Moellmann <gerd@gnu.org>
10167
10168 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10169 (lface_fully_specified_p): Don't check contents of
10170 LFACE_FONT_INDEX because that attribute is optional.
10171 (realize_x_face): Remove now unwarranted xassert.
10172
9111d4b5
KH
101732000-03-21 Kenichi HANDA <handa@etl.go.jp>
10174
10175 The following changes are to make font selection based on
10176 characters, not charset. In addition, they recover fontset
10177 facilities while utilizing the new font selection mechanism.
10178
6c4bfdc0
KH
10179 * Makefile.in (fontset.o): Depend on dispextern.h.
10180
10181 * alloc.c (mark_face_cache): Don't mark face->registry.
10182
9111d4b5
KH
10183 * dispextern.h (struct glyph): New member glyph_not_available_p.
10184 Use 22 bits for face_id.
10185 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10186 (struct face): Delete member registry, new member ascii_face.
10187 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10188 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10189 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10190 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10191
10192 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10193 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10194 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10195 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10196 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10197 (fs_free_face_fontset, fontset_font_pattern)
10198 (face_suitable_for_char_p, face_for_char)
10199 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10200 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10201 (FS_LOAD_FACE_FONT): New macro.
10202
10203 * fontset.c: All codes rewritten or adjusted for the change of
10204 fontset implementation. Now fontset is represented by char table.
52283633
SM
10205 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10206 Variables removed.
9111d4b5 10207 (my_strcasecmp): Function removed.
52283633 10208 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10209 (AREF, ASIZE): New macros.
52283633
SM
10210 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10211 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10212 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10213 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10214 (fontset_id_valid_p, font_family_registry, fontset_name)
10215 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10216 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10217 New functions.
10218 (fs_load_font): New arg FACE. Caller changed.
10219 (fs_query_fontset): Argument changed. Caller changed.
10220 (Fquery_fontset): call fs_query_fontset.
10221 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10222 Functions removed.
52283633
SM
10223 (clear_fontset_elements, check_registry_encoding)
10224 (check_fontset_name): New functions.
9111d4b5
KH
10225 (syms_of_fontset): Set char-table-extra-slots property of fontset
10226 to 3. Staticpro and initialize Vfontset_table and
10227 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10228
10229 * frame.h (struct frame): Member `fontset_data' removed.
10230 (FRAME_FONTSET_DATA): Macro removed.
10231
10232 * frame.c (make_frame): Don't allocate f->fontset_data.
10233 (Fdelete_frame): Don't free f->fontset_data.
10234
6c4bfdc0
KH
10235 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10236
9111d4b5
KH
10237 * xdisp.c (charset_at_position): Function removed.
10238 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10239 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10240 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10241 Likewise.
10242 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10243 FACE_FOR_CHARSET.
52283633
SM
10244 (get_next_display_element, append_space)
10245 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10246
10247 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10248 Variables removed.
10249 (clear_font_table, frame_update_line_height, load_face_font):
10250 Adjusted for the change of fontset implementation.
10251 (load_face_fontset_font): Function removed.
10252 (pixel_point_size): New function.
10253 (font_list): Argument type changed. Caller changed.
10254 (LFACE_FONT): New macro.
10255 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10256 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10257 Lisp_Object. Determine the font name by actually loading a font
10258 by the specified pattern. Set LFACE_FONT (lface) to the specified
10259 pattern. Even if a font is not found, don't try alternatives.
10260 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10261 (set_font_frame_param): If `font' is specified in lface, use it.
10262 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10263 (lface_same_font_attributes_p): Likewise.
10264 (make_realized_face): Arguent changed. Caller changed. Set
10265 face->ascii_face to face itself.
10266 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10267 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10268 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10269 (free_realized_multibyte_face): New function.
10270 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10271 changed. Caller changed.
10272 (try_font_list): Argument type changed.
10273 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10274 (choose_face_font): Argument changed. Handle fontset properly.
10275 (choose_face_fontset_font): Function removed.
10276 (realize_default_face, realize_named_face): Don't remove the
10277 former face here.
10278 (realize_face): Argument changed. Caller changed. Remove face
52283633 10279 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10280 (realize_x_face): Argument changed. Caller changed. For a
10281 multibyte character, share fontset with base_face. For a single
52283633 10282 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10283 (realize_tty_face): Argument changed. Caller changed.
10284 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10285 (face_at_buffer_position): Don't check multibyte_p for returning
10286 DEFAULT_FACE_ID.
10287 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10288 FACE_SUITABLE_FOR_CHARSET_P.
10289 (syms_of_xfaces): Remove code for Qx_charset_registry and
10290 Vface_default_registry.
10291
6c4bfdc0
KH
10292 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10293 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10294 (x_per_char_metric): Don't try FONT->default_char. Even if
10295 pcm->width is zero, glyph bits may exist.
10296 (x_encode_char): Always initialize char2b->byte1.
10297 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10298 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10299 (x_append_glyph): Set glyph->glyph_not_available_p.
10300 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10301 it->charset. Handle the case that per char metric is not
10302 available. If it->multibyte_p is zero and it->c is a multibyte
10303 character, convert it to a unibyte character.
10304 (struct glyph_string): Delete member `charset'.
10305 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10306 the case that per char metric is not available correctly.
10307 (x_fill_glyph_string): Handle the case that the specific glyph is
10308 not available correctly.
10309 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10310 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10311 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10312 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10313 fontset. Don't call FS_LOAD_FONT.
10314
10315 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10316 (x_create_tip_frame): Likewise.
10317 (Fx_close_connection): Free full_name of font_info.
10318
10319 * fns.c (optimize_sub_char_table): New function.
10320 (Foptimize_char_table): New function.
10321 (syms_of_fns): Defsubr Soptimize_char_table.
10322
b33dd3b0
GM
103232000-03-20 Gerd Moellmann <gerd@gnu.org>
10324
10325 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10326 only if buffer is displayed in some window.
10327
10328 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10329 (try_window_reusing_current_matrix): Don't call scroll run
10330 function if run's current and desired position are the same;
10331 this prevents cursor flickering.
10332
4e8a9132
SM
103332000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10334
10335 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10336
10337 * regex.c (RE_STRING_CHAR): New macro.
10338 (GET_CHAR_AFER_2): Remove.
10339 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10340 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10341 (print_partial_compiled_pattern, re_compile_fastmap)
10342 (re_match_2_internal): Remove on_failure_jump_exclusive.
10343 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10344 optimization only need to work for * (ie. can use of_keep_string_jump).
10345 Remove the special case for .*\n since it is now covered by the general
10346 optimization.
10347 (re_search_2): Don't bother with `room'.
10348 (skip_one_char): New function.
10349 (skip_noops): Simplify since `memory' is not needed any more.
10350 (mutually_exclusive_p): Restructure slightly to use `switch' and
10351 add handling for "all" remaining cases.
10352 (re_match_2_internal): Change on_failure_jump_smart to use
10353 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10354 rather than on_failure_jump_exclusive.
10355
2136fdd4
GM
103562000-03-19 Gerd Moellmann <gerd@gnu.org>
10357
10358 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10359 number of bits per RGB because it's everywhere used as the depth
10360 of the visual.
10361
10362 * term.c (calculate_costs): Remove code dealing with X frames.
10363
18e21ce8 103642000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10365
10366 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10367
d7b511c4
GM
103682000-03-18 Gerd Moellmann <gerd@gnu.org>
10369
10370 * lread.c (read_integer): Unread the last char not consumed.
10371
16b5d424
GM
103722000-03-17 Gerd Moellmann <gerd@gnu.org>
10373
10374 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10375 which are in the process of being deleted.
16b5d424 10376
1fa28578
GM
103772000-03-16 Gerd Moellmann <gerd@gnu.org>
10378
83488cce
GM
10379 * Makefile.in (mostlyclean): Add `*.core'.
10380 (clean): Add `bootstrap-emacs'.
10381
1fa28578
GM
10382 * lread.c (read_integer): New function.
10383 (read1): Support read syntax #o, #x, #b, #r.
10384
99633e97
SM
103852000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10386
1fa28578
GM
10387 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10388 make sure POINTER_TO_OFFSET gives the same value before and after
10389 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10390 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10391 (debug): Now only active if > 0 rather than if != 0.
10392 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10393 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10394 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10395 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10396 (store_op1, store_op2, insert_op1, insert_op2)
10397 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10398 (group_in_compile_stack): Move to after its arg's types are
10399 declared and add a prototype.
99633e97 10400 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10401 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10402 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10403 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10404 indentation of the greedy-op and shy-group code.
99633e97
SM
10405 (at_(beg|end)line_loc_p): Fix argument's types.
10406 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10407 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10408 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10409 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10410 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10411 QUIT unconditionally.
99633e97 10412
699238d9
GM
104132000-03-15 Gerd Moellmann <gerd@gnu.org>
10414
10415 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10416 a sole completion.
10417
10418 * process.c (send_process): Add a hint that the function
10419 can call Lisp code to its comment.
10420
10421 * lread.c (load_dangerous_libraries): New variable.
10422 (Vbytecomp_version_regexp): New variable.
10423 (safe_to_load_p): New function.
10424 (Fload): Handle files not compiled with Emacs specially.
10425 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10426
34e23e5a
GM
104272000-03-14 Gerd Moellmann <gerd@gnu.org>
10428
9c763cca
GM
10429 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10430
10431 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10432 support functions only if HAVE_X11R6_XIM is defined.
10433 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10434
10435 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10436
10437 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10438 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10439 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10440
10441 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10442 (HAVE_X11R6_XIM): Define.
10443
10444 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10445
34e23e5a
GM
10446 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10447 If set, call XSynchronize.
10448
66f0296e
SM
104492000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10450
34e23e5a
GM
10451 * regex.c: Declare a new type `re_char' used throughout the code
10452 for the string char type. It's `const unsigned char' to match the
10453 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10454 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10455 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10456 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10457 code duplication.
66f0296e
SM
10458
10459 * charset.h (GET_CHAR_AFTER_2): Remove.
10460 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10461
854a025c
KR
104622000-03-12 Ken Raeburn <raeburn@gnu.org>
10463
10464 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10465 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10466 of them try to use backquotes.
10467
b9d2c7e2
DL
104682000-03-12 Dave Love <fx@gnu.org>
10469
10470 * unexelf.c: Restore changes of 1999-10-19.
10471 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10472 fix its type and alignment; copy it from current process.
10473
5e5dff44
GM
104742000-03-12 Gerd Moellmann <gerd@gnu.org>
10475
9b2f3c38
GM
10476 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10477 has been found. Fix bug not computing timer's predecessor.
10478
427ec082 10479 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10480 file name.
10481
e1cff360
GM
10482 * window.c (Fsave_window_excursion): Doc fix.
10483
52283633 10484 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10485
e411ce4b
EZ
104862000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10487
10488 * msdos.c (vga_installed): New function, code moved from
10489 dos_set_window_size.
10490 (Qbar, Qcursor_type, outside_cursor): New variables.
10491 (syms_of_msdos): Intern and staticpro them.
10492 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10493 shape used outside Emacs when called for the first time.
10494 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10495 cursor shape used outside Emacs.
10496 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10497 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10498 type has changed.
10499 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10500 parameters specify the cursor. Make qreverse a global
10501 variable (renamed to Qreverse).
10502
80460654
GM
105032000-03-09 Gerd Moellmann <gerd@gnu.org>
10504
10505 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10506
95cd4c40
SM
105072000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10508
10509 This is a big redesign of failure-stack and register handling, prompted
10510 by bugs revealed when trying to add shy-groups. Overall, what happened
10511 is that loops are now structured a little differently, groups can be
10512 shy and the code is a little simpler.
10513
10514 * regex.h: Update the copyright.
10515 (RE_SHY_GROUPS): New value.
10516 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10517 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10518
80460654
GM
10519 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10520 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10521 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10522 for (start|stop)_memory since they now only take one argument (the
10523 second has becomes unnecessary).
52283633 10524 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10525 (print_compiled_pattern): Use %ld to printf long ints and flush to
10526 make debugging a little easier.
95cd4c40
SM
10527 (union fail_stack_elt): Make the integer unsigned.
10528 (struct fail_stack_type): Add a `frame' element.
10529 (INIT_FAIL_STACK): Init `frame' as well.
10530 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10531 (DEBUG_PUSH, DEBUG_POP): Remove.
10532 (NUM_REG_ITEMS): Remove.
10533 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10534 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10535 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10536 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10537 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10538 New macros.
80460654
GM
10539 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10540 address pushed is not the destination of the jump but the source
10541 of it instead.
95cd4c40
SM
10542 (NUM_FAILURE_ITEMS): Remove.
10543 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10544 registers before the actual failure point). Don't hardcode any
10545 meaning for str==NULL anymore.
95cd4c40 10546 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10547 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10548 Remove.
95cd4c40
SM
10549 (REG_UNSET_VALUE): Use NULL (why not?).
10550 (compile_range): Remove declaration since it doesn't exist.
10551 (struct compile_stack_elt_t): Remove inner_group_offset.
10552 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10553 (regex_grow_registers): Remove dead code.
10554 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10555 (regex_compile): Add shy-groups Change loops to use
10556 on_failure_jump_smart&jump instead of
10557 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10558 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10559 variable to me). Use `jump' instead of `jump_past_alt' and don't
10560 bother with push_dummy_failure in alternatives since it is now
10561 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10562 emacs' for (re)allocating the stack.
10563 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10564 from loop when bufp->can_be_null rather than jumping to `done'.
10565 Avoid jumping backwards so as to ensure termination. Use
10566 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10567 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10568 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10569 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10570 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10571 (lowest_active_reg, highest_active_reg)
10572 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10573 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10574 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10575 variables. Push register (in `start_memory') on the stack rather
10576 than storing it in old_reg(start|end). Remove the cycle detection
10577 from `stop_memory', replaced by the use of on_failure_jump_loop
10578 for greedy loops. Add code for the new on_failure_jump_<foo>.
10579 Remove ad-hoc code in `on_failure_jump' to push more registers in
10580 the case of a loop. Take out code from `maybe_pop_jump' into
10581 separate functions and adapt it to the semantics of
10582 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10583 and push_dummy_failure. Remove dummy_failure handling and
10584 handling of `failures to jump to on_failure_jump' (this last one
10585 was already dead code, it seems).
10586 (group_match_null_string_p, alt_match_null_string_p)
10587 (common_op_match_null_string_p): Remove.
95cd4c40 10588
7397acc4
DL
105892000-03-08 Dave Love <fx@gnu.org>
10590
10591 * config.in: Don't depend on __STDC__ for volatile.
10592 Add POINTER_TYPE, PTR, PROTOTYPES.
10593
10594 * hftctl.c, strftime.c: Use PROTOTYPES.
10595 * eval.c (find_handler_clause): Likewise.
10596
10597 * mem-limits.h: Use POINTER_TYPE.
10598
10599 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10600 (memory_warnings): Declare using POINTER_TYPE.
10601
5e91ff9e
GM
106022000-03-08 Gerd Moellmann <gerd@gnu.org>
10603
feab4fba
GM
10604 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10605
52283633 10606 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10607
5e91ff9e
GM
10608 * xfns.c: Remove obsolete code in #if 0.
10609 (Fx_focus_frame): New function.
10610
a735b7e1
KH
106112000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10612
10613 * coding.c (coding_category_name): Add coding-category-utf-8,
10614 coding-category-utf-16-be, coding-category-utf-16-le.
10615 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10616 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10617 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10618 (detect_coding_utf_8): New function.
10619 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10620 UTF_16_LOW_SURROGATE_P): New macros.
10621 (detect_coding_utf_16): New function
10622 (detect_coding_mask): When priorities are specified, skip any
10623 categories that have `nil' coding-system. Fix bug of returning
10624 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10625 returns a mask not set in PRIORITIES.
10626 (detect_eol_type_in_2_octet_form): New function.
10627 (detect_eol): selects detect_eol_type_XXX to call according to
10628 cooding->category_idx.
10629 (detect_coding_system): Remove `nil' coding-system in the result.
10630 (Fupdate_coding_systems_internal): Update all coding-categories.
10631
52283633
SM
10632 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10633 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10634 New macros.
10635 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10636 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10637 (CODING_CATEGORY_IDX_UTF_16_LE)
10638 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10639 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10640 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10641 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10642
9994cc69
GM
106432000-03-07 Gerd Moellmann <gerd@gnu.org>
10644
e9b4e5ff
GM
10645 * doc.c (Fdocumentation_property): If value is not a string,
10646 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10647
f7daf1e1
GM
10648 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10649 close the display with XtCloseDisplay. This caused a bus error
10650 on OpenWindows.
10651
9994cc69
GM
10652 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10653 complete but not unique.
10654
4336c705
GM
106552000-03-06 Gerd Moellmann <gerd@gnu.org>
10656
18bb0684
GM
10657 * process.c (send_process): Remove local variable `procname' that
10658 might become invalid when a GC happens. Instead, access the
10659 process name slot directly.
10660
4336c705
GM
10661 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10662 orig_height if set.
10663
10664 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10665 orig_height if set.
10666
515d0d0e
EZ
106672000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10668
10669 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10670 glyph matrices have been freed.
10671
100b3cbb
GM
106722000-03-05 Gerd Moellmann <gerd@gnu.org>
10673
50df5e5a 10674 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10675 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10676
10677 * xfns.c (QCdata): Moved to xdisp.c.
10678
10679 * xdisp.c (QCdata): Moved here from xfns.c.
10680 (syms_of_xdisp): Initialize QCdata.
10681
10682 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10683
10684 * window.c (coordinates_in_window): Use
10685 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10686 FRAME_INTERNAL_BORDER_WIDTH.
10687
100b3cbb 10688 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10689 it is obviously invalid.
100b3cbb
GM
10690
10691 * xterm.c (x_term_init): Create a colormap if not using the
10692 default visual.
10693
10694 * xterm.h (select_visual): Change prototype.
10695
10696 * xfns.c (select_visual): Rewritten. Recognize user-specified
10697 visual classes.
10698 (visual_classes): New variable.
10699
64d739c4
GM
107002000-03-04 Gerd Moellmann <gerd@gnu.org>
10701
10702 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10703 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10704 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10705 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10706 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10707 XtNcolormap resources.
10708 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10709 (Fx_create_frame): Initialize color members of x_output structure.
10710 (xpm_load): Pass colormap to XPM lib.
10711
10712 * xfaces.c (x_free_colors): Access colormap of frame using
10713 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10714 when default colormap is used.
10715
10716 * xterm.c (x_term_init): Set Colormap member of x_display_info
10717 structure. Copy colormap if resource `privateColormap' is
10718 specified (PseudoColor only).
10719 (x_setup_relief_color): Access colormap of frame using
10720 FRAME_X_COLORMAP.
10721
10722 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10723 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10724
c3cee013
JR
107252000-03-04 Jason Rumney <jasonr@gnu.org>
10726
10727 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10728 other non-platform-specific equivalents.
64d739c4 10729 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10730 specific functions and macros as their w32 equivalents where
10731 non-platform-specifics are not available.
10732 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10733 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10734 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10735 (frame_update_line_height): Use macros to access f->output_data.
10736 (defined_color): Remove FIXME comments; fixed.
10737 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10738 into #ifdef blocks. Add WINDOWSNT blocks.
10739 (Fx_list_fonts): Use macros for accessing font data.
10740 (set_lface_from_font_name): Different default fonts for X and
10741 WINDOWSNT.
10742 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10743 scalable for backward compatibility.
64d739c4 10744 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10745 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10746
64d739c4 10747 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10748 syms_of_w32faces.
10749
10750 * makefile.nt (w32faces.obj): Remove.
10751 (xfaces.obj): Add.
10752
807cc41c
JR
107532000-03-03 Jason Rumney <jasonr@gnu.org>
10754
10755 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10756 correct parameters.
10757
0007072a
KR
107582000-03-03 Ken Raeburn <raeburn@gnu.org>
10759
10760 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10761 standard ELF definitions here if the system header does not.
10762
71a6ba55
GM
107632000-03-03 Gerd Moellmann <gerd@gnu.org>
10764
10765 * xterm.c (PER_CHAR_METRIC): Removed.
10766 (x_per_char_metric_1, x_default_char): New functions.
10767 (x_per_char_metric): If font's default char is invalid, return
10768 metrics of a suitably chosen usable default char.
10769 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10770 char, replace occurrences of unprintable chars with a suitably
10771 chosen usable default char.
71a6ba55 10772
900fa1f1
GM
107732000-03-02 Gerd Moellmann <gerd@gnu.org>
10774
42f55fe0
GM
10775 * xterm.c (note_mouse_highlight): Return quickly if frame's
10776 glyph matrices have been freed.
10777
10778 * dispnew.c (free_glyphs): Block input while freeing matrices.
10779
900fa1f1
GM
10780 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10781
52283633
SM
10782 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10783 Use x_free_colors.
900fa1f1
GM
10784
10785 * dispextern.h (x_free_colors): Add prototype.
10786
10787 * xfaces.c (x_free_colors): New function.
10788 (unload_color, free_face_colors): Use it.
10789
2f950292
EZ
107902000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10791
10792 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10793
10794 * window.c [MSDOS]: Include msdos.h.
10795
54d04320
DL
107962000-03-02 Dave Love <fx@gnu.org>
10797
10798 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10799
10800 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10801 set C_OPTIMIZE_SWITCH for gcc.
10802
0ba93ac4
KH
108032000-03-02 Kenichi Handa <handa@etl.go.jp>
10804
10805 * coding.c (coding_save_composition): Be sure to allocate
10806 composition data area in coding even if there's no composition in
10807 the current run.
10808
a2bc11d4
JR
108092000-03-01 Jason Rumney <jasonr@gnu.org>
10810
10811 * w32term.c: Equivalent changes to those made to xterm.c on
10812 2000-02-25 and 2000-02-24.
10813
10814 * w32fns.c: Equivalent changes to those made to xfns.c on
10815 2000-02-25 and 2000-02-21.
10816
10817 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10818 correct line-end convention is followed.
10819
10820 * w32menu.c [HAVE_BOXES]: Remove #undef.
10821 (single_keymap_panes): Remove code for simulating checkmarks.
10822 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10823 Remove code for drawing simulated checkmarks.
10824 (w32_menu_show): make unibyte help string correctly.
10825 (add_menu_item): draw standard Windows checkmarks. Draw radio
10826 buttons as radio buttons if possible.
10827
72d19d75
GM
108282000-03-01 Gerd Moellmann <gerd@gnu.org>
10829
2df636f4
GM
10830 * sysdep.c (start_of_text): Don't define this function for NetBSD
10831 with ELF.
10832
427ec082 10833 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10834 Don't define.
10835 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10836 (LINKER): Don't undef if __NetBSD__ is defined.
10837
10838 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10839
10840 * fileio.c [__NetBSD__]: Define `unix'.
10841
72d19d75
GM
10842 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10843
ed4d0512
GM
108442000-02-29 Gerd Moellmann <gerd@gnu.org>
10845
50b1039f
GM
10846 * atimer.c (start_atimer): Don't abort when timers are stopped.
10847 (append_atimer_lists): New function.
10848 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10849 arbitrary lists of stopped and running atimers.
10850
ed4d0512
GM
10851 * atimer.c (cancel_atimer): Handle canceling an atimer when
10852 some timers are stopped.
10853
10854 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10855 after canceling it.
10856
10857 * fns.c (maybe_resize_hash_table): Handle case of new size
10858 coming out as being the same as old size.
10859
387023ee
JR
108602000-02-27 Jason Rumney <jasonr@gnu.org>
10861
10862 * makefile.nt: Add atimer.h to dependencies.
10863 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10864 * w32console.c: Only disable window system features for dispextern.h
10865 (initialize_w32_display): Build a display info for the console.
10866 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10867 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10868 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10869 as 2 button mice.
10870 * w32gui.h (struct W32FontStruct): Revert last change after change
10871 to xdisp.c.
10872 * w32menu.c (single_submenu): Set up help string.
10873 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10874 (w32_dialog_show): Set up help string.
10875 * w32term.c (w32_display_info_for_display): Remove unused function.
10876 (w32_draw_bitmap): Use pre-built bitmaps.
10877 (w32_initialize_display_info): New function to initialize parts of
10878 display info that are common to both GUI and console frames.
10879 (w32_term_init): Use w32_initialize_display_info. Do not set
10880 Vw32_num_mouse_buttons here, as it is not called for console
10881 frames. Build bitmaps for indicating truncated lines etc.
10882 (x_delete_display): Destroy pre-built bitmaps.
10883 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10884 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10885
4516715a
DL
108862000-02-27 Dave Love <fx@gnu.org>
10887
10888 * lisp.h: Add a bunch of prototypes.
10889
171ca836
KH
108902000-02-26 Kenichi Handa <handa@etl.go.jp>
10891
10892 * keyboard.c (read_char): Set `usec' correctly.
10893
4013921d
KH
108942000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10895
10896 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10897 `lambda', set reg[RRR] to the map index.
10898 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10899 reg[RRR] to 0. Otherwise, set it to -1.
10900
9244a058
GM
109012000-02-25 Gerd Moellmann <gerd@gnu.org>
10902
2df636f4 10903 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10904
18e21ce8 109052000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10906
f43d79c1
GM
10907 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10908 and contains a `:', prepend `/:'.
10909
10910 * window.c (select_window_1): If selected_window is nil,
10911 don't "swap out" the buffer's point.
10912 (Fset_window_configuration): Set selected_window to nil
10913 before calling Fselect_window.
10914 (unshow_buffer): Don't set point in buffer from window's point
10915 if another more recently selected window also shows the buffer.
10916
bed0c171
GM
109172000-02-25 Gerd Moellmann <gerd@gnu.org>
10918
449c3c52
GM
10919 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10920
f5b58615
GM
10921 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10922 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10923 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10924 New variables.
f5b58615
GM
10925 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10926 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10927 (hide_busy_cursor): New functions.
10928 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10929
10930 * minibuf.c (read_minibuf): Cancel busy-cursor.
10931
10932 * keyboard.c (command_loop_1): Call start_busy_cursor before
10933 Fcommand_execute and cancel_busy_cursor after it.
10934 (timer_check): Remove busy-cursor code.
10935 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10936 cursor timer.
10937
10938 * process.c (wait_reading_process_input): Remove busy-cursor code.
10939
10940 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10941 Fx_hide_busy_cursor.
10942
10943 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10944 Remove prototyoes.
10945 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10946
10947 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10948
10949 * xterm.c (XTread_socket): Remove busy-cursor code.
10950
4eb8436f
GM
10951 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10952 (build_frame_matrix_from_leaf_window): Put code handling
10953 glyph row's not being a slice of a frame row in #if 0.
10954 (sync_window_with_frame_matrix_rows): New function.
10955 (frame_row_to_window): New function.
10956 (mirror_line_dance): Handle copies between windows.
10957
3cb65b0e
GM
10958 * lread.c (Fload): Use `xfree' instead of `free'.
10959 (init_obarray): Use `xmalloc' instead of `malloc'.
10960
bed0c171
GM
10961 * window.c (Fset_window_buffer): Set WINDOW to the window
10962 after decoding.
2add4349
GM
10963 (coordinates_in_window): Take frame's internal border width
10964 into account.
bed0c171 10965
42088c12
GM
109662000-02-24 Gerd Moellmann <gerd@gnu.org>
10967
10968 * xterm.c (x_display_and_set_cursor): Display cursor of
10969 non-selected windows depending on the setting of
10970 cursor_in_non_selected_windows.
10971
10972 * xdisp.c (cursor_in_non_selected_windows): New variable.
10973 (syms_of_xdisp): DEFVAR_BOOL it.
10974
d1e103b2
GM
109752000-02-23 Gerd Moellmann <gerd@gnu.org>
10976
723e779c
GM
10977 * data.c (Fstring_to_number): If number is greater than what
10978 fits into an integer, return a float.
10979
d1e103b2
GM
10980 * eval.c (specbind): Remove references to
10981 keyword_symbols_constant_flag.
10982
10983 * data.c (keyword_symbols_constant_flag): Removed.
10984 (Fmakunbound, set_internal, syms_of_data): Remove references to
10985 keyword_symbols_constant_flag.
10986
10987 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10988
214f877f
KH
109892000-02-23 Kenichi Handa <handa@etl.go.jp>
10990
10991 * syntax.c (multibyte_syntax_as_symbol): New variable.
10992 (syms_of_syntax): Declare it as a Lisp variable.
10993 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10994 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10995 nonzero, treat all multibyte characters as symbol.
52283633 10996 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10997
130adcb7
EZ
109982000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10999
3cb65b0e 11000 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11001 a deleted frame.
130adcb7 11002
17cbbf95
GM
110032000-02-21 Gerd Moellmann <gerd@gnu.org>
11004
11005 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11006
11007 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11008 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11009
beb0bc36
DL
110102000-02-21 Dave Love <fx@gnu.org>
11011
11012 * frame.c (Vmouse_position_function): New variable.
11013 (Fmouse_position): Use it.
11014 (syms_of_frame): Install it.
11015
11016 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11017
1d92afcd
GM
110182000-02-20 Gerd Moellmann <gerd@gnu.org>
11019
11020 * fileio.c (Finsert_file_contents): Unbind the binding of
11021 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11022
11023 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11024 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11025 (specbind, unbind_to): Handle most common case of non-constant
11026 symbol with trivial value specially.
11027
11028 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11029
18e21ce8 110302000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11031
11032 * data.c (Fmake_variable_buffer_local): Doc fix.
11033 Init found_for_buffer to 0.
11034 (Fmake_variable_frame_local): If the variable has already
11035 been buffer-local, set the check_frame field.
11036
1d4311c3
EZ
110372000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11038
11039 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11040 produced for CODING_MODE_LAST_BLOCK requires.
11041
2dc95ddd
DL
110422000-02-18 Dave Love <fx@gnu.org>
11043
11044 * keyboard.c (echo_keystrokes): Remove declaration.
11045 (Vecho_keystrokes) New variable.
11046 (read_char, record_menu_key, read_key_sequence): Use it to allow
11047 use of float value.
11048 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11049
11050 * lread.c: Undef feature selection macros before defining.
11051
f0930f35
GM
110522000-02-18 Gerd Moellmann <gerd@gnu.org>
11053
11054 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11055 for symbols other than the symbol in question.
11056
e3d4de90
DL
110572000-02-17 Dave Love <fx@gnu.org>
11058
11059 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11060
0b378936
GM
110612000-02-17 Gerd Moellmann <gerd@gnu.org>
11062
d621caf7
GM
11063 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11064
0b378936
GM
11065 * alloc.c (enum mem_type): Compile unconditionally.
11066
3b451f74
EZ
110672000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11068
11069 * xfaces.c (tty_defined_color): Don't return faulire indication
11070 for unspecified-fg and unspecified-bg pseudo-colors.
11071
10689a01
GM
110722000-02-17 Gerd Moellmann <gerd@gnu.org>
11073
1216f5e4
GM
11074 * alloc.c (mark_object): Don't mark symbol names in pure space.
11075 (gc_sweep): Don't unmark symbol names in pure space.
11076
11077 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11078 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11079 [GC_MARK_STACK]: New defines.
427ec082 11080 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11081 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11082
11083 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11084
11085 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11086 allocate_buffer instead of xmalloc.
11087
11088 * alloc.c (toplevel): Include setjmp.h.
11089 (PURE_POINTER_P): New define.
11090 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11091 (Vdead) [GC_MARK_STACK]: New variable.
11092 (lisp_malloc): Add parameter TYPE, call mem_insert if
11093 GC_MARK_STACK is defined.
11094 (allocate_buffer): New function.
427ec082 11095 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11096 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11097 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11098 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11099 (MEM_NIL) [GC_MARK_STACK]: New define.
11100 (struct mem_node) [GC_MARK_STACK]: New structure.
11101 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11102 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11103 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11104 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11105 (mark_stack) [GC_MARK_STACK]: New functions.
11106 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11107 (clear_marks): Removed.
11108 (gc_sweep): Set free conses' car, free floats' type, free
11109 symbols' function to Vdead. Use lisp_free to free buffers.
11110 (init_alloc_once): Initialize Vdead.
11111 (survives_gc_p): Return non-zero for pure objects.
11112
11113 * alloc.c: Add comments throughout the file.
11114
2503c8b1
GM
11115 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11116 that unblocks alarms.
11117
8389e1e2
GM
11118 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11119 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11120 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11121
10689a01 11122 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11123
bfc17d18
KH
111242000-02-17 Kenichi Handa <handa@etl.go.jp>
11125
4a09dee0
KH
11126 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11127 avoid infinite error signaling. Allocate sufficient memory for
11128 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11129
2b927d02
SM
111302000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11131
11132 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11133 depends on the previous behavior.
11134
b49cb764
GM
111352000-02-16 Gerd Moellmann <gerd@gnu.org>
11136
11137 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11138
99e95407
GM
111392000-02-15 Gerd Moellmann <gerd@gnu.org>
11140
11141 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11142
11143 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11144 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11145 write(2).
11146
6ffd3cf7
RS
111472000-02-15 Richard M. Stallman <rms@gnu.org>
11148
11149 * data.c (set_internal): Don't make variable buffer-local
11150 if within a let-binding for the same buffer.
11151 (let_shadows_buffer_binding_p): New function.
11152
11153 * eval.c (specbind): For buffer-local value,
11154 record the current buffer also.
11155 (unbind_to): Cope with that change.
11156
cad53475
GM
111572000-02-15 Gerd Moellmann <gerd@gnu.org>
11158
11159 * window.c (Fsave_window_excursion): Doc fix.
11160
1aa963c8
SM
111612000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11162
11163 * syntax.c (back_comment): Make sure we only consider comment-starters
11164 of the relevant style and return -1 in case of a failure to find the
11165 beginning of the comment.
11166 (Fforward_comment): If back_comment fails, go back to the position just
11167 after the comment-end.
11168 (scan_lists): Add comment describing a very minor bug.
11169
b9b84fd3
SM
111702000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11171
11172 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11173 `completion-regexp-list' in the docstring.
11174
3a28db80
DL
111752000-02-14 Dave Love <fx@gnu.org>
11176
11177 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11178
fb4a568d
SM
111792000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11180
11181 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11182 to Emacs' syntax. Also fix the comment about set/not-set meanings
11183 since Emacs syntax is not the value 0 any more.
11184 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11185 since it's now part of RE_SYNTAX_EMACS.
11186
1063ebb5
DL
111872000-02-12 Dave Love <fx@gnu.org>
11188
52283633 11189 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11190
fb07a302
GM
111912000-02-12 Gerd Moellmann <gerd@gnu.org>
11192
11193 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11194
aaf2320c
DL
111952000-02-12 Dave Love <fx@gnu.org>
11196
11197 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11198
11199 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11200 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11201 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11202
11203 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11204
11205 * s/nextstep.h: Don't define HAVE_ALLOCA.
11206
11207 * config.in: Add vfork bits.
11208
eedf8bde
GM
112092000-02-12 Gerd Moellmann <gerd@gnu.org>
11210
11211 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11212 unwind function to undo the effect of stopping atimers.
11213
52283633 11214 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11215
11216 * atimer.c (stopped_atimers): New variable.
11217 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11218 New functions.
11219
11220 * atimer.h (stop_other_atimers, run_all_atimers)
11221 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11222
eedf8bde
GM
11223 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11224
8476c2f8
KR
112252000-02-11 Ken Raeburn <raeburn@gnu.org>
11226
11227 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11228 library may depend on jpeg.
11229 (atimer.o): Depends on atimer.c.
11230
0e85e4a3
KH
112312000-02-11 Kenichi Handa <handa@etl.go.jp>
11232
11233 * insdel.c (del_range_1): Call update_compositions.
11234 (del_range_both): Call update_compositions just once..
11235
97fa0cc8
DL
112362000-02-10 Dave Love <fx@gnu.org>
11237
11238 * xfns.c (create_frame_xic): Fix initialization of automatic
11239 aggregates for pcc.
11240
25566a3c
KH
112412000-02-09 Kenichi Handa <handa@etl.go.jp>
11242
11243 * ccl.c (CCL_MAKE_CHAR): New macro.
11244 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11245 registers by CCL_MAKE_CHAR before calling translate_char.
11246 <CCL_TranslateCharacterConstTbl> Likewise.
11247
69da54ba
DL
112482000-02-08 Dave Love <fx@gnu.org>
11249
11250 * lread.c (__EXTENSIONS__): Define.
11251
f7136ee8
GM
112522000-02-08 Gerd Moellmann <gerd@gnu.org>
11253
11254 * puresize.h (BASE_PURESIZE): Increase to 650000.
11255
7768790b
EZ
112562000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11257
11258 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11259 the help message.
11260
38fd211b
EZ
112612000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11262
11263 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11264 md, mh, mb, mr, and me to the fake termcap entry.
11265
66e4690f
KR
112662000-02-06 Ken Raeburn <raeburn@gnu.org>
11267
11268 * sound.c (sound_cleanup): Don't call device close routine if the
11269 function pointer is null.
11270
a75dfea0
AI
112712000-02-06 Andrew Innes <andrewi@gnu.org>
11272
11273 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11274 around image definitions and prototypes.
11275 (gamma_correct) [WINDOWSNT]: New prototype.
11276
11277 * w32term.c (x_make_frame_visible): Replace call to
11278 input_poll_signal with poll_for_input.
11279
11280 * window.c [WINDOWSNT]: Include w32term.h.
11281
11282 * xdisp.c [WINDOWSNT]: Include w32term.h.
11283
11284 * makefile.nt: Add dependencies on w32gui.h.
11285 (OBJ1): Include atimer.obj.
11286 ($(BLD)\atimer.obj): New dependency rule.
11287
11288 * w32.c (sigmask): New function (does nothing).
11289 (sigunblock): Ditto.
11290
11291 * frame.c [WINDOWSNT]: Include w32term.h.
11292
11293 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11294
11295 * lread.c (syms_of_lread): Fix literal newlines.
11296
11297 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11298 the string constant limit (2048 bytes) in MSVC.
11299 (main): Ditto.
11300
59ddecde
GM
113012000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11302
52283633 11303 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11304 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11305 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11306 dispatch the event.
11307
07590973
DL
113082000-02-04 Dave Love <fx@gnu.org>
11309
11310 * fileio.c: Remove some unused vars.
11311 (_GNU_SOURCE): Define (for euidaccess).
11312
11313 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11314
11315 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11316 gcpro1, gcpro2.
11317 (read_minibuf): Deal with allow_props correctly.
11318
649351f9
EZ
113192000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11320
11321 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11322
66e4690f 113232000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11324
11325 * search.c (compile_pattern): If a cache entry has a nil regexp,
11326 fill in that entry instead of clobbering a previously cached
11327 string regexp.
11328
66e4690f 113292000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11330
11331 * puresize.h (BASE_PURESIZE): Increase to 610000.
11332
d240a249
GM
113332000-02-02 Gerd Moellmann <gerd@gnu.org>
11334
11335 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11336 can GC.
11337
ca91fb26
KH
113382000-02-02 Kenichi Handa <handa@etl.go.jp>
11339
25660570
KH
11340 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11341 instead of incrementing ic directly.
11342 <CCL_WriteExprConst> Likewise.
11343 <ccl_set_expr>: Set ic to jump_address.
11344
ca91fb26
KH
11345 * fileio.c (e_write): Fix the handling of
11346 CODING_FINISH_INSUFFICIENT_SRC.
11347
2ede9689
DL
113482000-02-01 Dave Love <fx@gnu.org>
11349
11350 * editfns.c (Fpropertize): Doc fix.
11351
11352 * process.c (Fstart_process): Doc fix.
11353
11354 * eval.c: Fix various doc strings not to duplicate information
11355 from help-manyarg-func-alist.
11356
52283633 11357 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11358
11359 * doc.c (Vhelp_manyarg_func_alist): New variable.
11360 (Fdocumentation): Use it.
11361 (syms_of_doc): Define it.
11362
b6680a0e
GM
113632000-01-31 Gerd Moellmann <gerd@gnu.org>
11364
2cb750ba
GM
11365 * xterm.c (xim_open_dpy): Remove unused local variable.
11366
52283633 11367 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11368
11369 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11370 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11371
b6680a0e
GM
11372 * fns.c (sweep_weak_table): New function.
11373 (sweep_weak_hash_tables): Use it. Keep on marking until there
11374 is no more change.
11375
994c5afe
GM
113762000-01-30 Gerd Moellmann <gerd@gnu.org>
11377
11378 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11379 that XTread_socket does not crash by trying to call XNoOp on a
11380 closed display.
427ec082 11381
f00276e3
JR
113822000-01-30 Jason Rumney <jasonr@gnu.org>
11383
11384 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11385 Change selected_frame to SELECTED_FRAME ().
11386 (w32_console_mouse_position): Remove #ifndef MULE from around
11387 `insist' parameter.
11388
11389 * makefile.nt: Remove dosfns.obj.
11390
11391 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11392
11393 * w32fns.c (w32_defined_color): Check for valid frame before
11394 applying gamma correction. Eliminate dependency on frame elsewhere.
11395 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11396 (w32_to_x_font): Use resx and resy not height_in and width_in.
11397 (x_to_w32_font): Doc fix.
11398 (xlfd_strip_height): New function to strip and return font height.
11399 (w32_font_match): Compare height separately from rest of xlfd
11400 spec, using xlfd_strip_height.
11401
11402 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11403 width_in. Use w32_defined_color in place of defined_color.
11404
11405 * w32faces.c: Merge more of DOS and X specifics in preparation for
11406 merge with xfaces.c.
11407 (defined_color): Remove FIXME comment.
11408 (tty_color_name): Provide w32-specific function.
11409 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11410
11411 * w32console.c (turn_on_face, turn_off_face): Removed.
11412 (w32_face_attributes): New function.
11413 (Global_variables): Reduce scope where possible.
11414 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11415 fill attribute.
11416 (hl_mode): Don't modify text attributes.
11417 (write_glyphs): Don't do anything if len <= 0. Use
11418 w32_face_attributes to get attributes for drawing. Write
11419 terminating codes using char_attr_normal.
11420 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11421 (update_begin, update_end): Likewise.
11422 (vga_stdcolor_name): New function.
11423 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11424 (Fset_screen_color): Remove char_attr_reverse.
11425
b08e8bb2
GM
114262000-01-29 Gerd Moellmann <gerd@gnu.org>
11427
11428 * xfns.c (xic_set_preeditarea): Take window parameter and
11429 window-relative pixel-positions.
11430
11431 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11432 is its frame's selected window.
11433 (xim_instantiate_callback): Likewise.
11434
11435 * xfns.c (x_create_im): Removed.
11436 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11437 (supported_xim_styles): Renamed from supported_styles.
11438 (best_xim_style): Renamed from best_style.
11439 (create_frame_xic): Renamed from xic_create_frame.
11440 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11441
b08e8bb2
GM
114422000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11443
11444 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11445 our frames, call XFilterEvent with 2nd parameter `None'.
11446 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11447 returning XBufferOverflow.
52283633 11448 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11449 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11450 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11451 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11452 (xim_initialize, xim_close)
11453 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11454 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11455 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11456 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11457
11458 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11459 and `xim_styles'.
11460 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11461 `xic_style' and `xic_xfs'.
11462 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11463 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11464 (FRAME_XIM): Removed.
11465
11466 * xfns.c (supported_styles): New variable.
11467 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11468 (xic_create_xfontset, best_style, xic_create_frame)
11469 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11470 (xic_set_xfontset): New functions.
11471
142e109c
DL
114722000-01-28 Dave Love <fx@gnu.org>
11473
11474 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11475
11476 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11477
b02786f9
GM
114782000-01-28 Gerd Moellmann <gerd@gnu.org>
11479
d060bc9f
GM
11480 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11481 for *scratch* if it already existed.
11482
b02786f9
GM
11483 * emacs.c (USAGE): New macro.
11484 (main): Use it to display usage information.
11485
2c52d7e4
EZ
114862000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11487
11488 Support for the menu-help feature:
11489
52283633 11490 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11491
11492 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11493 part of the line to the termscript file.
11494 (IT_clear_to_end): Clear the entire line, not just its beginning.
11495 (menu_help_message, prev_menu_help_message): New variables.
11496 (IT_menu_make_room): Make room for the help_text member.
11497 (IT_menu_display): New argument disp_help; all callers changed.
11498 If disp_help is non-zero, store the help text of the active menu
11499 item in menu_help_message.
11500 (XMenuAddPane): Initialize the help_text member to NULL.
11501 (XMenuAddSelection): New argument help_text. Store it in the
11502 XMenu structure.
11503 (XMenuActivate): New argument help_callback. If the value of
11504 menu_help_message has changed since the last time, display the
11505 menu help message text while waiting for the mouse to move. Clear
11506 the echo area before exiting.
11507 (XMenuDestroy): Free the help_text member.
11508
ffe0bcd1
GM
115092000-01-27 Gerd Moellmann <gerd@gnu.org>
11510
11511 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11512 XMenuAddSelection. Pass help callback to XMenuActivate.
11513 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11514
50dbd23f
EZ
115152000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11516
11517 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11518 and EMACS_SET_USECS.
11519
f5941bf8
GM
115202000-01-26 Dave Love <fx@gnu.org>
11521
6c67ddee
DL
11522 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11523
f5941bf8
GM
11524 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11525 an error may be signalled.
11526
9e49c990
GM
115272000-01-26 Gerd Moellmann <gerd@gnu.org>
11528
fc3cb460
GM
11529 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11530 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11531
9e49c990
GM
11532 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11533
d0c037d8
GM
115342000-01-25 Gerd Moellmann <gerd@gnu.org>
11535
11536 * charset.c (Fstring): If there is a multibyte char among
11537 the args, always return a multibyte string.
11538
e12489f9
GM
115392000-01-25 Gerd Moellmann <gerd@gnu.org>
11540
11541 * sysdep.c (sys_select): Turn atimers off and on instead of
11542 recording and restoring old alarm handler
11543
11544 * process.c (toplevel): Include atimer.h.
11545 (create_process_1): Rewritten.
11546 (create_process): Use atimers instead of alarm.
11547 (wait_reading_process_input) [hpux]: Turn atimers off instead
11548 of turning off SIGALRM.
11549 (wait_reading_process_input): Turn off atimers instead off
11550 calling stop_polling.
11551
11552 * emacs.c (main): Call init_atimer.
11553
11554 * keyboard.c (toplevel): Include systime.h and atimer.h.
11555 (polling_for_input): Removed because unused.
11556 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11557 (poll_timer): New variable.
11558 (poll_for_input, poll_for_input_1): New functions.
11559 (start_polling, stop_polling): Rewritten.
11560
11561 * keyboard.h (polling_for_input): Removed.
427ec082 11562
e12489f9
GM
11563 * atimer.h, atimer.c: New files.
11564
11565 * Makefile.in (obj): Add atimer.o.
11566 (atimer.o): New target.
11567
11568 * blockinput.h (pending_atimers): Add extern declaration.
11569 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11570
11571 * lisp.h (popup_activated_flag): Add extern declaration.
11572
11573 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11574 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11575 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11576
11577 * xterm.c (toplevel): Include atimer.h.
11578 (toolkit_scroll_bar_interaction): New variable.
11579 (Fxt_process_timeouts): Removed.
11580 (x_process_timeouts): New function.
11581 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11582 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11583 (x_make_frame_visible): Call poll_for_input_1 instead of
11584 input_poll_signal. Don't call alarm.
11585 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11586
1e5279b9
DL
115872000-01-24 Dave Love <fx@gnu.org>
11588
6c67ddee 11589 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11590 Don't use -cckr -- apparently not now necessary.
11591
edf6aeb8
EZ
115922000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11593
11594 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11595 screen boundary.
11596
9badad41
JR
115972000-01-23 Jason Rumney <jasonr@gnu.org>
11598
11599 * w32fns.c (w32_defined_color): Apply gamma correction before
11600 trying to map to the palette.
11601 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11602 to w32_clear_rect.
11603
11604 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11605 here. Callers changed to always pass real device context.
11606 (w32_draw_bitmap): Likewise.
11607 (w32_get_glyph_overhangs): Likewise.
52283633 11608 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11609 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11610 pfnSetScrollInfo and SetScrollRange.
11611 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11612 back into MULE characters after decoding them.
11613 (x_get_glyph_face_and_encoding): Likewise.
11614 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11615 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11616 (x_produce_glyphs): Calculate per char metrics for a character
11617 that we know exists in default font when font_not_found_p is true.
11618
63bd786b
JR
116192000-01-22 Jason Rumney <jasonr@gnu.org>
11620
11621 * makefile.nt (intervals.obj, composite.obj): New modules.
11622 (composite.h): Added as dependency where appropriate.
11623
11624 * w32gui.h (XGCValue): New struct for emulating X GCs.
11625
11626 * w32term.h (XCharStruct): New struct for emulating X.
11627
11628 * w32console.c (turn_on_face, turn_off_face): New functions.
11629 (change_line_highlight): New prototype for new redisplay.
11630 (write_glyphs): Support multibyte text. Support faces.
11631
52283633 11632 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11633
11634 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11635 throughout. struct frame * in place of FRAME_PTR.
11636 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11637 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11638 (w32_get_arg): Renamed from x_get_arg.
11639 (Fx_file_dialog): New function.
11640 (w32_list_fonts): Check cache before asking system.
11641 (Vw32_enable_synthesized_fonts): New variable.
11642 (Vw32_enable_italics): Obsolete, removed.
11643
11644 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11645 Use SELECTED_FRAME macro.
11646
11647 * w32menu.c: Add skeleton support for help strings on menus.
11648 (add_menu_item): Native checkbox and radio support added, but not
11649 yet enabled due to bugs.
11650 (push_menu_item): Add parameters type, selection and help.
11651 Callers updated.
11652 Formatting changes to reduce unnecessary diffs with xmenu.c.
11653
11654 * w32select.c (Fw32_set_clipboard_data): Update call to
11655 find_charset_in_str.
11656
11657 * w32term.c: Complete rewrite for new redisplay based on new
11658 xterm.c with necessary sections merged back in from old w32term.c.
11659
6ffd3cf7 116602000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11661
11662 * data.c (set_internal): Further fix in same criterion.
11663
6ffd3cf7 116642000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11665
11666 * data.c (set_internal): Fix the criteria for whether
11667 to swap out the old cached binding.
11668
60af03f1
DL
116692000-01-19 Dave Love <fx@gnu.org>
11670
11671 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11672
f9be074f
KH
116732000-01-18 Kenichi Handa <handa@etl.go.jp>
11674
11675 * regex.c (re_compile_fastmap): While checking a range table for
11676 `charset', skip flag bits for a character class correctly.
11677
52b8dbf9
GM
116782000-01-17 Gerd Moellmann <gerd@gnu.org>
11679
d36100c9
GM
11680 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11681
52283633 11682 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11683
11684 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11685 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11686
11687 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11688 MENU_ITEMS_ITEM_.*.
11689 (MENU_ITEMS_ITEM_HELP): New enumerator.
11690 (push_menu_item): Add parameter HELP. Record help in menu_items.
11691 (single_menu_item, single_submenu, list_of_items): Call
11692 push_menu_item with new parameter.
11693 (single_submenu): Set help string in widget value.
11694 (menu_highlight_callback): New function.
11695 (set_frame_menubar): Call lw_create_widget with new
11696 parameter list.
11697 (xmenu_show, xdialog_show): Ditto.
11698
3139018f
GM
116992000-01-13 Gerd Moellmann <gerd@gnu.org>
11700
11701 * sound.c (Fplay_sound): Improve doc string.
11702
83c8f461
RS
117032000-01-11 Richard M. Stallman <rms@gnu.org>
11704
11705 * lisp.h (set_internal): Enter the new arg.
11706
11707 * eval.c (specbind): Record buffer-local variables specially,
11708 indicating which buffer's binding was saved.
11709 (unbind_to): Restore buffer-local variables specially
11710 in the proper buffer.
11711
11712 * data.c (set_internal): New arg BUF.
427ec082 11713
83c8f461
RS
11714 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11715 * data.c (Fset): Pass new arg to set_internal.
11716 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11717
1fab1775
GM
117182000-01-11 Gerd Moellmann <gerd@gnu.org>
11719
52283633 11720 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11721
83c8f461 117222000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11723
11724 * minibuf.c (Ftry_completion): Doc fix.
11725
7a85e4df
GM
117262000-01-11 Gerd Moellmann <gerd@gnu.org>
11727
11728 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11729 vector, too.
11730
a970dae4
AS
117312000-01-11 Andreas Schwab <schwab@suse.de>
11732
11733 * coding.c (code_convert_region): Initialize total_skip.
11734
c65d14ee
DL
117352000-01-08 Dave Love <fx@gnu.org>
11736
11737 * eval.c (Fuser_variable_p): Check customizability too.
11738
834938d2
GM
117392000-01-07 Gerd Moellmann <gerd@gnu.org>
11740
11741 * minibuf.c (Fcompleting_read): Doc fix.
11742
e0303cd6
GM
117432000-01-05 Gerd Moellmann <gerd@gnu.org>
11744
8a26744b
GM
11745 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11746 -L /usr/local/lib.
11747
e0303cd6
GM
11748 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11749 Check that input style is supported before trying to create an
11750 IC for it.
11751 (x_window): Call x_create_im.
427ec082 11752
2e471eb5
GM
117532000-01-04 Gerd Moellmann <gerd@gnu.org>
11754
560a7bd2
GM
11755 * xfns.c (current_gif_memory_src): New variable.
11756 (gif_load): Record the address of the current memory source
11757 in current_gif_memory_src.
11758 (gif_read_from_memory): Use current_gif_memory_src.
11759
f9ee84a3
GM
11760 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11761 macros statement form.
11762
d1299cde
GM
11763 * sound.c (struct sound): Renamed from struct sound_file.
11764 (struct sound): Add members `data' and `header_size'.
11765 (enum sound_attr): Add SOUND_DATA.
11766 (current_sound, current_sound_device): Variables renamed from
11767 sound_file and sound_device.
11768 (parse_sound): Parse :data.
11769 (parse_sound): Handle sound data in strings.
11770 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11771 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11772 needed header size.
11773 (wav_play, au_play): Play sounds from string data.
11774
2e471eb5
GM
11775 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11776
11777 * lisp.h: Add prototype for allocate_string_data.
11778
52283633 11779 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11780
11781 * alloc.c (mark_buffer): Remove code in #if 0.
11782 (gc_sweep): Ditto.
11783 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11784 (strings_consed): New variable.
11785 (allocate_string): Set it.
11786 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11787 (Fmemory_use_counts): Return strings_consed. Use Flist.
11788
11789 * alloc.c: General cleanup in comments etc. Remove conditional
11790 compilation for `standalone'.
11791
11792 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11793
11794 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11795 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11796 (DONT_COPY_FLAG): Removed.
11797 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11798 (struct sdata, struct sblock): New
11799 (struct string_block): Rewritten.
11800 (STRINGS_IN_STRING_BLOCK): New macro.
11801 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11802 (large_sblocks, string_blocks, string_free_list): New variables.
11803 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11804 (init_strings): Rewritten.
11805 (allocate_string, allocate_string_data, compact_small_strings)
11806 (free_large_strings, sweep_strings): New functions.
11807 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11808 (struct string_block_head, current_string_block)
11809 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11810 (STRING_PAD): Removed.
11811 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11812 (Fgarbage_collect): Don't set mark bit in large strings.
11813 (mark_object): Mark strings differently. Mark symbol names
11814 differently.
11815 (survives_gc_p): Test marked strings differently.
427ec082 11816 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11817 symbol names.
11818 (compact_strings): Removed.
11819
42608ba8
EZ
118202000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11821
11822 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11823 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11824
e0a09e1a
KH
118252000-01-04 Kenichi Handa <handa@etl.go.jp>
11826
dd9f0750 11827 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11828 in a non-empty buffer.
dd9f0750 11829
3c0f3b15 11830 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11831
44cd3ae5
GM
118322000-01-03 Gerd Moellmann <gerd@gnu.org>
11833
11834 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11835 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11836
11837 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11838
c182a70f
EZ
118392000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11840
11841 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11842 need to test for MSDOS frames.
11843
24480d5b
EZ
118442000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11845
11846 * dosfns.c (unspecified_colors): Remove.
11847 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11848 unspecified_bg.
11849 (msdos_stdcolor_name): Return strings for unspecified fore- and
11850 back-ground colors.
11851
11852 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11853 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11854 (tty_color_name): Return Lisp strings for unspecified fore- and
11855 back-ground colors.
11856 (Finternal_set_lisp_face_attribute): Remove the special treatment
11857 for Qunspecified_{f,b}g.
52283633 11858 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11859
047f434a
GM
118602000-01-03 Gerd Moellmann <gerd@gnu.org>
11861
11862 * xdisp.c (reseat_at_next_visible_line_start): Position before
11863 newline only if ending up on a newline.
11864 (next_element_from_ellipsis): Return success. Handle case of
52283633 11865 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11866 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11867 returns 0.
11868
d684c676
EZ
118692000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11870
11871 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11872 (Fcolor_supported_p): Renamed from face-color-supported-p.
11873
5fe1d139
EZ
118742000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11875
11876 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11877 list of colors renamed to tty-defined-color-alist.
11878 (tty_color_name): Pass the frame to tty-color-by-index.
11879 (realize_tty_face): tty-color-alist is now a function which
11880 accepts the frame as argument.
11881
52283633 11882 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11883
816be8b8
EZ
118842000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11885
11886 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11887 encode_terminal_code.
11888
b635321e
EZ
118892000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11890
11891 * dispnew.c (mode_line_string): Support termcap frames as well.
11892
9b784e96
GM
118932000-01-01 Gerd Moellmann <gerd@gnu.org>
11894
27189709
GM
11895 * syntax.c (Fforward_word): Undo previous change.
11896
11897 * editfns.c (Fconstrain_to_field): Don't constrain if
11898 inhibit-field-text-motion is non-nil.
11899 (Fline_beginning_position): Undo previous change.
11900 (Fline_end_position): Ditto.
11901
11902 * syntax.c (Fforward_word): Notice field boundaries only if
11903 inhibit-field-text-motion is nil.
11904
11905 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11906
11907 * editfns.c (Vinhibit_field_text_motion): New variable.
11908 (inhibit-field-text-motion): New DEFVAR_LISP.
11909 (Fline_beginning_position, Fline_end_position): Notice field
11910 boundaries only if inhibit-field-text-motion is nil.
11911
45158a91
GM
11912 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11913 All calls adjusted.
11914 (x_build_heuristic_mask): Likewise.
11915 (xbm_load_image_from_file): Change error output.
11916 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11917 (gif_load, gs_load, x_kill_gs_process): Ditto.
11918
9b784e96
GM
11919 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11920 color indices when accessing raster pixels.
63cec32f
GM
11921 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11922 one of :file or :data.
11923 (enum pbm_keyword_index): Add PBM_DATA.
11924 (pbm_format): Add :data.
11925 (pbm_image_p): Allow either :file or :data.
11926 (pbm_read_file): New function.
11927 (pbm_scan_number): Rewritten to read from string.
11928 (pbm_load): Support :data.
9b784e96 11929
2cb085db 11930See ChangeLog.8 for earlier changes.
6922b018
KH
11931
11932;; Local Variables:
49b3bd82 11933;; coding: iso-2022-7bit
6922b018 11934;; End: