*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
5247262a
GM
12001-07-23 Gerd Moellmann <gerd@gnu.org>
2
9e5a7f2a
GM
3 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
4 (MAX_10_EXP): New macro.
5 (Fformat): Use it.
6
5247262a
GM
7 * coding.c (code_convert_region): Handle the multibyte case if
8 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
9
177ab8ce
GM
102001-07-20 Gerd Moellmann <gerd@gnu.org>
11
6e07c0a5
GM
12 * dispextern.h (struct face): Change type of `stipple' to
13 int; it's an ID.
14
177ab8ce
GM
15 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
16
b5b80599
GM
172001-07-19 Gerd Moellmann <gerd@gnu.org>
18
4e2a256b
GM
19 * dispnew.c (update_window): Don't set the cursor at the end
20 of the update if display update has been paused.
21
b5b80599
GM
22 * composite.h (syms_of_composite): Renamed from
23 syms_of_composition.
24
c1fd9232
KR
252001-07-18 Ken Raeburn <raeburn@gnu.org>
26
27 * fns.c (Fset_char_table_default): Check that a charset is defined
28 before checking its dimension.
29
928a85c1
KR
302001-07-17 Ken Raeburn <raeburn@gnu.org>
31
32 * coding.c (setup_coding_system): Don't do any designation based
33 on reg_bits if charset is not yet defined.
34
232e274c
KR
35 * lisp.h (XVECTOR): Verify correct object type before returning a
36 pointer, using eassert.
37
de11c1ea
GM
382001-07-17 Gerd Moellmann <gerd@gnu.org>
39
40 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase
41 to 4096 because of paste problems reported on GNU/Linux.
42
467f1209
GM
432001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
44
45 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
46
c3d6be34
GM
472001-07-16 Gerd Moellmann <gerd@gnu.org>
48
c1d61a7d
GM
49 * fileio.c (unwind_read): Function removed.
50 (read_non_regular, read_non_regular_quit): New functions.
51 (Finsert_file_contents): When reading from non-regular files,
52 arrange to catch a `quit' and terminate the loop. Rearrange
53 code so that a `quit' when reading from a regular file doesn't
54 insert text in the buffer.
55
c3d6be34
GM
56 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
57 Clear faces afterwards.
58 (clear_font_table): Take a x_display_info parameter. Don't free
59 fonts being the default font of any frame on the given display.
60
e06aa1f9
GM
612001-07-13 Gerd Moellmann <gerd@gnu.org>
62
63 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
64 instead of CHAR_STRING which can signal an error.
65
66 * charset.c (char_to_string_1): Extracted from char_to_string.
67 Return -1 instead of signaling an error.
68 (char_to_string): Use it.
69
70 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
71
176c92e6
SM
722001-07-12 Stefan Monnier <monnier@cs.yale.edu>
73
74 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
75 is t, don't try to append anything to it.
76
1c56232f
EZ
772001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
78
79 * dired.c (file_name_completion): Pass dp->d_name to
80 Fstring_match, not elt, which is always nil here.
81
1d2b2268
GM
822001-07-12 Gerd Moellmann <gerd@gnu.org>
83
84 * xselect.c (x_decline_selection_request): Handle errors
85 caused by receivers that have vanished.
86
87 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
88 ignoring events on foreign windows in #if 0. Always dispatch
89 the event after checking it with x_handle_property_notify.
90
91 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
92 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
93 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
94 (toplevel): Add prototypes for file-local functions.
95 (x_atom_to_symbol): Remove DPYINFO parameter.
96
fe5a0162
SM
972001-07-11 Stefan Monnier <monnier@cs.yale.edu>
98
99 * w32menu.c (menubar_selection_callback, w32_menu_show):
100 Initialize `entry' to nil.
101 (w32_dialog_show): Remove unused `save_wv' variable.
102 (name_is_separator): Recognize "--:foo" and "--foo-bar".
103
a777242c
GM
1042001-07-11 Gerd Moellmann <gerd@gnu.org>
105
8ee5b6a3
GM
106 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
107
d0e2444e
GM
108 * fileio.c (unwind_read): Print a message when discarding inserted
109 text or switching the buffer to unibyte. Change parameter.
110 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 111
a777242c
GM
112 * fileio.c (unwind_read): New function.
113 (Finsert_file_contents): Record it as unwind-function for
114 the case that reading is interrupted by C-g.
115
ae794295
GM
1162001-07-10 Gerd Moellmann <gerd@gnu.org>
117
fe5a0162 118 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
119 update when scrolling_window returns 0.
120
6b05fae3
GM
121 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
122
123 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 124 for the case that x_decode_color signals an error.
6b05fae3 125
ae794295
GM
126 * xdisp.c (add_to_log): Do nothing if called asynchronously.
127
bb6e8cee
GM
1282001-07-09 Gerd Moellmann <gerd@gnu.org>
129
130 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
131 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
132 around ioctls.
133
36b40a8a
EZ
1342001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
135
24b97d4b
EZ
136 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
137 doc string line for dos-timezone-offset.
138
36b40a8a
EZ
139 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
140 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
141 (syms_of_msdos): Add \n\ at the end of a line in the doc string
142 line for dos-unsupported-char-glyph.
36b40a8a
EZ
143
144 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
145
0967b4b0
GM
1462001-07-05 Gerd Moellmann <gerd@gnu.org>
147
f25cfe53
GM
148 * sound.c: Include Emacs' header files with #include "...".
149
0967b4b0
GM
150 * eval.c (specbind): Additionally record the buffer that was
151 current when a buffer-local or frame-local variable was bound.
152
c347a1c3
GM
1532001-07-04 Gerd Moellmann <gerd@gnu.org>
154
155 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
156 to unibyte characters in unibyte buffers.
157
6332ca8a
GM
1582001-07-03 Gerd Moellmann <gerd@gnu.org>
159
38472d44
GM
160 * eval.c (specbind): If SYMBOL has a frame-local binding, record
161 the frame on the binding stack. Change format of entries for
162 local bindings on the binding stack to '(SYMBOL . WHERE)'.
163 (unbind_to): Handle unbinding a frame-local variable.
164
6332ca8a 165 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 166 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
167 (dump_glyph_row): Print row's continuation_lines_width.
168 (try_window_id): Take the shortcut if ZV is visible in the
169 window, but there are actually no changes at ZV.
170
63d1b174
GM
1712001-07-02 Gerd Moellmann <gerd@gnu.org>
172
4c175203
GM
173 * xterm.h (x_free_dpy_colors): Add prototype.
174
175 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
176 right number of arguments.
177
0b54ce28
GM
178 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
179 ($(lwlibdir)TAGS): New target.
4c175203 180 (TAGS): Fix dependency list.
0b54ce28 181
63d1b174
GM
182 * xterm.c (x_list_fonts): Make sure XFreeFont is called
183 with input blocked.
184
d827466c
GM
1852001-06-30 Gerd Moellmann <gerd@gnu.org>
186
187 * emacs.c (main): Remove extern declaration for sys_nerr, which
188 isn't used and causes a compilation error with GCC 3.0 on
189 FreeBSD 4.3.
190
b5cb1ada
GM
1912001-06-27 Gerd Moellmann <gerd@gnu.org>
192
a5d3ec3f
GM
193 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
194 SIGIO around the code where Xt might wait for a
195 ConfigureNotifyEvent.
196 (toplevel): Include <signal.h> and syssignal.h.
197
b5cb1ada
GM
198 * sound.c (vox_configure, vox_close): Turn off atimers
199 around ioctls.
200
d9bad487
GM
2012001-06-26 Gerd Moellmann <gerd@gnu.org>
202
fdbb67fe
GM
203 * keyboard.c (read_char) <non_reread>: Record the previous idle
204 start time before calling timer_stop_idle.
205 (read_char) <reread_first>: After processing a help-echo event,
206 restore the previous idle start time.
207
d9bad487
GM
208 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
209 the start of invisible text.
210 (setup_for_ellipsis): New function.
211 (next_overlay_string): After all overlay strings have been
212 processed, display an ellipsis if necessary.
213 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
214 (push_it): Initialize display_ellipsis_p on the iterator's stack.
215
216 * dispextern.h (struct iterator_stack_entry): Add member
217 display_ellipsis_p.
218
2b9c25e0
GM
2192001-06-25 Gerd Moellmann <gerd@gnu.org>
220
80de57df
GM
221 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
222 on the value of the wait-for-wm frame parameter.
223
224 * xterm.h (struct x_output): Add member wait_for_wm.
225
226 * xfns.c (Qwait_for_wm): New variable.
227 (x_frame_parms): Add entry for `wait-for-wm".
228 (x_set_wait_for_wm): New function.
229 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
230 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
231
2b9c25e0
GM
232 * xdisp.c (try_window_id) <all changes below window end>: Don't
233 take this shortcut if ZV is visible in the window.
234 (try_window_id): When checking for window start being in changed
235 text, don't check that the buffer's size has changed.
236
f772775c
RS
2372001-06-23 Richard M. Stallman <rms@gnu.org>
238
239 * minibuf.c (Fcompleting_read): Doc fix.
240
fa9090b8
GM
2412001-06-19 Gerd Moellmann <gerd@gnu.org>
242
243 * composite.c (Ffind_composition_internal): Accept ZV
244 and a string's end position as POS.
245
f6f1beba
GM
2462001-06-18 Gerd Moellmann <gerd@gnu.org>
247
248 * composite.c (Ffind_composition_internal): Check POS
249 for validity.
250
0ae83348
EZ
2512001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
252
253 * editfns.c (Fmessage_box): If the frame is not under a window
254 system, output the message in the echo area.
255
e4cdc335
RS
2562001-06-14 Richard M. Stallman <rms@gnu.org>
257
258 * xdisp.c (try_window_id): When EOB is visible, don't treat
259 insertion at EOB as if it were "off the bottom of the screen."
260
a55a5f3c
AI
2612001-06-11 Andrew Innes <andrewi@gnu.org>
262
263 * w32proc.c (create_child): Add new parameter is_gui_app.
264 (w32_executable_type): Add new parameter is_gui_app.
265 (sys_spawnve): Use it.
266 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
267 SIGQUIT. This matches better how the signals are interpreted by
268 MSVC compiled programs.
269 (syms_of_ntproc): Update docstring.
270
1b85dc1c
SM
2712001-06-02 Stefan Monnier <monnier@cs.yale.edu>
272
273 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
274 well otherwise note_mouse_highlight might optimize away highlighting
275 if we pass over that same overlay again.
276
b75f8eab
EZ
2772001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
278
279 * lread.c (Fload): Document that the argument is run via
280 substitute-in-file-name.
281
94843cc1
GM
2822001-05-31 Gerd Moellmann <gerd@gnu.org>
283
b14659e6
GM
284 * Makefile.in (bootstrap-doc): New target.
285 (bootstrap-emacs): Depend on it.
286
0894672f
GM
287 * fileio.c (Fdo_auto_save): Don't try to create the directory of
288 auto-save-list-file-name when shutting down Emacs, because
289 creating the directory might signal an error, and leaves
290 Emacs in a strange state.
291
94843cc1
GM
292 * term.c: (tty_cursor_hidden): New variable.
293 (update_begin): Don't call tty_hide_cursor. Clean up.
294 (update_end, set_terminal_window, set_scroll_region): Clean up.
295 (ring_bell, reset_terminal_modes): Clean up.
296 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
297 on tty_cursor_hidden.
298 (write_glyphs): Call tty_hide_cursor.
299
db3a49a6
SM
3002001-05-30 Stefan Monnier <monnier@cs.yale.edu>
301
302 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
303
8bd189fb
GM
3042001-05-30 Gerd Moellmann <gerd@gnu.org>
305
6f1be3b9
GM
306 * xfns.c (enum image_value_type): New enumerator
307 IMAGE_STRING_OR_NIL_VALUE.
308 (parse_image_spec): Handle it.
309 (xbm_format, pbm_format): Use it for :foreground and :background.
310 (xbm_load, pbm_load): Check for nil color names.
311
8bd189fb
GM
312 * xterm.c (note_mouse_highlight): If an overlapping overlay
313 exists, but we find that we highlight the same overlay as before,
314 don't do the highlighting again.
315
7bdba03c
GM
3162001-05-29 Gerd Moellmann <gerd@gnu.org>
317
4c329aa8
GM
318 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
319 Protect unibyte strings created by replacing their multibyte
320 equivalents in menu_items.
321
e15e2828
GM
322 * keymap.c (Fsingle_key_description): NUL-terminate the string
323 buffer before calling build_string.
324
7bdba03c
GM
325 * callproc.c (Fcall_process): Deal with decode_coding returning
326 CODING_FINISH_INCONSISTENT_EOL.
327
89c8dc6c
GM
3282001-05-28 Gerd Moellmann <gerd@gnu.org>
329
db3a49a6 330 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
331 an item's name with its key description in case the description
332 is a multibyte string.
333
334 * keymap.c (Fsingle_key_description): Create a multibyte string
335 only if necessary.
336
eb04d6cd
GM
337 * macros.c (Fstart_kbd_macro): Doc fix.
338
8bd6307f
GM
339 * xterm.c (cursor_in_mouse_face_p): New function.
340 (x_draw_stretch_glyph_string): Use it to choose a different GC
341 when drawing a cursor within highlighted text.
342
e26c4089
GM
343 * editfns.c (char_property_eq): Put in #if 0.
344
345 * indent.c (string_display_width): Put in #if 0.
346
347 * lread.c (Fload): Remove unused label.
348
89c8dc6c
GM
349 * termcap.c (speeds): Put in #if 0.
350
9a1211f2
GM
3512001-05-18 Gerd Moellmann <gerd@gnu.org>
352
29148a3f
GM
353 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
354
9a1211f2
GM
355 * xfaces.c (xlfd_point_size): Don't divide pixel size from
356 transformation matrix by 10.
357
09393d07
GM
3582001-05-16 Gerd Moellmann <gerd@gnu.org>
359
360 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
361 only if it's equal to the former foreground pixel color.
db3a49a6 362 (x_set_foreground_color, x_set_background_color)
09393d07
GM
363 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
364
460e6bae
GM
3652001-05-16 Dave Love <fx@gnu.org>
366
367 * insdel.c (signal_before_change, signal_after_change): Consider a
368 local change hook which changes the buffer.
99c78ce8
GM
369
370 * process.c (read_process_output): Don't call signal_after_change
371 and update_compositions after insert_from_string_before_markers.
372
dbcf3c03
GM
3732001-05-16 Gerd Moellmann <gerd@gnu.org>
374
a90b3d3c
GM
375 * xfaces.c (split_font_name): Use the right field when
376 checking for `[...]' syntax.
377
1b7818b4
GM
378 * buffer.c (copy_overlays): New function.
379 (clone_per_buffer_values): Use it.
380
381 * buffer.h (OVERLAY_PLIST): New macro.
382
9bae8781
GM
383 * keymap.c (Fsingle_key_description): Replace a build_string with
384 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
385
dbcf3c03
GM
386 * fontset.c (Ffontset_info): Check that face is non-null
387 before accessing its fields.
388
8a1ae4dd
GM
3892001-05-15 Gerd Moellmann <gerd@gnu.org>
390
18a0a39e
GM
391 * keyboard.c (read_key_sequence): Prevent generating a fake
392 prefix key twice.
393
e335b66a
GM
394 * xfaces.c (split_font_name): Handle `[...]' for the right
395 font name fields.
396
8a1ae4dd
GM
397 * ccl.c (ccl_driver): Don't copy remaining bytes in case
398 of CCL_STAT_INVALID_CMD.
399
3cf80731
SM
4002001-05-14 Stefan Monnier <monnier@cs.yale.edu>
401
33568849
SM
402 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
403 in <var> has no default value yet.
404
3cf80731
SM
405 * xfaces.c (try_alternative_families): First try the FAMILY.
406 And if nothing is found in the end, try again with scalable fonts.
407 (try_font_list): Let try_alternative_families do a bit more of
408 the work. Only use FAMILY if it is not nil.
409 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
410
933b0249
GM
4112001-05-14 Gerd Moellmann <gerd@gnu.org>
412
58e5af83
GM
413 * xterm.c (note_mouse_highlight): Avoid changing the mouse
414 pointer shape when show_mouse_face has already done it.
33568849 415
58e5af83 416 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
417 full-width rows.
418
7b16a6bf
GM
419 * xfaces.c (split_font_name): Make sure to leave the loop
420 with the right value of `i'.
3cf80731 421
933b0249
GM
422 * xfaces.c (split_font_name): Handle matrix transformations
423 in the pixel and point size fields of XLFD font names.
424 (xlfd_point_size): Likewise.
425
dddcbf00
EZ
4262001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
427
3cf80731 428 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
429 (x_to_w32_font): Add prototype.
430
7689ef0b
EZ
431 * regex.c (malloc, realloc, free) [emacs]: Undefine before
432 redefining, to avoid compiler warnings.
433
e7c15bba
EZ
434 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
435
dddcbf00
EZ
436 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
437 (w32_get_bdf_glyph): Cast between unsigned char and char when
438 passing arguments to subroutines, to shut up compiler warnings.
439 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
440 GET_HEX_VAL.
441
442 * xfaces.c: Include keyboard.h before frame.h, not after it.
443
444 * widget.c: Include keyboard.h before frame.h.
445
446 * w32term.h (struct image, struct face): Forward declaration, to
447 avoid compiler warnings.
448
7bd2d083
GM
4492001-05-11 Gerd Moellmann <gerd@gnu.org>
450
47e72862
GM
451 * keyboard.c (read_key_sequence): Don't modify events when
452 generating fake prefix keys (mode-line, scroll-bar, ...) since
453 this prevents proper processing of such events when pushed back
454 into unread-command-events.
455
dd5f324b
GM
456 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
457 actually redrawn. Make the function static.
458 (note_mouse_highlight): Fix a case where the mouse cursor
459 was changed back to the text cursor.
460
461 * xterm.h (clear_mouse_face): Remove prototype.
462
d88a79d4
GM
463 * xdisp.c (try_window_id): Fix the fix and set the right
464 window_end_vpos.
465
466 * xdisp.c (try_window_id): Fix computation of window end in the
467 case that lines were deleted at the end of the window. Add some
468 more debug_method_adds.
0416532f 469
7bd2d083
GM
470 * xfaces.c (try_alternative_families): New function.
471 (try_font_list): Use it. If ATTRS specifies a family, check
472 fonts from that family first.
473 (choose_face_font): Remove code setting the family part of
474 the pattern to nil.
475
23fca891
GM
4762001-05-10 Gerd Moellmann <gerd@gnu.org>
477
ff9aa2ca
GM
478 * xdisp.c (try_window_id): Fix case of all changes before
479 the window start.
7b2654b5 480
23fca891
GM
481 * xdisp.c (try_window_id): Add some xasserts.
482
e9726794
GM
4832001-05-09 Gerd Moellmann <gerd@gnu.org>
484
485 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
486
9e53a675
GM
4872001-05-09 Dave Love <fx@gnu.org>
488
489 * xdisp.c (GIVE_UP): Fix for K&R C.
490
0d487c52
GM
4912001-05-09 Gerd Moellmann <gerd@gnu.org>
492
fe88d421
GM
493 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
494
0d487c52
GM
495 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
496 back to the text cursor shape without need.
497
1e9fc92e
GM
4982001-05-07 Gerd Moellmann <gerd@gnu.org>
499
a2a6232e
GM
500 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
501
502 * dispextern.h (inverse_video): Declare extern.
503
1e9fc92e
GM
504 * keyboard.c (delete_kboard): Handle the case that selected_frame
505 has been deleted in the course of x_connection_closed.
506
12949a7f
EZ
5072001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
508
7b2654b5
SM
509 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
510 Fix the change from 2001-04-30.
12949a7f 511
2fa2f461
GM
5122001-05-03 Gerd Moellmann <gerd@gnu.org>
513
a779d213
GM
514 * xfns.c (file_dialog_unmap_cb): New function.
515 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
516 where a dialog is closed via the window manager.
517
7b2654b5 518 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
519 the window start or all below the window end mostly rewritten.
520 (redisplay_window): Move the tests if try_window_id is
521 applicable to try_window_id.
522 (GIVE_UP): New macro.
523
3356df63
GM
5242001-05-02 Gerd Moellmann <gerd@gnu.org>
525
a39202f6 526 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
527 currently being updated, mark the frame garbaged.
528 Fix computation of rows intersecting the exposed rectangle.
a39202f6 529 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 530
3356df63
GM
531 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
532 again if it has already been drawn.
533
a9d2fd1d
SM
5342001-05-01 Stefan Monnier <monnier@cs.yale.edu>
535
536 * syntax.c (update_syntax_table): Check that oldi has the same
537 properties as old_prop before deciding not to invalidate.
538
c95fc5f1
GM
5392001-04-30 Gerd Moellmann <gerd@gnu.org>
540
a9793e45
GM
541 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
542 read-only text that is so because of text properties.
543
c95fc5f1 544 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 545 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
546 windows that are components of a Lucid menu bar.
547
5a5d9185
GM
5482001-04-27 Gerd Moellmann <gerd@gnu.org>
549
550 * term.c (turn_on_face): Fix reverse video handling on terminals
551 that don't support colors.
552
ba973f7a
GM
5532001-04-26 Gerd Moellmann <gerd@gnu.org>
554
555 * editfns.c (save_excursion_restore): Don't use XBUFFER on
556 a non-buffer.
557
8c56a983
GM
5582001-04-25 Gerd Moellmann <gerd@gnu.org>
559
a728644c
GM
560 * term.c (toggle_highlight): New function.
561 (turn_on_face): Change handling of reverse video.
562
7b2654b5
SM
563 * process.c (wait_reading_process_input):
564 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 565
bfd8410f
GM
566 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
567 of the number of overlays to check.
568
be2488ca
GM
569 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
570
8c56a983
GM
571 * xdisp.c (try_window_id): Fix a case where window_end_pos
572 and window_end_bytepos were not adjusted.
573
522d42f7
GM
5742001-04-23 Gerd Moellmann <gerd@gnu.org>
575
576 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
577 zero instead of -1.
578
78c1afb6
EZ
5792001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
580
a9d2fd1d
SM
581 * process.c (wait_reading_process_input) [!subprocesses]:
582 Don't reference waiting_for_user_input_p, it's not defined in the
583 branch without async subprocesses support.
78c1afb6 584
a2fab450
GM
5852001-04-19 Gerd Moellmann <gerd@gnu.org>
586
a122a38e
GM
587 * keyboard.c (delete_kboard): Prevent a dangling reference
588 from current_kboard to KB, which is freed.
589
a9d2fd1d
SM
590 * process.c (wait_reading_process_input):
591 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
592 read_key_sequence aware of buffer changes from under it.
593
0f8d6dc7
GM
5942001-04-18 Gerd Moellmann <gerd@gnu.org>
595
eeffb293
GM
596 * xfaces.c (Qscalable_fonts_allowed): New variable.
597 (realizing_basic_faces_p): Removed.
2fa2f461
GM
598 (x_face_list_fonts): Special handling for realizing_basic_faces_p
599 removed.
eeffb293 600 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
601 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
602 for scalable-fonts-allowed to t.
eeffb293 603
0f8d6dc7
GM
604 * fileio.c (Finsert_file_contents): If the file size returned from
605 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 606 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 607
eec2d1de
EZ
6082001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
609
610 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
611 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
612 (__memalign_hook): Make the two prototypes consistent.
613
f4f480bd
GM
6142001-04-17 Gerd Moellmann <gerd@gnu.org>
615
616 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
617 matrix of mini-windows.
618
52283633
SM
6192001-04-12 Stefan Monnier <monnier@cs.yale.edu>
620
621 * intervals.c (find_interval): Don't rebalance during signal handling.
622
ec2423c9
GM
6232001-04-11 Gerd Moellmann <gerd@gnu.org>
624
30cb0001 625 * fns.c: Include blockinput.h.
52283633 626
ec2423c9
GM
627 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
628
719d83ad
GM
6292001-04-10 Gerd Moellmann <gerd@gnu.org>
630
60f8d735
GM
631 * fns.c (Fcompare_strings): Fix return values.
632
afffeb57
GM
633 * window.c (window_scroll): Change the meaning of N to mean
634 N screen-fulls or N lines.
635 (window_scroll_pixel_based, window_scroll_line_based)
636 (scroll_command, Fscroll_other_window): Change accordingly.
637
52283633
SM
638 * window.c (window_scroll_pixel_based, Frecenter):
639 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
640 height of the window.
641
642 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
643 instead of using it.last_visible_y for the height of the window.
52283633 644
719d83ad 645 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 646 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
647
648 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
649 able to write to hidden and system files. From Dan Holmsand
650 <dan@eyebee.com>.
719d83ad 651
8ddf3ee1
GM
652 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
653 Holmsand <dan@eyebee.com>.
719d83ad 654
522ed7fb
GM
6552001-04-09 Gerd Moellmann <gerd@gnu.org>
656
9170e5d4
GM
657 * fns.c (Fplist_get, Fplist_put): Add QUITs.
658
522ed7fb
GM
659 * window.c (window_internal_height): Return 1 less if the
660 window has a header line.
661
662 * xdisp.c (try_window_id): When scrolling on a terminal, take
663 the change of window_internal_height into account.
664
ceeb3d7d
EZ
6652001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
666
667 * gmalloc.c (align): If the argument SIZE would overflow
668 __malloc_ptrdiff_t, fail right away.
669
63685b9d
GM
6702001-04-06 Gerd Moellmann <gerd@gnu.org>
671
672 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
673 Make sure the tooltip is completely visible.
674 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
675
676 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
677
678 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
679
3ffb33bb
DL
6802001-04-06 Dave Love <fx@gnu.org>
681
52283633
SM
682 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
683 Fix test of `from'.
3ffb33bb 684
869fb12c
GM
6852001-04-06 Gerd Moellmann <gerd@gnu.org>
686
52283633 687 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 688
869fb12c
GM
689 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
690
441bf856
GM
6912001-04-05 Gerd Moellmann <gerd@gnu.org>
692
4d664b04
GM
693 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
694
52283633 695 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 696
30ca89f5
GM
697 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
698 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
699
700 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
701 shell widget's position only if it is non-null.
702
52283633
SM
703 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
704 Set f->output_data.x->widget to null after destroying it.
30ca89f5 705
81a81c0f
GM
706 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
707 FILENAME to bring it in synch with the documentation.
708
441bf856
GM
709 * xfaces.c (realizing_basic_faces_p): Renamed from
710 realize_default_face_p.
711 (realize_basic_faces): Set/clear realizing_basic_faces_p.
712 (realize_default_face): Don't set the flag.
713
702a1e8e
GM
7142001-04-04 Gerd Moellmann <gerd@gnu.org>
715
1013f4e3
GM
716 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
717
52283633
SM
718 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
719
1013f4e3
GM
720 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
721 the buffer that was used for echoing.
722
702a1e8e
GM
723 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
724 (first_font_matching): Removed unused function.
725 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
726 (may_use_scalable_font_p): Remove parameter FONT; rename
727 parameter NAME to FONT.
728 (x_face_list_fonts): Fix missing bounds check.
729 (realizing_default_face_p): New variable.
730 (realize_default_face): Set and clear that flag.
731 (x_face_list_fonts): When called during the realization of the
732 default face, and no matching fonts are found when ignoring
733 scalable fonts and fonts matching a regexp from
734 face-ignored-fonts, try without ignoring fonts.
735
f9dbcda4
GM
7362001-04-03 Gerd Moellmann <gerd@gnu.org>
737
ad18ffb1
GM
738 * xfns.c (postprocess_image): New function.
739 (lookup_image): Call it for all image types except PostScript.
740 (x_kill_gs_process): Call postprocess_image.
741
f9dbcda4
GM
742 * xterm.c (x_use_underline_position_properties): New variable.
743 (x_draw_glyph_string): Use it.
744 (syms_of_xterm): DEFVAR_BOOL it.
745
651f03b6
GM
7462001-04-02 Gerd Moellmann <gerd@gnu.org>
747
748 * xterm.c (x_alloc_nearest_color_1): New function.
749 (x_alloc_nearest_color): Use it.
750 (x_color_cells): Take a Display as argument, instead of a frame.
751 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
752 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
753 (x_initialize): Register cvt_string_to_pixel as resource converter
754 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
755
73d75a62
GM
7562001-03-30 Gerd Moellmann <gerd@gnu.org>
757
b2046df8
GM
758 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
759 (set_iterator_to_next): If a string from a display property ends,
760 consider the case that this might also be the end of an
761 overlay string having the display property.
762
52283633 763 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 764
87d8eba4
GM
765 * xdisp.c (reseat_to_string): Undo last change.
766
73d75a62
GM
767 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
768 matrix of a window when the header line changes, when
769 new rows are allocated, or when the width changes.
770
911a2406
EZ
7712001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
772
52283633 773 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 774
aea51abe
EZ
7752001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
776
777 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
778 deprecated.
779
176bc847
GM
7802001-03-29 Gerd Moellmann <gerd@gnu.org>
781
ed31fabf
GM
782 * data.c (Fsubr_interactive_form): New function.
783 (syms_of_data): Defsubr it.
784
176bc847
GM
785 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
786 (live_float_p, live_misc_p): Return 1 only if the offset of the
787 pointer in its block is >= 0.
788
e59d0e9d
GM
7892001-03-28 Paul Eggert <eggert@twinsun.com>
790
791 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
792 microseconds calcuation. Avoid double-rounding problem.
793 In doc string, warn that the result is approximate.
794
f827b862
GM
7952001-03-28 Gerd Moellmann <gerd@gnu.org>
796
30a3f61c
GM
797 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
798 bind `inhibit-eval-during-redisplay' to t.
799
800 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
801
802 * xdisp.c (inhibit_eval_during_redisplay)
803 (Qinhibit_eval_during_redisplay): New variables.
804 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
805 don't eval, return nil instead.
806 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
807 Initialize Qinhibit_eval_during_redisplay.
808
e719f5ae
GM
809 * xdisp.c (reseat_to_string): If STRING is multibyte, set
810 the iterator's multibyte_p flag.
811
deb2613a
GM
812 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
813 instead of setting it to zero; it's incremented for each frame
814 where the menu face is changed.
815
52283633
SM
816 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
817 change bottom shadow accordingly.
818
819 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
820 intersections here.
821 (expose_window): Do it here instead.
52283633 822 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 823
f827b862
GM
824 * bytecode.c (BYTE_CODE_QUIT): New macro.
825 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
826
4bde0ebb
GM
8272001-03-27 Gerd Moellmann <gerd@gnu.org>
828
607ec83c
GM
829 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
830 Give up if matrix starts in an ellipsis.
831 (init_from_display_pos): Do nothing if POS doesn't specify
832 a dpvec_index but the iterator has such a position.
833
0245398f
GM
834 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
835
aba25348
GM
836 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
837 x/y position is (0, 0) after destroying the menu bar, restore
838 its original position.
839
4bde0ebb
GM
840 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
841 (init_from_display_pos): Use it.
842 (try_window_reusing_current_matrix): Don't use cursor_row_p.
843
8cdb267e
GM
8442001-03-26 Gerd Moellmann <gerd@gnu.org>
845
846 * xdisp.c (try_window_id): Undo last change.
847
9948db79
EZ
8482001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
849
850 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
851
852 * buffer.c (syms_of_buffer): Doc fix.
853
2eddf899
GM
8542001-03-26 Gerd Moellmann <gerd@gnu.org>
855
856 * xfaces.c (x_update_menu_appearance): Use local variable
857 popup_path for setting font resources.
858
6c145d35
EZ
8592001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
860
6a65b1b5
EZ
861 * frame.c (Fframe_list): Don't reference tip_frame if
862 HAVE_WINDOW_SYSTEM is not defined.
863
6c145d35
EZ
864 * emacs.c (main): Update the copyright year. From Werner LEMBERG
865 <wl@gnu.org>.
866
d74c1900
GM
8672001-03-25 Gerd Moellmann <gerd@gnu.org>
868
20fbd925
GM
869 * xdisp.c (init_from_display_pos): Test invisible property
870 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 871
927c5b3b
GM
872 * xdisp.c (redisplay_internal) <update one window>: Make sure
873 last_arrow_position and last_arrow_string are set.
874
d74c1900
GM
875 * frame.c (Fframe_list): Don't return a tooltip frame.
876
091f8878
GM
8772001-03-23 Gerd Moellmann <gerd@gnu.org>
878
52283633
SM
879 * xdisp.c (mark_window_display_accurate_1): New function,
880 extracted from mark_window_display_accurate.
881 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
882 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
883 (mark_window_display_accurate): Use it.
884 (redisplay_internal): Use it for the selected window.
885 (redisplay_internal): Avoid duplicate mark_window_display_accurate
886 for the selected frame.
887
ac90c44f
GM
888 * xdisp.c Use make_number, for readability.
889 (try_window_id): Disable rows below the window end.
890 (try_window_reusing_current_matrix): Use cursor_row_p.
891 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
892 of rows.
893 (init_from_display_pos): If POS specifies a position in a display
894 vector, maybe get the iterator set up for that ellipsis.
43c09969 895
091f8878
GM
896 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
897
991786dd
EZ
8982001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
899
900 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
901
6c29b43c
GM
9022001-03-23 Gerd Moellmann <gerd@gnu.org>
903
904 * xfaces.c (x_update_menu_appearance): Use a different path
905 for Lucid popup menus.
906
d8731202
SM
9072001-03-22 Stefan Monnier <monnier@cs.yale.edu>
908
909 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
910
911 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
912 (string_buffer_position): Use `make_number'.
913
f61a541b
GM
9142001-03-22 Gerd Moellmann <gerd@gnu.org>
915
3c9e997b
GM
916 * xfaces.c (x_update_menu_appearance): Renamed from
917 x_set_menu_face_resources. Use different resources for popups.
918
919 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
920 (GC_CHECK_STRING_BYTES): Don't define.
921
364cd450
GM
922 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
923 Removed, together with subroutines.
924 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 925 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 926
d8731202
SM
927 * dispextern.h (x_set_menu_resources_from_menu_face):
928 Remove prototype.
364cd450 929
d8731202 930 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
931 Remove calls to x_set_menu_resources_from_menu_face.
932
d8731202
SM
933 * xfaces.c (xm_set_menu_resources_from_menu_face):
934 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
935
936 * xmenu.c: Include widget.h.
937 (single_submenu): Return int. Some cleanup.
938 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
939
140330de
GM
9402001-03-21 Gerd Moellmann <gerd@gnu.org>
941
942 * xterm.c (x_update_window_end): Handle overwritten mouse face
943 also for tool bar windows.
944 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
945 DRAW is DRAW_IMAGE_RAISED.
946
1741905c
GM
9472001-03-20 Gerd Moellmann <gerd@gnu.org>
948
fa88947e
GM
949 * print.c (syms_of_print): Doc fixes.
950
1741905c
GM
951 * fns.c (Fmd5): Doc fix.
952
ade0bee1
GM
9532001-03-19 Gerd Moellmann <gerd@gnu.org>
954
357e7376
GM
955 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
956 Clear area of the frame not occupied by the scroll bar.
957
c2c097cc
GM
958 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
959 tip frame's root window buffer to *tip* right after creating
960 the frame.
961
ade0bee1
GM
962 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
963 is an integer don't have to be for space characters.
964
88c6e37e
GM
9652001-03-16 Gerd Moellmann <gerd@gnu.org>
966
52283633
SM
967 * indent.c (current_column, current_column_1, Fmove_to_column)
968 (compute_motion): Handle characters from display vectors differently.
88c6e37e 969
c62eed76
KH
9702001-03-15 Kenichi Handa <handa@etl.go.jp>
971
972 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
973 drawing glyph string.
974
c899e7e6
GM
9752001-03-15 Gerd Moellmann <gerd@gnu.org>
976
d0bbfc99
GM
977 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
978 (command_loop_1): Undo last change.
979
03d1a189
GM
980 * xterm.c (fast_find_position): Return the correct vpos.
981
c899e7e6 982 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 983 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
984 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
985 Call store_symval_forwarding with BUF null.
986 (set_internal): Call store_symval_forwarding with the BUF
987 parameter passed to set_internal. Formerly, the value was always
988 set in the current buffer; the buffer recorded in specbind for
989 this case wasn't used.
990 (arith_driver): Reindent.
991
52283633
SM
992 * buffer.c (swap_out_buffer_local_variables):
993 Call store_symval_forwarding with BUF null.
c899e7e6
GM
994
995 * lisp.h (store_symval_forwarding): Change prototype.
996
997 * eval.c (specbind): Call store_symval_forwarding with BUF null.
998
57ac7c81
GM
9992001-03-14 Gerd Moellmann <gerd@gnu.org>
1000
697617d9
GM
1001 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1002 FOR_DELETION. Avoid resizing the mini-window of the selected
1003 frame if FOR_DELETION is set.
1004 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1005 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1006 signature.
1007
1008 * window.c (Fset_window_configuration): Change call to
1009 do_switch_frame to new format.
1010
1011 * keyboard.c (quit_throw_to_read_char): Change call to
1012 do_switch_frame to new format.
1013
1014 * lisp.h (do_switch_frame): Change prototype.
1015
819dce0f
GM
1016 * frame.c (Fframe_parameters): In the `buffer-list' frame
1017 parameter, store the buffer list of FRAME, not the list of the
1018 selected frame.
1019
57ac7c81
GM
1020 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1021 box just because the glyph row's full_width_p flag is set.
1022
65008712
GM
10232001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1024
1025 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1026 skip the padding blanks inserted in extend_face_to_end_of_line,
1027 before checking for trailing whitespace.
1028
159cf431
GM
10292001-03-13 Gerd Moellmann <gerd@gnu.org>
1030
52283633 1031 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1032 Remove special handling for LessTif/Motif.
1033 (toplevel): Don't include Xm/Xm.h.
1034
52283633
SM
1035 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1036 Remove workaround code for LessTif; it doesn't work anymore.
1037
2564ea1b 1038 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1039 Xm/ScrollBarP.h.
afcdc0a1 1040
52283633
SM
1041 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1042 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1043 contemporary LessTif.
1044
52283633
SM
1045 * xfaces.c (xm_set_menu_resources_from_menu_face):
1046 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1047
159cf431
GM
1048 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1049 removing button grabs.
1050
c6f7429a
KH
10512001-03-13 Kenichi Handa <handa@etl.go.jp>
1052
cb82d767
KH
1053 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1054 and clip-large-size-font as obsolete.
1055
c6f7429a
KH
1056 * lread.c (read_multibyte): Check the validity of multibyte
1057 sequence. If invalid, return the first byte.
1058
760cefb5
GM
10592001-03-12 Gerd Moellmann <gerd@gnu.org>
1060
1061 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1062 before running the command; timer functions or process
1063 filters may have set it.
1064
5141f9d0
EZ
10652001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1066
1067 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1068 Doc fix.
1069
b6a15240
GM
10702001-03-12 Gerd Moellmann <gerd@gnu.org>
1071
1072 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1073 to sprintf.
1074
95522746
GM
10752001-03-09 Gerd Moellmann <gerd@gnu.org>
1076
db14cfc5
GM
1077 * dispextern.h (string_buffer_position): Add prototype.
1078
52283633 1079 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1080 (single_display_prop_string_p): New functions.
1081
1082 * xterm.c (note_mouse_highlight): If there's no help-echo on
1083 a string, look at the buffer text ``under'' it.
1084
1085 * keyboard.c (make_lispy_event): Add string info to the event,
1086 analogous to what's done on mode lines.
1087 (read_key_sequence): For a click on a string, consider `local-map'
1088 and `keymap' of that string.
1089
52283633
SM
1090 * keyboard.c (make_lispy_event, make_lispy_movement):
1091 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1092
1093 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1094
1095 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1096 POS; return void.
1097
95522746
GM
1098 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1099 flags argument to emacs_open; it seems to conflict with O_EXCL.
1100
898a399d
KH
11012001-03-09 Kenichi Handa <handa@etl.go.jp>
1102
28cd4910
KH
1103 * composite.h (struct composition): Change types of members;
1104 glyph_len to unsigned, width to unsigned short.
898a399d 1105
4cdf6a6c
AI
11062001-03-08 Andrew Innes <andrewi@gnu.org>
1107
1108 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1109 menu titles.
1110
129004d3
GM
11112001-03-08 Gerd Moellmann <gerd@gnu.org>
1112
221dd3e7
GM
1113 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1114 instead of nil.
1115
52283633 1116 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1117 help-echo in strings.
1118 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1119 (fast_find_string_pos): New function.
1120
52283633
SM
1121 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1122 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1123
1124 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1125 Handle `mouse-face'.
1126
1127 * dispextern.h (face_at_string_position): Change prototype.
1128
52283633 1129 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1130
129004d3
GM
1131 * keyboard.c (make_lispy_event): Avoid generating drag events
1132 if the mouse hasn't actually moved to another buffer position.
52283633 1133
80c8ab8c
DL
11342001-03-08 Dave Love <fx@gnu.org>
1135
129004d3 1136 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1137
989521fd
GM
11382001-03-08 Gerd Moellmann <gerd@gnu.org>
1139
1140 * process.c (Fset_process_window_size): Fix a typo.
1141
bb5c338d
KH
11422001-03-08 Kenichi Handa <handa@etl.go.jp>
1143
1144 * coding.c (detect_coding_sjis): Do more rigid check.
1145 (detect_coding_big5): Likewise.
1146 (decode_coding_sjis_big5): Likewise.
1147 (Fdetect_coding_region): Call detect_coding_system with tailing
1148 anchor byte `\0' for more rigid detection.
52283633 1149 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1150 (Fdetect_coding_string): Likewise.
1151
8b8f9197
SM
11522001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1153
1154 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1155 a string before extracting its data.
1156
3bdf2660
GM
11572001-03-07 Gerd Moellmann <gerd@gnu.org>
1158
1159 * window.c (Frecenter): Rewrite code handling negative values
1160 of ARG on graphical frames.
1161
11622001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1163
1164 * window.c (displayed_window_lines): If W->start is outside the
1165 accessible portion of the buffer, call start_display with BEGV or
1166 ZV instead of W->start.
1167
471f86b9
GM
11682001-03-07 Gerd Moellmann <gerd@gnu.org>
1169
2ab62c6c
GM
1170 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1171
471f86b9
GM
1172 * process.c (Fset_process_filter): Don't crash if the input
1173 file descriptor of PROCESS is closed.
1174 (Fset_process_window_size): Likewise.
1175
101922c3
GM
11762001-03-06 Kenichi Handa <handa@etl.go.jp>
1177
1178 * xterm.c (XTflash): Make the timeout of select shorter, and call
1179 select repeatedly until the desired time expires.
1180
45d051a7
GM
11812001-03-06 Gerd Moellmann <gerd@gnu.org>
1182
1183 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1184
1185 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1186
1187 * lisp.h (Vwindow_list): Declare extern.
1188
8f372c46
EZ
11892001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1190
1191 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1192
f16a7aa5
GM
11932001-03-06 Gerd Moellmann <gerd@gnu.org>
1194
157ae273
GM
1195 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1196 to detect a case where we have to highlight a different region
1197 despite not having left the currently highlighted region.
1198 Set mouse_face_overlay in the x_display_info.
45d051a7 1199 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1200
1201 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1202
1203 * buffer.c (mouse_face_overlay_overlaps): New function.
1204
1205 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1206 (Qmouse_face): Declare extern.
1207
f16a7aa5
GM
1208 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1209 if face_change_count is non-zero.
1210
827afcac
KH
12112001-03-06 Kenichi Handa <handa@etl.go.jp>
1212
1213 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1214 that the source is unibyte.
1215
14c7242e
DL
12162001-03-05 Dave Love <fx@gnu.org>
1217
827afcac 1218 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1219
c28b847b
GM
12202001-03-05 Gerd Moellmann <gerd@gnu.org>
1221
1222 * minibuf.c (read_minibuf): Clean up the binding stack if
1223 called noninteractively.
1224
b86644f2
KH
12252001-03-05 Kenichi Handa <handa@etl.go.jp>
1226
1227 * coding.c (syms_of_coding): Docstring modified.
1228
203682cc 12292001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1230
1231 * charset.c (char_to_string): If a single byte char has modifier
1232 bits that can't be reflected to the character code, ignore them
45d051a7 1233 instead of signaling an error.
b86644f2 1234
e30bd7b7
EZ
12352001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1236
1237 * s/msdos.h: Update copyright notice.
1238
1239 * dosfns.h: Update copyright notice.
1240
1241 * dosfns.c: Update copyright notice.
1242
1243 * msdos.c: Update copyright notice.
1244
b52b65bd
GM
12452001-03-02 Gerd Moellmann <gerd@gnu.org>
1246
1247 * xterm.c (glyph_rect): New function.
1248 (XTmouse_position): Use it to raise the threshold for mouse
1249 movement event generation.
1250
53c4b1e6
EZ
12512001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1252
1253 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1254 specifies (reverse . t), reverse the initial screen colors.
1255 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1256 but we are reversing the colors, set bg_set, not fg_set.
1257 Likewise for setting background-color and reversing: set fg_set.
1258 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1259 in effect.
1260
1261 * xfaces.c (Finternal_set_lisp_face_attribute)
1262 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1263 parameters alist.
1264
f964b4d7
GM
12652001-03-02 Gerd Moellmann <gerd@gnu.org>
1266
ef53d75e
GM
1267 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1268 to a single slash in the middle of file names.
1269
52283633 1270 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1271 Accept only alphanumeric time zone names.
1272
f964b4d7
GM
1273 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1274 or width area.
1275 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1276 a widget to zero height.
52283633 1277
c3c45f65
GM
12782001-03-01 Gerd Moellmann <gerd@gnu.org>
1279
1280 * window.c (Fwindow_end): Call move_it_past_eol only if
1281 ending up on a partially visible line.
1282
028d739a
DL
12832001-03-01 Dave Love <fx@gnu.org>
1284
1285 * ccl.c (Fccl_execute): Doc fix.
1286
57c5889c
GM
12872001-03-01 Gerd Moellmann <gerd@gnu.org>
1288
35f59f6b
GM
1289 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1290 of the tool bar before calling x_figure_window_size.
1291
f84ff02c
GM
1292 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1293 NULL after destroying it, otherwise XTread_socket can access a
1294 destroyed widget when input is unblocked.
1295
8b8f9197 1296 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1297
57c5889c
GM
1298 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1299 same name as before, although there was a change in fontsets.
1300
224227d1
KR
13012001-02-28 Ken Raeburn <raeburn@gnu.org>
1302
4560730a
KR
1303 * lisp.h (Fframe_parameter): Declare.
1304
224227d1 1305 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1306 Lisp_Object.
224227d1 1307
ece93c02
GM
13082001-02-28 Gerd Moellmann <gerd@gnu.org>
1309
11ef99b9
GM
1310 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1311 NULL instead.
1312
1313 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1314 NULL instead.
1315
ece93c02
GM
1316 * alloc.c (toplevel): Include process.h.
1317 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1318 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1319 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1320 (allocate_vector, allocate_hash_table, allocate_window)
1321 (allocate_frame, allocate_process, allocate_other_vector):
1322 New functions.
ece93c02
GM
1323 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1324 (mark_maybe_pointer): New function.
52283633 1325 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1326 remain and not Lisp_Objects.
1327 (min_heap_address, max_heap_address): New variables.
1328 (mem_find): Return MEM_NIL if START is below min_heap_address or
1329 above max_heap_address.
1330 (mem_insert): Compute min_heap_address and max_heap_address.
1331
1332 * process.c (make_process): Use allocate_process.
1333
1334 * frame.c (make_frame): Use allocate_frame.
1335
1336 * window.c (make_window, make_dummy_parent): Use allocate_window.
1337 (Fcurrent_window_configuration): Use allocate_other_vector.
1338
1339 * lisp.h (allocate_vectorlike): Remove prototype.
1340 (allocate_vector, allocate_other_vector, allocate_frame)
1341 (allocate_window, allocate_process, allocate_hash_table):
1342 Add prototypes.
1343
1344 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1345 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1346
063af457
KH
13472001-02-27 Kenichi Handa <handa@etl.go.jp>
1348
1349 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1350 treat the produced bytes as a valid multibyte sequence.
1351
1352 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1353 (ccl_driver) <CCL_WriteMultibyteChar2>:
1354 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1355 <ccl_finish>: Set ccl->eight_bit_control properly.
1356
1357 * ccl.h (struct ccl_program): New member eight_bit_control.
1358
f58c6494
SM
13592001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1360
1361 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1362 accessible_keymaps_char_table.
1363 (accessible_keymaps_char_table): Obey `is_metized'.
1364 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1365 Lisp_Object.
1366
c596c392
GM
13672001-02-26 Gerd Moellmann <gerd@gnu.org>
1368
1369 * dispnew.c: Check HAVE_TERM_H before including term.h.
1370
425de386
AI
13712001-02-24 Andrew Innes <andrewi@gnu.org>
1372
1373 * makefile.w32-in: Update copyright notice.
1374
2ba11bbd
SM
13752001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1376
1377 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1378
66c56ed1
KH
13792001-02-24 Kenichi Handa <handa@etl.go.jp>
1380
4c1593ce
KH
1381 * Makefile.in (lisp): Add international/utf-8.elc.
1382
66c56ed1
KH
1383 * fontset.c (Fnew_fontset): Fix handling of the case that an
1384 element of FONTLIST is a cons of family and registry.
1385
796ead7e
JR
13862001-02-23 Jason Rumney <jasonr@gnu.org>
1387
1388 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1389 to height unconditionally.
1390
1391 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1392 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1393 (x_insert_glyphs): Call window_box_left to obtain the left
1394 x-coordinate of the area to shift.
1395
1396 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1397 safe_run_hooks.
1398
f6839838
AI
13992001-02-22 Andrew Innes <andrewi@gnu.org>
1400
52283633 1401 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1402 ($(BLD)\dispnew.obj):
1403 ($(BLD)\editfns.obj):
1404 ($(BLD)\fileio.obj):
1405 ($(BLD)\filelock.obj):
1406 ($(BLD)\keyboard.obj):
1407 ($(BLD)\w32proc.obj):
1408 ($(BLD)\process.obj):
1409 ($(BLD)\sysdep.obj): Ditto.
1410
1411 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1412 header files.
52283633
SM
1413 ($(BLD)/dispnew.$(O)):
1414 ($(BLD)/editfns.$(O)):
1415 ($(BLD)/fileio.$(O)):
1416 ($(BLD)/filelock.$(O)):
1417 ($(BLD)/keyboard.$(O)):
1418 ($(BLD)/w32proc.$(O)):
1419 ($(BLD)/process.$(O)):
f6839838
AI
1420 ($(BLD)/sysdep.$(O)): Ditto.
1421
c224f70b
GM
14222001-02-22 Gerd Moellmann <gerd@gnu.org>
1423
51695746
GM
1424 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1425 at the start of the function, check that the \n in it->c is
1426 from the iterator's current position.
52283633 1427
a61b7058
GM
1428 * xdisp.c (handle_single_display_prop): Add parameter
1429 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1430 properties which replace the display of text with something else.
1431 (handle_display_prop): Call handle_single_display_prop with
1432 additional argument saying if we already replaced text display
1433 with something else. Use AREF.
52283633 1434 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1435 (decode_mode_spec_coding): Use AREF and ASIZE.
1436
3473f362
GM
1437 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1438 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1439 * vmstime.h: Files removed.
52283633 1440
2bb58df3
GM
1441 * unexencap.c, unexfx2800.c: Files removed.
1442
c224f70b
GM
1443 * dispnew.c (direct_output_for_insert): Give up if we are showing
1444 a message or just cleared the message because we might need to
1445 resize the echo area window or display an empty echo area.
1446
ffc9ff0c
GM
14472001-02-21 Gerd Moellmann <gerd@gnu.org>
1448
0528abe1
GM
1449 * xdisp.c (redisplay_internal): Do the
1450 mark_window_display_accurate after all windows have been
1451 redisplayed because this call resets flags in buffers which are
1452 needed for proper redisplay.
1453
52283633
SM
1454 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1455 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1456 the old names.
1457
52283633
SM
1458 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1459 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1460
1461 * msdos.h (struct x_output): Rename busy_window to
1462 hourglass_window, busy_p to hourglass_p.
1463
52283633
SM
1464 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1465 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1466
1467 * xfns.c: Rename everything containing *busy_cursor* and similar
1468 to *hourglass*.
1469 (syms_of_w32fns): Rename x-busy-pointer-shape to
1470 x-hourglass-pointer-shape, display-busy-cursor to
1471 display-hourglass, busy-cursor-delay to hourglass-delay.
1472
1473 * w32fns.c: Rename everything containing *busy_cursor* and similar
1474 to *hourglass*.
1475 (syms_of_w32fns): Rename x-busy-pointer-shape to
1476 x-hourglass-pointer-shape, display-busy-cursor to
1477 display-hourglass, busy-cursor-delay to hourglass-delay.
1478
1479 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1480 of its busy_p flag.
1481
1482 * dispextern.h (start_hourglass, cancel_hourglass)
1483 (display_hourglass_p): Renamed from *busy_cursor*.
1484
ab2c5f0a
GM
14852001-02-20 Gerd Moellmann <gerd@gnu.org>
1486
d17e49a8
GM
1487 * keyboard.c (read_char): When an event from unread-command-events
1488 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1489
fa97adf6
GM
1490 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1491 equal to the current buffer.
1492
ab2c5f0a
GM
1493 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1494 nil, otherwise we're left with truncate_lines t when a message
1495 is printed with message-truncate-lines bound to t.
1496
aeac019e
GM
14972001-02-19 Gerd Moellmann <gerd@gnu.org>
1498
c8bc6f65
GM
1499 * window.c (Fmove_to_window_line): Undo last change.
1500 (displayed_window_lines): Call line_bottom_y to determine
1501 the line's bottom position.
1502
1503 * dispextern.h (line_bottom_y): Add prototype.
1504
52283633 1505 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1506 (pos_visible_p): Use it.
1507
980a2d69
GM
1508 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1509 set redisplaying_p to 0 here instead of in Frecursive_edit.
1510 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1511 set redisplaying_p.
1512
52283633 1513 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1514 New variables.
1515 (syms_of_xdisp): Initialize new variables.
1516 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1517 Specbind `inhibit-menubar-update' when updating the menu bar.
1518
65048e97
GM
1519 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1520 safe_run_hooks.
1521
1522 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1523 safe_run_hooks.
1524
a57c4026
GM
1525 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1526 is null.
1527
aeac019e
GM
1528 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1529 to the start of the file.
1530
76846b31
GM
15312001-02-16 Gerd Moellmann <gerd@gnu.org>
1532
f3f053f3 1533 * window.c (set_window_buffer): Fix last change.
52283633 1534
f3f053f3
GM
1535 * window.c (set_window_buffer): Set window's vscroll to 0.
1536
dad75588
GM
1537 * window.c (coordinates_in_window): Increase width of area
1538 where the vertical line can be dragged.
1539
c220b753
GM
1540 * xterm.c (x_set_glyph_string_background_width): Extend the
1541 background face to the end of the drawing area in the text
1542 area, only.
1543
c56b1c1b
GM
1544 * xdisp.c (handle_single_display_prop): Set iterator's position
1545 to where the `display' property starts, like for images.
1546 (dump_glyph): New function.
1547 (dump_glyph_row): Use it. Dump info about marginal areas.
1548
1549 * dispnew.c (direct_output_for_insert): Recognize more cases where
1550 glyphs can be written instead of being inserted.
1551
1552 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1553 the left x-coordinate of the area to shift.
1554
76846b31
GM
1555 * dired.c (directory_files_internal): Set result list to nil
1556 before retrying.
1557
0fc71a77
KH
15582001-02-15 Kenichi Handa <handa@etl.go.jp>
1559
1560 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1561 invalid multibyte sequence, treat *SRC as a character of
1562 eight-bit-graphic.
1563
25078b54
EZ
15642001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1565
1566 * textprop.c (Fset_text_properties): Doc fix.
1567
8399f8a0
GM
15682001-02-15 Gerd Moellmann <gerd@gnu.org>
1569
1570 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1571
9a2a6f73
DL
15722001-02-14 Dave Love <fx@gnu.org>
1573
1574 * coding.c: Doc and message fixes.
1575
bf853fee
AI
15762001-02-14 Andrew Innes <andrewi@gnu.org>
1577
1578 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1579 Emacs frame above the screen size.
1580
78c663d8
GM
15812001-02-14 Gerd Moellmann <gerd@gnu.org>
1582
1583 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1584
7cc9f69f
GM
15852001-02-13 Gerd Moellmann <gerd@gnu.org>
1586
0a411995
GM
1587 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1588 case that TO ends up beyond ZV after running before-change-functions.
1589
5ddc1b75
GM
1590 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1591 the selected window if it is showing the buffer in question.
1592
7cc9f69f
GM
1593 * dired.c (directory_files_internal): Initialize errno.
1594 (toplevel): Include errno.h.
1595
2e6621ca
GM
15962001-02-13 Kenichi Handa <handa@etl.go.jp>
1597
1598 * xfaces.c (best_matching_font): New parameter width_ratio.
1599 Multiply avgwidth by width_ratio.
1600 (choose_face_font): Call best_matching_font with width_ratio
1601 calculated from the column width of C.
1602
60222d69
AI
16032001-02-12 Andrew Innes <andrewi@gnu.org>
1604
1605 The following changes are to draw box lines inside characters area
1606 if line-width is negative.
52283633 1607
60222d69
AI
1608 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1609 face->box_line_width is negative.
1610 (x_produce_stretch_glyph): Likewise.
1611 (x_produce_glyphs): Likewise.
1612 (x_estimate_mode_line_height): Likewise.
1613 (x_draw_glyph_string_background): Likewise.
1614 (x_draw_glyph_string_foreground): Likewise.
1615 (x_draw_composite_glyph_string_foreground): Likewise.
1616 (x_draw_glyph_string_box): Likewise.
1617 (x_draw_image_foreground): Likewise.
1618 (x_draw_image_relief): Likewise.
1619 (x_draw_image_foreground_1): Likewise.
1620 (x_draw_image_glyph_string): Likewise.
1621
9804b846
KH
16222001-02-09 Kenichi Handa <handa@etl.go.jp>
1623
1624 The following changes are to draw box lines inside characters area
1625 if line-width is negative.
52283633 1626
9804b846
KH
1627 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1628 face->box_line_width is negative.
1629 (x_produce_stretch_glyph): Likewise.
1630 (x_produce_glyphs): Likewise.
1631 (x_estimate_mode_line_height): Likewise.
1632 (x_draw_glyph_string_background): Likewise.
1633 (x_draw_glyph_string_foreground): Likewise.
1634 (x_draw_composite_glyph_string_foreground): Likewise.
1635 (x_draw_glyph_string_box): Likewise.
1636 (x_draw_image_foreground): Likewise.
1637 (x_draw_image_relief): Likewise.
1638 (x_draw_image_foreground_1): Likewise.
1639 (x_draw_image_glyph_string): Likewise.
1640
1641 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1642 and :line-width can be negative.
52283633 1643 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1644
49be9f70
JR
16452001-02-09 Jason Rumney <jasonr@gnu.org>
1646
1647 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1648 characters the same as ASCII and latin-1.
1649 (x_display_and_set_cursor): Check for the focus frame's selected
1650 window instead of selected_window.
1651 (x_after_update_window_line): Don't clear if frame's internal
1652 border width is zero.
1653 (x_new_font): Don't change a tooltip's size.
1654 (w32_initialize): Set char_ins_del_ok to 1.
1655
1656 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1657 (x_set_font): If font hasn't changed, avoid recomputing
1658 faces and other things.
52283633
SM
1659 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1660 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1661 (x_create_tip_frame): Prevent changing the tooltip's
1662 background color by specifying a color for the default font
1663 in .Xdefaults.
1664 (Qcancel_timer): New variable.
1665 (syms_of_w32fns): Initialize and staticpro it.
1666 (Fx_hide_tip, Fx_show_tip): Use it.
1667 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1668 the timer.
1669 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1670
1671 * w32.c (init_environment): Duplicate local string before putenv.
1672
555e35d2
SZ
16732001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1674
1675 * charset.c (Fstring): A typo.
1676
19c92c94
KH
16772001-02-09 Kenichi Handa <handa@etl.go.jp>
1678
e47a1c33
KH
1679 * charset.c (Fstring): If all arguments are less than 256, return
1680 a unibyte string.
1681
1682 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1683 return a unibyte string.
1684
19c92c94
KH
1685 * coding.c (code_convert_region): After detecting a coding, if
1686 nothing found, set coding->composing to COMPOSITION_NO.
1687 (decode_coding_string): Likewise.
1688
d8e675f5
SM
16892001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1690
1691 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1692 to avoid overflow.
1693
bd503487
KH
16942001-02-07 Kenichi Handa <handa@etl.go.jp>
1695
1696 * charset.c (parse_str_to_multibyte): New function.
1697
1698 * charset.h (parse_str_to_multibyte): Extern it.
1699
1700 * print.c (print_string): If we are going to print a unibyte
1701 string into a multibyte buffer, convert the string to multibyte by
1702 str_to_multibyte.
1703
a8370d72
AI
17042001-02-06 Andrew Innes <andrewi@gnu.org>
1705
1706 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1707 been created. It seems we can get sent window messages such as
1708 WM_ERASEBKGND before we properly update a frame.
1709
c363a1d6
GM
17102001-02-06 Gerd Moellmann <gerd@gnu.org>
1711
1712 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1713 Avoid some unnecessary cursor positioning.
1714
a08332c0
GM
17152001-02-05 Gerd Moellmann <gerd@gnu.org>
1716
52283633 1717 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1718 (LFACE_AVGWIDTH): New macro.
1719 (LFACEP): Use AREF.
1720 (check_lface_attrs): Check LFACE_AVGWIDTH.
1721 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1722 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1723 (merge_face_vectors): Check LFACE_AVGWIDTH.
1724 (Finternal_make_lisp_face): Use AREF.
1725 (xm_set_menu_resources_from_menu_face)
1726 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1727 (Finternal_lisp_face_empty_p): Use AREF.
1728 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1729 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1730 Compare average widths..
1731 (best_matching_font): Arrange for comparing average widths.
1732
52283633
SM
1733 * dispextern.h (enum lface_attribute_index):
1734 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1735
5cb3c8d4
DL
17362001-02-05 Dave Love <fx@gnu.org>
1737
1738 * puresize.h: Revert last change following loadup.el change.
1739
193fba87
AI
17402001-02-05 Andrew Innes <andrewi@gnu.org>
1741
1742 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1743 invocation of temacs, to work with Windows 2000.
1744 (bootstrap-emacs): Ditto.
1745
e16f52ce
GM
17462001-02-05 Gerd Moellmann <gerd@gnu.org>
1747
7a58ab59
GM
1748 * xterm.c (x_display_and_set_cursor): Check for the focus
1749 frame's selected window instead of selected_window.
1750
e89aaabd
GM
1751 * xdisp.c (try_scrolling): If point is in the line below the
1752 window, make sure to move the iterator at least a canonical
1753 char height down.
1754
52283633 1755 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1756
789ce875
KH
17572001-02-05 Kenichi Handa <handa@etl.go.jp>
1758
52283633
SM
1759 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1760 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1761 (ccl_driver): If the CCL program is terminated because of
1762 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1763 destination instead of throwing them away.
1764
20b28f82
GM
17652001-02-02 Gerd Moellmann <gerd@gnu.org>
1766
79fb38c0
GM
1767 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1768 faces and other things.
1769
20b28f82
GM
1770 * xdisp.c (get_next_display_element): Fix case of empty
1771 display table entry.
1772
5a72551e
EZ
17732001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1774
eb24d0bf
EZ
1775 * editfns.c (Fconstrain_to_field): Doc fix.
1776
6a3f48c7
EZ
1777 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1778 into `thoroughly', to make it consistent with the doc string.
1779
5a72551e
EZ
1780 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1781
01acdb05
GM
17822001-02-01 Gerd Moellmann <gerd@gnu.org>
1783
0353b28f
GM
1784 * search.c (search_buffer): Call set_search_regs with a byte
1785 position, not a character position.
1786
01acdb05
GM
1787 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1788 minibuffer-only,
1789
e86b5133
EZ
17902001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1791
1792 * frame.c (Fmodify_frame_parameters): Doc fix.
1793
7442878f
GM
17942001-01-31 Gerd Moellmann <gerd@gnu.org>
1795
01acdb05
GM
1796 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1797 identifier which is not reserved by Standard C.
52283633 1798
7442878f
GM
1799 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1800
1801 * window.c (enum window_part): New enumeration.
1802 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1803 Qright_bitmap_area.
1804 (coordinates_in_window): Return an enumerator from enum
1805 window_part. Fix handling of right scroll bar.
1806 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1807 `right-fringe' instead of `left-bitmap-area' and
1808 `right-bitmap-area'. Use enumerators from enum window_part
1809 instead of hard-coded integers.
52283633
SM
1810 (check_window_containing, window_from_coordinates):
1811 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1812 (syms_of_window): Replace Qleft_bitmap_area and
1813 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1814
7c132cba
EZ
18152001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1816
1817 * editfns.c (Fformat_time_string): Doc fix.
1818
c359dd9e
SM
18192001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1820
1821 * keymap.c (Fwhere_is_internal): Use the first valid binding
1822 if no ascii binding is found (when firstonly is t).
1823
ce070307
GM
18242001-01-31 Gerd Moellmann <gerd@gnu.org>
1825
b4f30ec5
GM
1826 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1827 instead of Finteractive_p.
1828
1829 * lisp.h (interactive_p): Add prototype.
1830
1831 * eval.c (interactive_p): New function.
1832 (Finteractive_p): Use it.
1833
ce070307
GM
1834 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1835
f57b6e64
DL
18362001-01-31 Dave Love <fx@gnu.org>
1837
d61c7afe
DL
1838 * .gdbinit (hook-run): Define to run xreload.
1839
f57b6e64
DL
1840 * textprop.c (Fset_text_properties): Fix newline in doc string.
1841
eef93f99
GM
18422001-01-30 Gerd Moellmann <gerd@gnu.org>
1843
52283633
SM
1844 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1845 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1846
1847 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1848 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1849 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1850
1851 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1852 height.
1853
d9c1f6f9
DL
18542001-01-30 Dave Love <fx@gnu.org>
1855
1856 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1857 AFTER_POTENTIAL_GC.
1858
e8f044a0
GM
18592001-01-29 Gerd Moellmann <gerd@gnu.org>
1860
52283633
SM
1861 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1862 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1863
8e1db7b3
EZ
18642001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1865
1866 * textprop.c (Fset_text_properties): Doc fix.
1867
4eefd9d2
GM
18682001-01-29 Gerd Moellmann <gerd@gnu.org>
1869
1870 * xdisp.c (forward_to_next_line_start): Remove xassert.
1871
fccb8288
EZ
18722001-01-29 Jason Rumney <jasonr@gnu.org>
1873
4eefd9d2 1874 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1875 returning without releasing it.
1876
76581eab
KH
18772001-01-29 Kenichi Handa <handa@etl.go.jp>
1878
1879 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1880 for '^', '$', and '\0'.
1881
83a96b4d
AC
18822001-01-28 Andrew Choi <akochoi@i-cable.com>
1883
5604ec34
AC
1884 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1885 regex for '^', '$', and '\0'.
1886
83a96b4d
AC
1887 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1888 only if current_sblock has been initialized.
1889
1890 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1891 terminal frame even if it is the only visible frame.
1892
c09a6440
KH
18932001-01-28 Kenichi Handa <handa@etl.go.jp>
1894
1895 * fontset.c (font_family_registry): Even if FONTNAME conform to
1896 XLFD, if it specifies other fields than family and registry,
52283633 1897 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1898 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1899 a signle byte character. Don't set FAMILY part to nil here.
1900 It is handled by the caller choose_face_font.
c09a6440
KH
1901 (Fnew_fontset): Call font_family_registry with FORCE 0.
1902 (Fset_fontset_font): Likewise.
1903
4dcd74e6
GM
19042001-01-27 Gerd Moellmann <gerd@gnu.org>
1905
1906 * xdisp.c (display_line): Don't treat a newline as fitting
1907 on the line.
1908
d2906bf8
GM
19092001-01-26 Gerd Moellmann <gerd@gnu.org>
1910
0130fe1a
GM
1911 * window.c (size_window): Set the window's orig_top to nil when
1912 changing heights, so that a future shrink_mini_window won't
1913 restore a bogus height.
1914
550f0e6a
GM
1915 * frame.c (do_switch_frame): If selected frame has a mini-window,
1916 resize that to exact size.
1917
b7b20fbd
GM
1918 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1919
a47b7816
GM
1920 * xdisp.c (display_line): Simplify check for glyphs fitting
1921 entirely in the line.
1922
d2906bf8
GM
1923 * xfns.c (xic_style): New variable.
1924 (create_frame_xic): Move static variable to global scope for
550f0e6a 1925 the case that `static' gets defined away.
d2906bf8 1926
73df2b1e
KH
19272001-01-26 Kenichi Handa <handa@etl.go.jp>
1928
1929 * coding.c (decode_coding): Set a flag for inhibiting
1930 inconsistent eol.
1931 (code_convert_region): Always set saved_coding_symbol.
1932 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1933 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1934
6613cfc4
GM
19352001-01-25 Gerd Moellmann <gerd@gnu.org>
1936
c5e6e06b
GM
1937 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1938 XClearArea.
1939
1940 * xterm.c (x_after_update_window_line): Don't clear if frame's
1941 internal border width is zero.
1942 (x_clear_area): New function.
1943 (x_after_update_window_line, x_clear_end_of_line)
1944 (x_scroll_bar_create, x_scroll_bar_set_handle)
1945 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1946 instead of XClearArea.
1947
1948 * xterm.h (x_clear_area): Add prototype.
1949
6613cfc4
GM
1950 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1951 which doesn't seem necessary anymore with Lesstif 0.92.
1952
650cc6cc
DL
19532001-01-25 Dave Love <fx@gnu.org>
1954
34ac3367
DL
1955 * puresize.h (BASE_PURESIZE): Up to 720000.
1956
650cc6cc
DL
1957 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1958
5e37dc22
GM
19592001-01-25 Gerd Moellmann <gerd@gnu.org>
1960
e1e441f9
GM
1961 * xdisp.c (echo_area_display): Don't call redisplay_internal
1962 when Emacs is shutting down. We can't run hooks etc. that
1963 would be necessary to do a redisplay.
1964
5e37dc22
GM
1965 * lread.c (read_integer): Use type EMACS_INT instead of int.
1966
0fb94c7f
EZ
19672001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1968
1969 * ccl.c (ccl_driver): Fix last change.
1970
e3778624
KH
19712001-01-25 Kenichi Handa <handa@etl.go.jp>
1972
1973 * ccl.h (sturct ccl_program): New member suppress_error.
1974
bb264518 1975 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1976 insert error message to the output.
1977 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1978
1979 * coding.h (struct coding_system): New member suppress_error.
1980
1981 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1982 (Fset_terminal_coding_system_internal): Set the member
1983 suppress_error to 1.
1984 (Fset_safe_terminal_coding_system_internal): Likewise.
1985
245ed2b1
SM
19862001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1987
1988 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1989 as if it was a `charset'.
1990
f9aaedb6
GM
19912001-01-24 Gerd Moellmann <gerd@gnu.org>
1992
1993 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1994 value in where_is_cache; the next lookup in the cache returns
1995 something bogus if we do.
1996
c3902c3e
EZ
19972001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1998
1999 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2000 if HAVE_WINDOW_SYSTEM isn't defined.
2001
3497f73e
GM
20022001-01-24 Gerd Moellmann <gerd@gnu.org>
2003
e7e41584
GM
2004 * fns.c (sweep_weak_table): Fix code taking items out of
2005 the hash collision chain. Some cleanup.
2006
3497f73e
GM
2007 * xterm.c (x_new_font): Don't change a tooltip's size.
2008
2009 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2010 background color by specifying a color for the default font
2011 in .Xdefaults.
2012
3d48e687
KH
20132001-01-24 Kenichi Handa <handa@etl.go.jp>
2014
96531b20
KH
2015 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2016 a workaround for SunOS 4's cc.
2017 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2018 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2019 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2020 statement.
3d48e687 2021
a30629d2
GM
20222001-01-23 Gerd Moellmann <gerd@gnu.org>
2023
2024 * xterm.c (x_set_window_size_1): New function extracted from
2025 x_set_window_size.
2026 (x_set_window_size): Use it.
2027 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2028 doesn't have a widget, like tooltips.
2029
5a43decf
EZ
20302001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2031
52283633 2032 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2033
b0e98867
KH
20342001-01-23 Kenichi Handa <handa@etl.go.jp>
2035
2036 * fns.c (Fset_char_table_default): Fix to make sub char-table
2037 correctly.
2038
50606b4c
GM
20392001-01-22 Gerd Moellmann <gerd@gnu.org>
2040
cb2ddc53 2041 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2042 a desired tool bar string, even if there are no tool bar items.
2043
57c28064
GM
2044 * xdisp.c (Ftool_bar_lines_needed): New function.
2045 (syms_of_xdisp): Defsubr it.
2046
50606b4c
GM
2047 * editfns.c (Fformat): Don't extend text properties from arguments
2048 to padding chars in the result.
2049
2f169c38
EZ
20502001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2051
2052 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2053
0f32f023
AI
20542001-01-20 Andrew Innes <andrewi@gnu.org>
2055
52283633 2056 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2057 (w32_initialize): Don't set term hooks that aren't actually needed
2058 in windowed mode.
2059
2060 * xfaces.c (realize_default_face):
2061 (realize_face):
2062 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2063
2064 * xdisp.c (handle_single_display_prop): Remove references to
2065 FRAME_W32_CONSOLE_P.
2066
52283633 2067 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2068
2069 * frame.h (output_method): Remove output_w32_console method.
2070 (FRAME_W32_CONSOLE_P): Remove macro.
2071
2072 * frame.c (Qw32_console): Remove variable.
2073 (Fframep): Remove references to it.
2074 (syms_of_frame): Ditto.
2075 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2076
2077 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2078 redefinition.
2079
7173eada
KH
20802001-01-20 Kenichi Handa <handa@etl.go.jp>
2081
2082 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2083
755b45ce
AI
20842001-01-19 Andrew Innes <andrewi@gnu.org>
2085
2086 * w32.c (init_environment): Add a version-independent site-lisp
2087 directory to EMACSLOADPATH, after the version dependent one.
2088
0a949811
GM
20892001-01-19 Gerd Moellmann <gerd@gnu.org>
2090
8501998a
GM
2091 * editfns.c (Fbuffer_substring): Doc fix.
2092
52283633
SM
2093 * xdisp.c (message_dolog, message2, message2_nolog):
2094 Rename parameter LEN to NBYTES.
0a949811 2095
e6ebcbbe
KH
20962001-01-19 Kenichi Handa <handa@etl.go.jp>
2097
200ecca2
KH
2098 * charset.c (strwidth): Use c_string_width.
2099 (c_string_width): New function.
2100 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2101 Caller changed.
2102
2103 * charset.h (c_string_width, lisp_string_width): Extern them.
2104
52283633 2105 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2106
e6ebcbbe
KH
2107 * indent.c (check_composition): Check validity of composition.
2108
200ecca2
KH
2109 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2110 characters by calling c_string_width.
2111 (x_consider_frame_title): Get byte length of frame tile string
2112 correctly.
2113 (display_mode_element): Pay attention to width of non-ASCII
2114 characters by calling strwidth.
2115
8692ca92
GM
21162001-01-18 Gerd Moellmann <gerd@gnu.org>
2117
8962e303
GM
2118 * xfns.c (Qcancel_timer): New variable.
2119 (syms_of_xfns): Initialize and staticpro it.
2120 (Fx_hide_tip, Fx_show_tip): Use it.
2121 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2122 the timer.
2123 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2124
91523be9
GM
2125 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2126
2127 * window.h (WINDOW_LIVE_P): New macro.
2128
b0b7ed0e
GM
2129 * window.c (window_size_fixed): New variable.
2130 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2131 the doc string.
2132
06bccf8e
GM
2133 * eval.c (specbind): If binding a per-buffer variable which
2134 doesn't have a buffer-local value in the current buffer, change
2135 the global value by changing the value of the symbol bound in all
2136 buffers not having their own value, to make it consistent with
2137 what happens with other buffer-local variables.
2138
8692ca92
GM
2139 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2140
2141 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2142 when searching for a newline.
2143
bb3a3b50
KH
21442001-01-18 Kenichi Handa <handa@etl.go.jp>
2145
2146 * xdisp.c (display_string): Fix previous change.
2147
c2cc16fa
JR
21482001-01-18 Jason Rumney <jasonr@gnu.org>
2149
2150 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2151 GLYPH_DEBUG is defined.
2152 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2153 true for images with `:ascent 100'.
2154 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2155 meantime, use face MOUSE_FACE_ID.
2156 If first glyph isn't a character glyph, use the ASCII NUL
2157 character to determine the face.
2158 (expose_area): Do not treat left margin specially.
2159 (note_mode_line_highlight): If no local_map, check global keymap.
2160 (note_mouse_highlight): Initialize overlay.
52283633 2161 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2162 (show_scroll_bars): Remove unused function.
2163 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2164 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2165 Clip to row.
52283633 2166 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2167 (x_free_frame_resources): Unload relief colors.
2168
9c11f79e
GM
21692001-01-17 Gerd Moellmann <gerd@gnu.org>
2170
3aec8722 2171 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2172 get_next_display_element when the newline is already found.
2173 This may change the iterator's position, when its current position is
3aec8722
GM
2174 equal to the iterator's stop_charpos.
2175
f3ffc2c3
GM
2176 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2177 zero, use this method only at the end of a line.
2178
52283633 2179 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2180 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2181 if SCALABLE_FONTS_P is set.
52283633 2182
d26d6fd9
GM
2183 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2184 so that scalable fonts are included.
2185
9c11f79e
GM
2186 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2187 In the cache, use a key containing the information if scalable
2188 fonts are included.
2189 (x_load_font): Adapt to change of keys in the font cache.
2190
21912001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2192
d26d6fd9
GM
2193 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2194 XListFonts to take advantage of font caching.
2195
9c11f79e
GM
2196 * xterm.c (x_list_fonts): Ensure caching font information when
2197 called for a null frame, which is the case frequently when Emacs
2198 starts.
2199
51446987
GM
22002001-01-17 Gerd Moellmann <gerd@gnu.org>
2201
f864120f
GM
2202 * xfns.c (QCconversion): Replaces QCalgorithm.
2203
2204 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2205
2206 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2207 of :algorithm.
52283633 2208
e37d1417
GM
2209 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2210 not everything could be displayed.
2211
51446987
GM
2212 * line.h, x-list-font.c: Files removed because unused.
2213
9ad4f3e5
AI
22142001-01-17 Andrew Innes <andrewi@gnu.org>
2215
2216 * dired.c (directory_files_internal): Convert result from readdir
2217 to a unibyte string initially, to avoid possible misinterpretation
2218 of some bytes as the internal form of Emacs characters.
2219
2eda09b5
KH
22202001-01-17 Kenichi Handa <handa@etl.go.jp>
2221
2222 * fns.c (concat): Be sure to avoid putting the same `composition'
2223 property on the adjacent regions.
2224
826f3788
GM
22252001-01-16 Gerd Moellmann <gerd@gnu.org>
2226
52283633 2227 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2228 (Fscroll_right, Fscroll_left): Set it here instead, if called
2229 interactively.
2230
d57b83b3
GM
2231 * buffer.c (Fset_buffer_modified_p): Set buffer's
2232 prevent_redisplay_optimizations_p flag.
2233
826f3788 2234 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2235 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2236 with additional arg.
2237
2238 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2239 Change prototype.
826f3788 2240
826f3788
GM
2241 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2242 FROM_WHERE, for debugging.
2243
261d788b
KH
22442001-01-16 Kenichi Handa <handa@etl.go.jp>
2245
2246 * ccl.c (Fregister_ccl_program): Handle the return value of
2247 resolve_symbol_ccl_program correctly.
52283633 2248 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2249
bccee4f2
GM
22502001-01-15 Gerd Moellmann <gerd@gnu.org>
2251
e4ded23c
GM
2252 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2253 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2254
2255 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2256 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2257 the display; we didn't open it.
2258
bccee4f2
GM
2259 * dispnew.c (save_or_restore_current_matrices): Function removed.
2260 (save_current_matrix, restore_current_matrix): New functions.
2261 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2262 restore the frame's current matrix. Due to the glyph pointer
2263 setup done in adjust_glyph_matrix, there is no easy way to make
2264 saving the current matrix in the desired matrix generally correct,
2265 so don't try it.
2266
ebeccffa
KH
22672001-01-15 Kenichi Handa <handa@etl.go.jp>
2268
2269 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2270 truncation glyphs.
2271 (display_line): Optimize for wide characters.
e4ded23c 2272 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2273 partially. On ttys, produce more than one truncation glyph for
2274 multi-column characters that don't fit on the line.
2275
64388126
KH
22762001-01-13 Kenichi Handa <handa@etl.go.jp>
2277
52283633
SM
2278 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2279 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2280
8edb0a6f
JR
22812001-01-13 Jason Rumney <jasonr@gnu.org>
2282
2283 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2284 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2285 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2286 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2287
52283633
SM
2288 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2289 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2290 (x_draw_image_glyph_string): Adapt to change of image margins.
2291
2292 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2293 variables.
2294
2295 * w32bdf.c (search_file_line, get_cached_font_char)
2296 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2297
2298 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2299
2300 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2301 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2302 (Fw32_send_sys_command): Remove unused variables.
2303 (w32_msg_pump): Add parentheses.
2304
2305 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2306 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2307 Add parentheses.
2308
4956d1ef
GM
23092001-01-12 Gerd Moellmann <gerd@gnu.org>
2310
b30623be
GM
2311 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2312 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2313 being a pair of margins.
2314 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2315 to DEFVAR_LISP. Extend doc.
2316
2317 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2318 margins.
2319 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2320 pair of integers `(X . Y)', use X for the horizontal and Y for the
2321 vertical margin.
2322 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2323 (parse_image_spec): Check it.
52283633
SM
2324 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2325 (tiff_format, gif_format, gs_format):
2326 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2327
52283633
SM
2328 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2329 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2330 (x_draw_image_glyph_string): Adapt to the change of image margins.
2331
2332 * dispextern.h (struct image): Replace member `margin' with
2333 `hmargin' and `vmargin'.
2334
4554cc79
GM
2335 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2336 and GLYPHS.
2337
2338 * dispnew.c (update_text_area): Put code which decrements the
2339 stop position when the row's face extends to the end of the
3bffc665 2340 line in #if 0.
4554cc79 2341
3cccce8d
GM
2342 * xfns.c (x_set_mouse_color): Fix color allocation.
2343
4956d1ef
GM
2344 * keyboard.c: Call get_local_map with new argument list.
2345
2346 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2347
2348 * intervals.h (enum map_property): Removed.
2349 (get_local_map): Change prototype.
2350
2351 * keymap.c: Call get_local_map with new argument list.
2352 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2353
2c2ff7f2
GM
23542001-01-11 Gerd Moellmann <gerd@gnu.org>
2355
a23887b9
GM
2356 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2357 of the size needed for the tool bar string. For the last image,
2358 use a `display' property that reaches to the end of the string.
2359
a7ee2d2e
GM
2360 * xselect.c (selection_request_dpyinfo): New variable.
2361 (x_handle_selection_request): Set it.
2362 (x_selection_request_lisp_error): Don't call
2363 x_decline_selection_request if selection request's display has
2364 been closed.
2365
52283633
SM
2366 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2367 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2368
457b792c
GM
23692001-01-10 Dave Love <fx@gnu.org>
2370
2371 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2372 ${SOME_MACHINE_LISP}, not ${lisp}.
2373
c1efd260
GM
23742001-01-10 Gerd Moellmann <gerd@gnu.org>
2375
52283633
SM
2376 * xdisp.c (display_line): On ttys, produce more than one truncation
2377 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2378
ac95a621
GM
2379 * xselect.c (x_reply_selection_request): Add a comment.
2380
c1efd260
GM
2381 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2382 XkbGetNames instead of XkbGetKeyboard.
2383
1bfb1345
DL
23842001-01-10 Dave Love <fx@gnu.org>
2385
2386 * sysdep.c (random): Revert the declaration.
2387
38119822
GM
23882001-01-09 Gerd Moellmann <gerd@gnu.org>
2389
52283633
SM
2390 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2391 Call function string_bytes.
35f464a7
GM
2392 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2393
2394 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2395 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2396 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2397 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2398 the current sblock.
2399 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2400 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2401 after sweeping strings, and at the end.
2402 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2403
38119822
GM
2404 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2405 ensure that pop_message is called.
2406
2407 * keyboard.c (Fexecute_extended_command): Use a
2408 record_unwind_protect to ensure that pop_message is called.
2409
2410 * lisp.h (push_message_unwind): Add prototype.
2411
2412 * xdisp.c (push_message_unwind): New function.
2413
2414 * fileio.c (do_auto_save_unwind): Do the pop_message here
2415 instead of in Fdo_auto_save.
2416 (Fdo_auto_save): Don't call pop_message.
2417
f47a9ec4
KR
24182001-01-08 Ken Raeburn <raeburn@gnu.org>
2419
2420 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2421 in inner block.
2422
a758f97d
GM
24232001-01-08 Gerd Moellmann <gerd@gnu.org>
2424
6d0afc03
GM
2425 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2426 when increasing window's vscroll.
2427
a758f97d
GM
2428 * macros.c (Qkbd_macro_termination_hook): New variable.
2429 (syms_of_macros): Initialize and staticpro it.
2430 (pop_kbd_macro): Run kbd-macro-termination-hook.
2431
2432 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2433
1bfb1345 24342001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2435
2436 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2437 arglist, for documentation's sake.
2438
0dac6924
AI
24392001-01-06 Andrew Innes <andrewi@gnu.org>
2440
2441 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2442 of *.pdb.
2443
8182406a
AI
24442001-01-05 Andrew Innes <andrewi@gnu.org>
2445
2446 * term.c (update_end): Don't check updating_frame; for some reason
2447 this can be 0 sometimes, such as after dismissing a popup menu,
2448 and isn't necessary given the explicit frame argument.
2449
3828218c
GM
24502001-01-05 Gerd Moellmann <gerd@gnu.org>
2451
2452 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2453 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2454
2f5ded21
GM
24552001-01-04 Gerd Moellmann <gerd@gnu.org>
2456
52283633 2457 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2458
2459 * xfns.c (x_create_tip_frame): Preserve the value of
2460 face_change_count around the creation of the tip frame.
52283633 2461
2f5ded21
GM
2462 * xfns.c (last_show_tip_args): New variable.
2463 (compute_tip_xy): New function.
2464 (Fx_show_tip): Reuse an existing tip frame, if possible.
2465 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2466
dfad65fa
DL
24672001-01-04 Dave Love <fx@gnu.org>
2468
64d4ec0f
DL
2469 * editfns.c (Fformat): Doc fix.
2470
dfad65fa
DL
2471 * systime.h (set_file_times): Prototype.
2472
2473 * widget.h (EmacsFrameSetCharSize_): Prototype.
2474
2475 * sysdep.c (random, srandom): Declare explicitly.
2476
2477 * dispextern.h (move_it_vertically_backward): Declare.
2478
85fe3b5e
GM
24792001-01-04 Gerd Moellmann <gerd@gnu.org>
2480
0f2ac578
GM
2481 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2482 like in Fx_create_frame.
2483
482cca61
GM
2484 * xfaces.c (set_font_frame_param): Don't do anything for
2485 non-graphical frames.
2486
85fe3b5e
GM
2487 * window.c (Fdelete_other_windows): Set window's window_end_valid
2488 to nil when changing the window's start. Don't change the
2489 window's start when its top position hasn't changed. If we do,
2490 this will set the window's optional_new_start, which act's like a
2491 force_start during redisplay with C-x 1 M-> under particular
2492 circumstances (see report from Per Starback to emacs-pretest-bug
2493 from 2000-12-13.).
2494
3e99d3b4
GM
24952001-01-03 Gerd Moellmann <gerd@gnu.org>
2496
a77dc1ec
GM
2497 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2498 short cut at the start of the function. Add an assertion.
2499 (reseat_at_next_visible_line_start): Add an assertion.
2500
2f3cad6c
GM
2501 * window.c (Frecenter): When changing the window start, set the
2502 window's window_end_valid to nil.
2503 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2504
2505 * dispextern.h (move_it_past_eol): Add prototype.
2506
2507 * xdisp.c (move_it_past_eol): New function.
2508
3e99d3b4
GM
2509 * window.c (Fwindow_end): Doc fix.
2510
25112001-01-03 Dave Love <fx@gnu.org>
2512
52283633 2513 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2514
bafb434c
GM
25152001-01-03 Gerd Moellmann <gerd@gnu.org>
2516
2517 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2518 the enabled_p flag of the glyph row at window_end_vpos to 0.
2519 (handle_single_display_prop): Fix last change.
2520
5297fb00
RS
25212001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2522
2523 * window.c (Frecenter): Doc fix.
2524
13d6a61c
AI
25252001-01-02 Andrew Innes <andrewi@gnu.org>
2526
2527 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2528
2529 * frame.h (output_method): Add output_w32_console method.
2530 (FRAME_W32_CONSOLE_P): New macro.
2531
2532 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2533 use output_w32_console method.
2534 (Qw32_console): New Lisp_Object.
2535 (Fframep): Return it.
2536 (syms_of_frame): Init it.
52283633 2537 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2538
2539 * xfaces.c (realize_default_face): Set face foreground and
2540 background to unspecified for w32_console frames.
2541 (realize_face): Realize face cache for w32_console frames.
2542 (realize_tty_face): Accept w32_console frames.
2543
52283633 2544 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2545 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2546 necessary, even if running interactively.
2547
2548 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2549 w32_console frames.
2550
52283633
SM
2551 * w32term.c (x_update_begin):
2552 (x_update_end):
2553 (x_clear_frame):
2554 (x_ins_del_lines):
2555 (x_change_line_highlight):
2556 (x_delete_glyphs):
2557 (w32_ring_bell):
2558 (x_update_begin):
2559 (x_update_end):
2560 (w32_reassert_line_highlight):
2561 (w32_frame_rehighlight):
13d6a61c
AI
2562 (w32_frame_raise_lower): Do nothing if not w32 frame.
2563
2564 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2565
2566 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2567 system doesn't tell us directly.
2568 (Fx_display_visual_class): Implement properly.
2569
d6bb0c0d
GM
25702001-01-02 Gerd Moellmann <gerd@gnu.org>
2571
2572 * window.c (Frecenter): Handle centering in graphical frames
2573 specially. Centering on the basis of line counts doesn't work
2574 reliably with variable-height lines.
52283633 2575
315f5865
EZ
25762001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2577
2578 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2579 and al[].
2580
52283633 2581 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2582 (update_compositions): Remove unused variable `hook'.
2583
2584 * intervals.c (get_local_map): Remove unused variable `tem'.
2585
2586 * doprnt.c (doprnt1): Remove unused variable `size'.
2587
2588 * fns.c (Flength): Remove unused variable `tail'.
2589 (Fdelete): Remove unused variable `size'.
2590
2591 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2592 and `gcpro2'.
2593
52283633 2594 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2595
2596 * data.c (find_symbol_value): Remove extra 3rd argument in the
2597 call to swap_in_symval_forwarding.
2598
52283633 2599 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2600
2601 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2602 (trivial_regexp_p): Remove unused variable `c'.
2603 (boyer_moore): Remove unused variable `k'.
2604
2605 * indent.c (current_column): Remove unused variable `stopchar'.
2606 (Fcompute_motion): Remove unused variable `contin'.
2607
2608 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2609
2610 * dired.c (directory_files_internal): Fix a typo in a comment.
2611 Remove an unused variable `handler'.
52283633 2612 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2613 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2614 on BSD4_2.
2615
52283633 2616 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2617
2618 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2619 and `buf'.
2620 (Fmarker_insertion_type): Remove unused variable `buf'.
2621
2622 * insdel.c (make_gap): Remove unused variable `result'.
2623
52283633 2624 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2625 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2626 (menu_bar_items): Remove unused function-scope variable `tem'.
2627
2628 * fontset.c (fontset_ref): Remove unused variable `i'.
2629 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2630 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2631 (make_fontset_for_ascii_face): Remove unused variable `name'.
2632 (fs_load_font): Remove unused variable `font_idx'.
52283633 2633 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2634 (list_fontsets): Remove unused variable `tail'.
2635 (Fnew_fontset): Remove unused variables `family' and `registry'.
2636 (accumulate_font_info): Remove unused variable `tmp'.
2637 (Ffontset_font): Remove unused variable `id'.
2638 (syms_of_fontset): Remove unused variable `i'.
2639
2640 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2641 to x_term_init.
2642 (lookup_image): Remove unused variable `file'.
2643 (xbm_load): Remove unused variables `bitmap_data', `height', and
2644 `width'. Remove function-local variable `i', leave the
2645 block-local one.
2646 (gif_load): Remove unused variable `inc'.
2647
52283633 2648 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2649 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2650 leave only the one in the inner block.
2651
2652 * xfaces.c (face_fontset, realize_default_face): Remove unused
2653 variable `fontset'.
2654 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2655
2656 * term.c (encode_terminal_code): Remove unused variable `c'.
2657
2658 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2659 char *' instead of `char *'.
2660
2661 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2662 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2663 (Fchar_category_set): Remove unused variables `val', `charset',
2664 `c1' and `c2'.
2665
52283633
SM
2666 * coding.c (detect_coding_iso2022, setup_coding_system):
2667 Remove unused variable `i'.
315f5865
EZ
2668 (detect_coding_mask): Remove unused variable `idx'.
2669 (detect_coding): Remove unused variable `i'.
2670 (ccl_coding_driver): Remove unused variable `result'.
2671 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2672 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2673 (encode_coding_string): Remove unused variables `gcpro1' and
2674 `saved_coding_symbol'.
2675 (Ffind_coding_systems_region_internal): Remove function-local
2676 variable args[], leave only the block-local one.
2677 (code_convert_region1): Remove unused variable `len'.
2678
2679 * charset.c (char_printable_p): Remove unused variable `chars'.
2680 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2681 (str_to_multibyte): Remove unused variable `c'.
2682
2683 * window.c (size_window): Remove block-local variable `min_size'.
2684
2685 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2686 `header_line_height'.
2687 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2688 enum display_element_type.
2689
1a8a9daf
GM
26902001-01-02 Gerd Moellmann <gerd@gnu.org>
2691
6dde6abc 2692 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2693 statements that call X. Save away the error message in a local copy.
2694
1883b2c6
GM
2695 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2696 the start.
2697
a13be207
GM
2698 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2699 in or at the start of invisible text.
2700
1a8a9daf
GM
2701 * dispnew.c (update_window): Don't check_current_matrix_flags.
2702
3608c0f9
JR
27032001-01-01 Jason Rumney <jasonr@gnu.org>
2704
2705 * w32fns.c (x_figure_window_size): Do not allow new_height and
2706 new_width of frame to override specified values.
2707
abb1acc4
KH
27082000-12-30 Kenichi Handa <handa@etl.go.jp>
2709
52283633 2710 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2711
762a68ec
GM
27122000-12-29 Gerd Moellmann <gerd@gnu.org>
2713
52283633 2714 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2715 (update_window) [GLYPH_DEBUG]: Call it.
2716 (scrolling_window): Prevent including current rows which are below
2717 what's displayed in the window.
2718
2719 * xdisp.c (try_window_reusing_current_matrix)
2720 <new start <= old start>: Disable rows in the current matrix
2721 which are below the window after scrolling.
52283633 2722
762a68ec
GM
2723 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2724 is zero. It's not worth the complexity.
2725 (invisible_text_between_p): Put in #if 0 because unused.
2726
2d5912c1
GM
27272000-12-28 Gerd Moellmann <gerd@gnu.org>
2728
46f6a258
GM
2729 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2730 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2731
89f93679
GM
2732 * keyboard.c (echo_char): If C is an integer, always call
2733 push_key_description. Former code could signal an invalid
2734 character error.
2735
2736 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2737 If set, print multibyte text.
2738 (Fsingle_key_description): Call push_key_description with
2739 FORCE_MULTIBYTE set.
2740 (describe_buffer_bindings): Likewise.
2741
2742 * lisp.h (push_key_description): Add prototype.
2743
c06017fb
GM
2744 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2745 around the call to redisplay_internal.
2746
f1d2ce7f
GM
2747 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2748
2d5912c1
GM
2749 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2750
9371f831
KH
27512000-12-28 Kenichi Handa <handa@etl.go.jp>
2752
2753 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2754 (ccl_driver): New local variable `extra_bytes'.
2755
2756 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2757
52283633
SM
2758 * coding.c (setup_coding_system):
2759 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2760 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2761
0c80628a
KH
27622000-12-28 Kenichi Handa <handa@etl.go.jp>
2763
2764 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2765 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2766 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2767 (decode_composition_emacs_mule): New function.
2768 (decode_coding_emacs_mule): Decode composition sequence by calling
2769 decode_composition_emacs_mule.
2770 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2771 (encode_coding_emacs_mule): Changed from macro to function.
2772 If a text contains compositions, encode them correctly.
0c80628a
KH
2773 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2774 that decoding and encoding are required.
2775
3e32cc27
GM
27762000-12-27 Gerd Moellmann <gerd@gnu.org>
2777
5e25feee
GM
2778 * xfaces.c (PT_PER_INCH): New macro.
2779 (xlfd_point_size): Compute real point size from font's pixel size.
2780 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2781 instead of 72.
2782
892d8fcd
GM
2783 * .gdbinit: Comment out the line pointing to the Lesstif source
2784 directory.
2785
12c8b416
GM
2786 * window.c (Frecenter): Use displayed_window_lines instead
2787 of window_internal_height.
2788
6061fbf0
GM
2789 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2790 instead of x-toolkit-scroll-bars-p.
2791 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2792
2793 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2794 instead of x-toolkit-scroll-bars-p.
2795 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2796
3e32cc27
GM
2797 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2798 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2799 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2800 New variables.
2801 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2802 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2803 (build_frame_matrix_from_leaf_window): Remove unused code.
2804 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2805 redisplay history.
2806 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2807 (update_window) [GLYPH_DEBUG]: Likewise.
2808 (syms_of_display): Defsubr dump-redisplay-history.
2809
31798cfe
GM
28102000-12-23 Gerd Moellmann <gerd@gnu.org>
2811
f717c2ba
GM
2812 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2813 the end of the prompt. Set echo_after_prompt to the offset
2814 of echoptr in echobuf.
2815
aeb2b8fc
GM
2816 * xdisp.c (init_from_display_pos): Pop until the iterator's
2817 stack is empty; there may be frames for stretch or images
2818 on the stack.
2819
31798cfe
GM
2820 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2821 (save_or_restore_current_matrix): New function for the same
2822 purpose, but more efficient.
2823 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2824
f8156156
EZ
28252000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2826
2827 * xdisp.c (syms_of_xdisp): Fix last change.
2828
bdd6d4e8
GM
28292000-12-23 Gerd Moellmann <gerd@gnu.org>
2830
2831 * xdisp.c (syms_of_xdisp): Doc fix.
2832
2833 * xdisp.c (redisplay_window): Remove label restore_buffers;
2834 use finish_scroll_bars instead to make sure that scroll bars
2835 are redeemed. If we don't do this, flickering can result from
2836 scroll bars being destroyed and recreated.
2837
9436cdf9
JR
28382000-12-22 Jason Rumney <jasonr@gnu.org>
2839
2840 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2841 in the wrong colors when the foreground is not black.
2842 (expose_window): Don't redraw the window that's currently being
2843 updated.
2844
951f9df5
GM
28452000-12-22 Gerd Moellmann <gerd@gnu.org>
2846
856ff7a7
GM
2847 * window.c (size_window): When setting the window's too_small_ok
2848 flag, compare old size with minimum size depending on WIDTH_P,
2849 don't compare with window_min_width.
52283633 2850
951f9df5
GM
2851 * window.c (delete_window): Simplify somewhat.
2852 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2853 freeing window matrices. The flag windows_or_buffers_changed is
2854 set, so the next redisplay will consider all windows; this should
2855 suffice.
2856
886bc933
KH
28572000-12-22 Kenichi Handa <handa@etl.go.jp>
2858
2859 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2860
2861 * ccl.h (struct ccl_program): New member cr_consumed.
2862
2863 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2864 (CCL_READ_CHAR): Handle EOL conversion here.
2865 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2866
177f4e88
GM
28672000-12-21 Gerd Moellmann <gerd@gnu.org>
2868
52283633 2869 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2870
2871 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2872 otherwise tabs of different size compare equal.
2873
2874 * callint.c (Fcall_interactively): Prevent a compiler warning.
2875
2876 * print.c (print_unwind): Return nil.
2877 (PRINTDECLARE): Initialize all local variables.
2878 (print_preprocess): Add a default case.
2879
8e15274f
GM
2880 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2881
2882 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2883
52283633 2884 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2885 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2886
2887 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2888
2889 * dispnew.c (ensure_frame_matrix): Removed.
2890 (save_frame_matrix, restore_frame_matrix): New functions.
2891 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2892
2893 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2894 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2895
99012074
AI
28962000-12-21 Andrew Innes <andrewi@gnu.org>
2897
2898 * w32term.c (x_update_begin): Regenerate the palette here, rather
2899 than for each window.
2900
2901 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2902 palette is NULL, since this corrupts memory! Also get
2903 display_info reference from frame.
2904
29ef7d2d
JR
29052000-12-21 Jason Rumney <jasonr@gnu.org>
2906
2907 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2908
2909 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2910 to avoid returning without releasing it.
3e27fa1f 2911
3f9d67a6
KH
29122000-12-21 Kenichi Handa <handa@etl.go.jp>
2913
587fc3f9
KH
2914 * keymap.c (push_key_description): Don't convert eight-bit-control
2915 and eight-bit-graphic to multibyte character.
2916
3f9d67a6
KH
2917 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2918 generic character and CODE1 is nil, return the smallest character
2919 in CHARSET.
2920
774ba8c9
DL
29212000-12-20 Dave Love <fx@gnu.org>
2922
2923 * s/osf5-0.h (NSIG): Don't redefine.
2924
88416888
SM
29252000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2926
2927 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2928 excluding menu-bar and tool-bar.
2929 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2930 (menu_item_p): Remove.
2931 (where_is_internal_1): Don't ignore menu-items.
2932
a6426c6f
GM
29332000-12-20 Gerd Moellmann <gerd@gnu.org>
2934
03ff8aab
GM
2935 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2936 into account.
2937
2938 * window.c (make_window): Initialize window's min_hscroll.
2939 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2940 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2941 to zero.
2942 (struct saved_window): New member min_hscroll.
2943 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2944 (Fset_window_configuration): Set window's min_hscroll.
2945 (save_window_save): Save window's min_hscroll.
2946 (compare_window_configurations): Compare min_hscroll values.
2947
2948 * window.h (struct window): New member min_hscroll.
2949
2950 * keyboard.c (echo_prompt): Prevent a compiler warning.
2951
8de4aaf8
GM
2952 * xdisp.c (try_cursor_movement): Fix last change. The real
2953 condition is that PT is at the end of the row, and should
2954 be displayed at the start of the next row.
52283633 2955
3f7e3031
GM
2956 * xdisp.c (try_cursor_movement): If we end on a partially
2957 visible line, end we already decided to scroll, return -1.
2958
a6426c6f
GM
2959 * dispextern.h (ensure_frame_matrix): Add prototype.
2960
2961 * window.c (delete_window, Fsplit_window)
2962 (Fset_window_configuration): Call ensure_frame_matrix.
2963
52283633
SM
2964 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2965 New functions.
a6426c6f
GM
2966 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2967 completed, call fake_current_matrices instead of marking frame
2968 garbaged.
2969
57fa2774
JR
29702000-12-20 Jason Rumney <jasonr@gnu.org>
2971
2972 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2973
d925df90
EZ
29742000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2975
2976 * fns.c (Frequire): Doc fix.
2977
7b93a85b
GM
29782000-12-19 Gerd Moellmann <gerd@gnu.org>
2979
52283633 2980 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2981
c74e645b
GM
2982 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2983 currently displaying a message.
2984
7b93a85b
GM
2985 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2986 xterm.h.
2987 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2988
90d97e64
AI
29892000-12-18 Andrew Innes <andrewi@gnu.org>
2990
2991 * w32.c (w32_strerror): New function.
2992
2993 * w32.h (w32_strerror): New extern.
2994
2995 * w32fns.c (Fw32_shell_execute): Use it.
2996
91c9e6ce
GM
29972000-12-18 Gerd Moellmann <gerd@gnu.org>
2998
2999 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3000
6f4745e2
EZ
30012000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3002
3003 * msdos.c (IT_set_face): Obey inverse_video.
3004
c9e088ce
KH
30052000-12-18 Kenichi Handa <handa@etl.go.jp>
3006
3007 * dired.c (directory_files_internal): Always return decoded filenames.
3008
c3695f5f
GM
30092000-12-18 Gerd Moellmann <gerd@gnu.org>
3010
52d8e4ff
GM
3011 * xterm.c (x_connection_closed): Prevent being called recursively
3012 because of an error condition in XtCloseDisplay.
52283633 3013
62be9979
GM
3014 * xdisp.c (init_iterator): If noninteractive, and the frame's
3015 face cache is null, make one.
3016
52283633 3017 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3018
c3695f5f
GM
3019 * process.c (wait_reading_process_input): Check for pending
3020 input when running timers.
3021
78555fbe
EZ
30222000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3023
52283633 3024 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3025
b2b36264
KH
30262000-12-18 Kenichi Handa <handa@etl.go.jp>
3027
3028 * process.c (read_process_output): Don't run a filter if the code
3029 decoder produces nothing but carryover.
3030
9c543fbf
AI
30312000-12-17 Andrew Innes <andrewi@gnu.org>
3032
3033 * w32.c (sys_rename): Only check errno against EEXIST, and not
3034 EACCES, when determining whether rename failed because the target
3035 exists. This was resulting in indefinite looping on Windows 9x if
3036 the source file was locked by another process.
3037
3038 * w32fns.c (Ffile_system_info): New function.
3039 (syms_of_w32fns): Defsubr it.
3040
10c2b5a8
GM
30412000-12-17 Gerd Moellmann <gerd@gnu.org>
3042
b0228ace
GM
3043 * window.c (coordinates_in_window): Fix computation for
3044 position on vertical line between mode lines.
3045
10c2b5a8
GM
3046 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3047 Don't alter tip_frame or tip_window.
3048 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3049 was deleted.
3050
c844a81a
GM
3051 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3052 Don't alter tip_frame or tip_window.
3053 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3054 was deleted.
3055
6c825f8e
EZ
30562000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3057
3058 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3059 be consistent with the doc string. Reported by NAKAJIMA Mikio
3060 <minakaji@osaka.email.ne.jp>.
3061
af4bb4c8
KH
30622000-12-16 Kenichi Handa <handa@etl.go.jp>
3063
3064 * xfaces.c (Vface_ignored_fonts): New variable.
3065 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3066 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3067
8062e53a
GM
30682000-12-15 Gerd Moellmann <gerd@gnu.org>
3069
e87b8809
GM
3070 * dispnew.c (update_window): Detect pending input every nth line
3071 updated, i.e. do it depending on real work done, and not on the
3072 vpos of the line.
3073
3074 * xterm.c (expose_window): Don't redraw the window that's
3075 currently being updated.
3076
a6768cc5
GM
3077 * window.c (Fset_window_point): Remove test for
3078 cursor_in_non_selected_windows.
3079
4ea7fdca
GM
3080 * lread.c (read1): Recognize end of file after `\\'.
3081
8062e53a
GM
3082 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3083 not unwind_create_frame.
3084
bb7959c1
GM
30852000-12-15 Dave Love <fx@gnu.org>
3086
3087 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3088 bcopy & al.
3089
3090 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3091
ced04c42
KH
30922000-12-15 Kenichi Handa <handa@etl.go.jp>
3093
c5443913
KH
3094 * coding.c (setup_coding_system): Clear all members of the struct
3095 coding_system at first.
bc137305
KH
3096 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3097 argument.
3098 (code_convert_region): Don't override coding->src_multibyte and
3099 coding->dst_multibyte.
c5443913 3100
ced04c42
KH
3101 * fns.c (Fmd5): Docstring improved.
3102
c2d7f289
MB
31032000-12-15 Miles Bader <miles@gnu.org>
3104
3105 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3106 are actually marked as mode-lines; otherwise use
3107 estimate_mode_line_height.
3108
9d7d9263
GM
31092000-12-14 Gerd Moellmann <gerd@gnu.org>
3110
3111 * editfns.c (Fformat): Prevent a buffer overrun when the format
3112 specifies a precision.
3113
7cf0153a
EZ
31142000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3115
3116 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3117 argument is outside the range [2..3].
3118
1de0f662
AI
31192000-12-14 Andrew Innes <andrewi@gnu.org>
3120
3121 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3122 nothing to do. Bind inhibit-quit.
3123 (tip_frame): Make it a Lisp_Object.
3124 (x_create_tip_frame): Set tip_frame after it has been added to
3125 Vframe_list.
3126 (Fx_show_tip): Don't set tip_frame here.
52283633 3127 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3128 (unwind_create_frame, unwind_create_tip_frame): New functions.
3129 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3130 while a frame is only partially constructed.
3131
3132 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3133 (x_free_frame_resources): New function.
3134 (x_destroy_window): Use it.
3135
02387dcc
GM
31362000-12-14 Gerd Moellmann <gerd@gnu.org>
3137
3138 * xfns.c (Fx_backspace_delete_keys_p): New function.
3139 (syms_of_xfns): Defsubr it.
3140
3141 * config.in (HAVE_XKBGETKEYBOARD): Add.
3142
0544ef49
KH
31432000-12-14 Kenichi Handa <handa@etl.go.jp>
3144
98d62747
KH
3145 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3146 Always store string in multibyte representation in echobuf.
3147 (echo_char): Always store string in multibyte representation in
3148 echobuf.
3149 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3150 (read_key_sequence): Adjusted for the change of echo_prompt.
3151
a20193cd
KH
3152 * fns.c (Fmd5): Docstring improved.
3153
191b83b6
KH
3154 * lisp.h (detect_coding_system): Prototype adjusted.
3155
0544ef49
KH
3156 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3157 (detect_coding_emacs_mule, detect_coding_iso2022,)
3158 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3159 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3160 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3161 (detect_coding_mask, detect_coding_system): New argument
3162 MULTIBYTEP. Callers changed.
1da1bb05
KH
3163 (decode_coding_string): Set coding->src_multibyte and
3164 coding->dst_multibyte before calling detect_coding and detect_eol.
3165 Update them after some coding system is detected.
52283633 3166
d5b3eb1b
SM
31672000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3168
3169 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3170
3171 * keyboard.c (menu_bar_items, tool_bar_items):
3172 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3173
f7f8bb69
GM
31742000-12-13 Gerd Moellmann <gerd@gnu.org>
3175
52283633 3176 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3177 New variables.
3178 (unwind_create_frame, unwind_create_tip_frame): New functions.
3179 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3180 while a frame is only partially constructed.
3181
3182 * xterm.h (x_free_frame_resources): Declare.
3183
3184 * xterm.c (x_free_frame_resources): New function.
3185 (x_destroy_window): Use it.
3186
e10da507
GM
3187 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3188 don't interrupt the update for pending input initially, i.e.
3189 update at least some lines.
3190
3191 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3192
d5b3eb1b 3193 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3194
3195 * xfns.c (gray_bitmap_bits): Declare `char *'.
3196
90aa2856
GM
31972000-12-12 Gerd Moellmann <gerd@gnu.org>
3198
3199 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3200 lines start with a relief line.
3201
a308c9cd
DL
32022000-12-12 Dave Love <fx@gnu.org>
3203
3204 * window.c (Fdisplay_buffer): Doc fix.
3205 (Fwindow_list): Remove unused var.
3206
3207 * buffer.h (mmap_set_vars): Declare.
3208
3209 * window.h (Fset_window_point): Declare.
3210
d575011f
EZ
32112000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3212
bf6282d2 3213 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3214 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3215 variable `area'. When looking for a row under (X,Y), give up if some
3216 of the previous rows is not enabled.
d575011f 3217
ecf4d726
GM
32182000-12-12 Gerd Moellmann <gerd@gnu.org>
3219
2ebf6139
GM
3220 * window.c (Fset_window_point): If displaying cursors in windows
3221 other than the selected window, make sure redisplay updates
3222 other windows to show the new value of point in the window.
3223
3224 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3225
bfdb75ee
GM
3226 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3227 the buffer is the sole visible buffer when in the mini-buffer.
3228
52283633 3229 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3230 Bind `inhibit-read-only' to t.
3231 (unwind_with_echo_area_buffer): Use AREF.
3232
c0006262
GM
3233 * xfns.c (Fx_hide_tip): Simplified.
3234
52283633
SM
3235 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3236 instead of `1'.
e9a59cad 3237
ecf4d726
GM
3238 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3239
e5959a9a
GM
32402000-12-11 Gerd Moellmann <gerd@gnu.org>
3241
a3642e49 3242 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3243
44b5a125
GM
3244 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3245 nothing to do. Bind inhibit-quit.
3246 (tip_frame): Make it a Lisp_Object.
3247 (x_create_tip_frame): Set tip_frame after it has been added to
3248 Vframe_list.
3249 (Fx_show_tip): Don't set tip_frame here.
3250
3251 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3252
3253 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3254 Lisp_Object.
3255
3256 * dispextern.h: Change external declaration of tip_frame.
3257
d990421f
GM
3258 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3259 return an empty string.
3260
4db87380
GM
3261 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3262 of the window's update_mode_line flag, since the former is set by
3263 force-mode-line-update, not the latter. This makes
3264 column-number-mode slightly faster.
52283633 3265
e5959a9a
GM
3266 * xdisp.c (try_window_id) <all changes above window start>:
3267 Set the cursor.
3268
169fe44e
GM
32692000-12-11 Paul Eggert <eggert@twinsun.com>
3270
3271 * config.in (HAVE_FTELLO): Remove.
3272 (HAVE_FSEEKO): Add.
3273 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3274 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3275 HAVE_FTELLO.
3276 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3277 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3278
59ec59ae
MB
32792000-12-11 Miles Bader <miles@gnu.org>
3280
3281 * window.c (displayed_window_lines): Don't round up when
3282 converting empty space at bottom to lines.
ff904dd6
MB
3283 Handle non-newline-terminated final lines properly.
3284 (Fwindow_text_height): New function (used to be in lisp).
3285 (syms_of_window): Initialize it.
59ec59ae 3286
42ebfa31
SM
32872000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3288
3289 * syntax.c (scan_lists): Check that the right quote char has the
3290 right Sstring syntax when jumping over strings.
3291 (init_syntax_once): Use Smax rather than 13.
3292
5cdb3cf3
MB
32932000-12-09 Miles Bader <miles@gnu.org>
3294
3295 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3296 with PARTIALLY, inverting the sense.
3297 (window_scroll_pixel_based): Scroll partially visible lines into
3298 place if we hit the beginning or end of the buffer.
a12167c5
MB
3299 (displayed_window_lines): Don't include partially visible lines.
3300 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3301
842b2a94
GM
33022000-12-08 Gerd Moellmann <gerd@gnu.org>
3303
3304 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3305
3306 * tparam.c (tparam1): Change the way buffers are reallocated to be
3307 portable and less obfuscated.
3308
3309 * termcap.c (tgetent): Change the way buffers are reallocated to
3310 be portable and less obfuscated.
3311
3312 * macros.c (store_kbd_macro_char): Change the way buffers are
3313 reallocated to be portable and less obfuscated.
3314
3315 * lread.c (read1): Change the way buffers are reallocated to be
3316 portable and less obfuscated.
3317
3318 * doc.c (Fsubstitute_command_keys): Change the way buffers
3319 are reallocated so that it is portable.
3320
137cad7c
EZ
33212000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3322
3323 * dosfns.c (Ffile_system_info): New function.
3324 (syms_of_dosfns): Defsubr it.
3325
5c7f629c
SM
33262000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3327
3328 * alloc.c (gc_sweep): Add comment.
3329
959e647d
GM
33302000-12-07 Gerd Moellmann <gerd@gnu.org>
3331
52283633
SM
3332 * sound.c (vox_configure): Change order of ioctls.
3333 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3334 Ignore errors when changing volume.
3335 (vox_close): Don't reset the device.
3336
926b7e5e
GM
3337 * process.c (read_process_output): Make sure the process marker's
3338 position is valid when the process buffer is changed in
3339 after-change functions. W3 does that.
52283633 3340
959e647d
GM
3341 * xfns.c (x_free_gcs): New function.
3342
3343 * xterm.h (x_free_gcs): Add prototype.
3344
3345 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3346 freeing GCs here.
3347
3348 * xterm.c (x_destroy_window): Call x_free_gcs so that
3349 resources of non-toolkit X windows will be freed.
3350
478ea067
AI
33512000-12-07 Andrew Innes <andrewi@gnu.org>
3352
3353 * w32fns.c (xlfd_charset_of_font): Fix last change.
3354
fbee3231
DL
33552000-12-06 Dave Love <fx@gnu.org>
3356
67292061
DL
3357 * md5.h (__P): Don't define -- it comes from config.h.
3358
fbee3231
DL
3359 * strftime.c: Change some #if foo to #ifdef foo.
3360
4ee87dbb
AI
33612000-12-06 Andrew Innes <andrewi@gnu.org>
3362
3363 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3364
52283633 3365 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3366 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3367 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3368
9765b4a4
GM
33692000-12-06 Gerd Moellmann <gerd@gnu.org>
3370
d285b373
GM
3371 * alloc.c (gc_sweep): Prevent symbols read during loadup
3372 from being freed.
3373
384333ee
GM
3374 * xdisp.c (underlying_face_id): New function.
3375 (handle_face_prop, face_before_or_after_it_pos): Use it
3376 to determine the face ``under'' a string. Let strings inherit
3377 the face of the buffer under them.
3378
3379 * xfaces.c (face_at_string_position): Update function comment.
52283633 3380
d4b72d58
GM
3381 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3382 matrix if the window's left position has changed; we need to
3383 redraw it in this case.
3384
3385 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3386
e1d05387
GM
3387 * window.c (coordinates_in_window): Check mouse on mode-line or
3388 header-line first.
3389
eb1b0c74
GM
3390 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3391 advertized by the function documentation.
3392
d94d636f
GM
3393 * window.c (syms_of_window): Doc fix.
3394
3887b449
GM
3395 * sound.c (vox_configure): Set volume for left and right channel.
3396 (sound_cleanup): Return nil.
3397
efc8f57a
GM
3398 * xdisp.c (move_it_by_lines): Fix paren typo.
3399
9765b4a4
GM
3400 * xterm.c (x_load_font): Don't use the font's max_bounds for
3401 computing the height of the font. If max_bounds' ascent or
3402 descent are greater than the font's ascent or descent, this means
3403 glyphs overlap, which should be handled now by redisplay.
3404
6529ed87
GM
3405 * window.c (Veven_window_heights): New variable.
3406 (syms_of_window): DEFVAR_LISP it.
3407 (Fdisplay_buffer): Check Veven_window_heights before evening the
3408 window heights.
52283633 3409
0eb2ecde
MB
34102000-12-06 Miles Bader <miles@gnu.org>
3411
3412 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3413 update `default-frame-alist' instead of setting no frame parameters.
3414
03d7a167
KH
34152000-12-06 Kenichi Handa <handa@etl.go.jp>
3416
3417 * composite.c (update_compositions): Fix typo (use the correct
3418 variable).
3419
5f8803c2
JR
34202000-12-05 Jason Rumney <jasonr@gnu.org>
3421
3422 * md5.h: Remove underscores from function declarations.
3423 (__attribute__, __alignof__) [!__GNUC__]: Define.
3424
3425 * md5.c: Delay include of md5.h until after namespace cleaning.
3426
c28a075b
JR
3427 * makefile.w32-in (fns.o): Depend on md5.h
3428 (md5.o): New target.
3429 (sunfns.o): Remove.
3430
3431 * makefile.nt: Likewise.
3432
ff3c7056
JR
34332000-12-05 Jason Rumney <jasonr@altavista.net>
3434
3435 * w32term.c (expose_area): Complete last change.
3436
0c21eeeb
KR
34372000-12-05 Ken Raeburn <raeburn@gnu.org>
3438
3439 * minibuf.c: Include intervals.h.
3440
f201d732
JR
34412000-12-05 Jason Rumney <jasonr@gnu.org>
3442
3443 * w32term.c (x_produce_glyphs): If a font for a component of
3444 a composition is not found, use 1 pixel dot ascent and 0 dot
3445 descent value to avoid displaying terribly tall empty boxes.
3446 (expose_area): Pass x-coordinate relative to the exposed
3447 area to x_draw_glyphs instead of a window-relative coordinate.
3448
21999ab9
GM
34492000-12-05 Gerd Moellmann <gerd@gnu.org>
3450
4d2036e4
GM
3451 * xdisp.c (next_element_from_ellipsis): Save face before selective
3452 display in saved_face_id, and set face_before_selective_p.
3453 (reseat_1): Reset face_before_selective_p.
3454 (append_space, extend_face_to_end_of_line): If iterator's
3455 face_before_selective_p is set, use the face from saved_face_id.
3456 (extend_face_to_end_of_line): For tty frames, make sure to
3457 use the right face id when producing spaces at the end of
3458 the line.
3459
3460 * dispextern.h (struct it): Add face_before_selective_p.
3461
52be17cc
GM
3462 * keyboard.c (record_char): Don't record identical help-echo
3463 events in recent_keys.
3464
8a4f36cc
GM
3465 * xterm.c [USE_X_TOOLKIT]: Close the display.
3466 (xim_close_dpy): Handle case that the display has been closed.
3467
57d6e381
GM
3468 * xterm.c (x_destroy_window): Reset the frame's X window after
3469 destroying it.
3470
21999ab9
GM
3471 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3472 variable window_width.
3473 (line_draw_cost): Fix code skipping over spaces at the end of the
3474 line when must_write_spaces is not set.
3475 (scrolling_window): Fix code inserting runs in list of all runs.
3476
91372bb7
KH
34772000-12-05 Kenichi Handa <handa@etl.go.jp>
3478
3479 * coding.c (setup_coding_system): Be sure to initialize
3480 coding->category_idx.
3481
6c083b4c
GM
34822000-12-04 Gerd Moellmann <gerd@gnu.org>
3483
0c68ce6f 3484 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3485
6452929e
GM
3486 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3487 area to x_draw_glyphs instead of a window-relative coordinate.
3488
d7f31e22
GM
3489 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3490 error in the message.
3491
ae18aa3b
GM
3492 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3493 timer after having read a key. It's not good for code reading
3494 several keys in a loop, like an input method.
3495
caa15ef7
GM
3496 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3497 record undo information for format-decode.
3498
3499 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3500 current buffer is read-only, not if it isn't.
3501
6c083b4c
GM
3502 * keyboard.c (record_char): Record `help-echo' input events
3503 in recent_keys only if they display some help. Don't record
3504 `help-echo' events as macro char.
3505
caa15ef7
GM
35062000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3507
3508 * editfns.c (save_excursion_restore): Don't move point
3509 in another window if it is showing the wrong buffer.
3510 Avoid the call to Fwindow_live_p, for speed.
3511
5a13529b
KH
35122000-12-04 Kenichi Handa <handa@etl.go.jp>
3513
e225faa7
KH
3514 * xfaces.c (struct font_name): New member registry_priority.
3515 (split_font_name): Initialize the above member to zero.
3516 (concat_font_list): New function.
3517 (font_list): Include fonts of all alternative registries.
3518 (FONT_POINT_SIZE_QUANTUM): New macro.
3519 (better_font_p): Ignore point size difference less than
3520 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3521
e89648b4
KH
3522 * xterm.c (x_produce_glyphs): If a font for a component of
3523 a composition is not found, use 1 pixel dot ascent and 0 dot
3524 descent value to avoid displaying terribly tall empty boxes.
3525
5a13529b
KH
3526 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3527
d7935eb6
KR
35282000-12-03 Ken Raeburn <raeburn@gnu.org>
3529
3530 * coding.h (code_convert_string1): Declare.
3531
3532 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3533
52283633 3534 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3535
0dd5e255
JR
35362000-12-02 Jason Rumney <jasonr@gnu.org>
3537
3538 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3539 correctly for single byte character case.
3540 (w32_per_char_metric): Do not try to make any assumptions about
3541 the metrics of BDF fonts.
250cfece 3542 (x_estimate_mode_line_height): If `mode-line' face
52283633 3543 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3544 (note_mouse_highlight): Change the cursor shape on the vertical
3545 border between windows [not enabled].
3546
3547 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3548
3549 * w32fns.c (Fx_create_frame): Reintroduce the call to
3550 face-set-after-frame-defaults.
3551 (Vx_window_horizontal_drag_shape): New variable.
3552 (syms_of_xfns): DEFVAR_LISP it.
3553 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3554 enabled].
0dd5e255 3555
b5d8d2ca
GM
35562000-12-02 Simon Josefsson <simon@josefsson.org>
3557
3558 * fns.c (Fmd5): Use a different logic to decide the coding system
3559 to use.
3560
3561 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3562
fbb87147
EZ
35632000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3564
52283633 3565 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3566
447e9da0
GM
35672000-12-01 Gerd Moellmann <gerd@gnu.org>
3568
7708ced0
GM
3569 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3570 height for YNegative.
3571 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3572 height; also see comment there.
3573
447e9da0
GM
3574 * window.c (coordinates_in_window): Handle computations for
3575 positions on the vertical bar and fringes differently for
3576 window-system frames. Consider some pixels near the vertical bar
3577 as on the bar if the frame doesn't have vertical scroll bars.
3578 Associate positions between mode or header lines with the
3579 right window, the left one.
3580
86d1db20
JR
35812000-12-01 Jason Rumney <jasonr@gnu.org>
3582
3583 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3584
3585 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3586 invalid frame.
3587
a1d58e5b
GM
35882000-12-01 Gerd Moellmann <gerd@gnu.org>
3589
52283633 3590 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3591 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3592 (save_window_save, Fset_window_configuration): Save/restore
3593 window's orig_top and orig_height.
3594
89c609af
JR
35952000-12-01 Jason Rumney <jasonr@gnu.org>
3596
4d177746 3597 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3598
89c609af
JR
3599 * w32fns.c (x_set_cursor_color): Fix last change.
3600
eccc05db
GM
36012000-11-30 Gerd Moellmann <gerd@gnu.org>
3602
31b6671b
GM
3603 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3604 sure that the next redisplay displays the minibuffer, so that
3605 the cursor will be replaced with what the minibuffer wants.
3606
eccc05db
GM
3607 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3608 #ifndef instead of using #if.
3609 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3610 USE_TOOLKIT_SCROLL_BARS is defined.
3611
162de750
JR
36122000-11-30 Jason Rumney <jasonr@gnu.org>
3613
3614 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3615 x_display_cursor.
3616
693c4692
GM
36172000-11-30 Gerd Moellmann <gerd@gnu.org>
3618
3619 * fns.c (Fmd5): Doc fix.
3620
b5d8d2ca 36212000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3622
3623 * fns.c (Fmd5): New function.
3624 (syms_of_fns): Defsubr md5.
3625
3626 * Makefile.in (obj): Add md5.o
3627
b02cd40b
GM
36282000-11-30 Gerd Moellmann <gerd@gnu.org>
3629
edfb795e
GM
3630 * md5.h, md5.c: New files, taken from glibc.
3631
df3aedcf
GM
3632 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3633
b02cd40b 3634 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3635 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3636
8b5176cd
SM
36372000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3638
3639 * eval.c (Frun_hooks): Allow 0 arguments.
3640
346598f1
GM
36412000-11-29 Gerd Moellmann <gerd@gnu.org>
3642
f9396e03
GM
3643 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3644 is over the menu bar widget, say it's not on the frame.
3645
4a967a9b
GM
3646 * xfns.c (Fx_create_frame): Reintroduce the call to
3647 face-set-after-frame-defaults.
3648
346598f1
GM
3649 * eval.c (Fsignal): Reset handling_signal.
3650
222456a1
JR
36512000-11-28 Jason Rumney <jasonr@gnu.org>
3652
3653 * w32menu.c (add_menu_item): Reset menu item text when changing
3654 type to radio button.
3655
8049ddc0
GM
36562000-11-28 Gerd Moellmann <gerd@gnu.org>
3657
346598f1 3658 * xselect.c: Update copyright.
f4f4ee4d 3659
bebe4a2c
GM
3660 * window.c (coordinates_in_window): If on a mode or header line,
3661 but sufficiently close to its start, return ``on vertical
3662 border''. This gives us a way to drag windows horizontally when
3663 using toolkit scroll bars.
3664
3665 * xterm.c (note_mouse_highlight): Change the cursor shape
3666 on the vertical border between windows.
3667
3668 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3669
3670 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3671 (syms_of_xfns): DEFVAR_LISP it.
3672 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3673
8d2c2642
GM
3674 * textprop.c (text_read_only): New function.
3675 (verify_interval_modification): Use it instead of signaling
3676 `text-read-only'. This makes it easier to catch this error
52283633 3677 with a breakpoint.:
8d2c2642 3678
52283633 3679 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3680 not end of line, which includes CR.
3681
5a2bae6c
KH
36822000-11-28 Kenichi Handa <handa@etl.go.jp>
3683
3684 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3685 include no-conversion.
3686
ae31f84d
JR
36872000-11-27 Jason Rumney <jasonr@gnu.org>
3688
3689 * w32fns.c (w32_load_system_font): Always mark font as double byte
3690 if codepage is unicode.
3691
67f1cf4c
GM
36922000-11-27 Gerd Moellmann <gerd@gnu.org>
3693
4a74d071 3694 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3695 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3696
902ae620
GM
3697 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3698 `vertical-line', `mode-line' and `header-line' events.
3699
3700 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3701 of a character, a TAB for instance. This is easier than to set
3702 up the iterator exactly, and it's not a frequent case, so the
3703 additional effort wouldn't really pay off.
3704
c1e279c2
AC
37052000-11-26 Andrew Choi <akochoi@i-cable.com>
3706
67f1cf4c 3707 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3708 init_window_once.
3709
a609568a
JR
37102000-11-25 Jason Rumney <jasonr@gnu.org>
3711
52283633
SM
3712 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3713 Args to window_from_coordinates should be pixel coordinates.
48b21762 3714
a609568a
JR
3715 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3716 redisplay handles them properly.
3717
a658d039
MB
37182000-11-25 Miles Bader <miles@gnu.org>
3719
3720 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3721
d3416cca
JR
37222000-11-24 Jason Rumney <jasonr@gnu.org>
3723
3724 * w32.c (init_environment): Set LANG environment variable based on
3725 locale settings, if not set.
3726
3727 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3728 making tool bar smaller. When clearing the frame, also
3729 clear current matrices. Clear frame when tool bar disappears.
3730 Don't use more lines for the tool-bar than is available.
3731 (x_change_window_heights): New function.
3732
ba193890
GM
37332000-11-24 Gerd Moellmann <gerd@gnu.org>
3734
2be8f184
GM
3735 * xdisp.c (init_from_display_pos): If POS says we're already after
3736 an overlay string ending at POS, make sure to pop the iterator
3737 because it will be in front of that overlay string. When POS is
3738 ZV, we've thereby also ``processed'' overlay strings at ZV.
3739
ba193890
GM
3740 * xfaces.c (lface_from_face_name): Function comment fix.
3741
1862a24e
MB
37422000-11-24 Miles Bader <miles@gnu.org>
3743
3744 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3745 apply `mode-line-inverse-video' -- zero means force display using
3746 the default face, non-zero means display using the specialized face.
3747 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3748
f07fa1b8
KH
37492000-11-23 Kenichi Handa <handa@etl.go.jp>
3750
3751 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3752 hard coded `4'.
3753
2bcdf662
EZ
37542000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3755
3756 * coding.c (decode_coding_emacs_mule): Fix the case of
3757 CODING_EOL_LF, which used uninitialized value of c.
3758
ba8299ff
SM
37592000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3760
3761 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3762
f4117c4d
GM
37632000-11-22 Gerd Moellmann <gerd@gnu.org>
3764
03e757c1
GM
3765 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3766 buffer object.
3767
f4117c4d
GM
3768 * frame.h (struct frame): Replace desired_tool_bar_items,
3769 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3770 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3771
3772 * frame.c (make_frame): Change initialization of tool bar
3773 items accordingly.
3774
3775 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3776 Change references to members deleted from struct frame to use the
f4117c4d
GM
3777 new ones.
3778
3779 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3780 references to members deleted from struct frame to use the new ones.
f4117c4d 3781
52283633 3782 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3783
3784 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3785
3786 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3787 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3788 from struct frame to use the new ones.
3789
f8e2f3f2
MB
37902000-11-23 Miles Bader <miles@gnu.org>
3791
3792 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3793 the face's inverse-video attribute, rather than overriding it.
3794
60e8e0a5
GM
37952000-11-22 Gerd Moellmann <gerd@gnu.org>
3796
3797 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3798 making tool bar smaller.
3799
92dd1b29
DL
38002000-11-22 Dave Love <fx@gnu.org>
3801
3802 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3803
e672fdce
MB
38042000-11-22 Miles Bader <miles@gnu.org>
3805
3a17d6cc
MB
3806 * keyboard.c (Vminibuffer_message_timeout): New variable.
3807 (command_loop_1): Use it to determine message timeout.
3808 (syms_of_keyboard): Initialize it.
3809
60e8e0a5 3810 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3811
e9655d81
KH
38122000-11-22 Kenichi Handa <handa@etl.go.jp>
3813
3814 * sysdep.c: Move the code for declaring h_errno after #include
3815 <netdb.h>.
3816
77270fac
GM
38172000-11-21 Gerd Moellmann <gerd@gnu.org>
3818
cd913aae
GM
3819 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3820 the menu bar when the tooltip is unmapped.
3821
77270fac
GM
3822 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3823 sole visible buffer when we're currently in the mini-buffer, and
3824 give up if so.
52283633 3825
556635d6
JR
38262000-11-21 Jason Rumney <jasonr@gnu.org>
3827
3828 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3829 put on the clipboard.
3830 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3831 copy of what Emacs last put there. If they are the same, do not
52283633 3832 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3833
5b7bde64
MB
38342000-11-22 Miles Bader <miles@gnu.org>
3835
3836 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3837 (syms_of_minibuf): Initialize it.
3838 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3839 to prompt, don't make read-only.
3840
ff23e1dd
GM
38412000-11-21 Gerd Moellmann <gerd@gnu.org>
3842
52283633
SM
3843 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3844 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3845
7aaf4388
GM
3846 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3847
f5f47add 3848 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3849
ff23e1dd
GM
3850 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3851
37c35586
KH
38522000-11-21 Kenichi Handa <handa@etl.go.jp>
3853
3854 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3855 ... #endif scope.
3856
ff9ab414
GM
38572000-11-20 Gerd Moellmann <gerd@gnu.org>
3858
52283633 3859 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3860 screen supports it.
3861
29a01b72
GM
3862 * s/gnu-linux.h: Don't use `#cpu'.
3863
09dfdf85
GM
3864 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3865 not defined in mman.h.
3866
52283633 3867 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3868 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3869 and store an index in the XClientMessageEvent. Storing a
3870 Lisp_Object or pointer can fail on a 64 bit system, since X only
3871 transfers 32 bits.
52283633
SM
3872 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3873
81459ac9
DL
38742000-11-20 Dave Love <fx@gnu.org>
3875
3876 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3877
56c13ae6
GM
38782000-11-20 Gerd Moellmann <gerd@gnu.org>
3879
3880 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3881
495a6df3
KH
38822000-11-20 Kenichi Handa <handa@etl.go.jp>
3883
2bcf3714
KH
3884 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3885 by WIDTH.
3886
495a6df3
KH
3887 * alloc.c (make_string): Fix previous change. Be sure to make
3888 unibyte string correctly.
3889
6d950f4c
GM
38902000-11-19 Gerd Moellmann <gerd@gnu.org>
3891
39b39373
GM
3892 * window.c (Fwindow_list): Change parameter list to be XEmacs
3893 compatible.
3894 (window_list_1): New function.
3895 (window_loop): Use it instead of Fwindow_list.
3896
b95b34e5
GM
3897 * sysdep.c (emacs_ospeed): New variable.
3898 (toplevel): Don't declare ospeed extern.
3899 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3900
3901 * termcap.c (ospeed): Remove.
3902 (tputs) [!emacs]: Remove unused code.
3903 (tgetent): Avoid a compiler warning.
3904
e83dc917
GM
3905 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3906 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3907 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3908
3909 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3910 removed.
3911 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3912 Take the X display as additional argument.
3913 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3914 `Widget' is a pointer type that's not easily stored in Lisp_Object
3915 form in a portable way.
52283633 3916
6d950f4c
GM
3917 * dispnew.c (update_text_area): Fix last change.
3918
e47306e6
GM
39192000-11-18 Gerd Moellmann <gerd@gnu.org>
3920
fb3cd89b
GM
3921 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3922
3923 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3924 clear current matrices.
3925
edaa9aed
GM
3926 * buffer.c (mmap_enlarge): Don't print a message on stderr
3927 if mapping new memory at the end of the existing region fails.
3928
e47306e6
GM
3929 * dispnew.c (update_text_area): Don't skip over equal glyphs
3930 when the last current glyph overlaps the glyph to its right.
3931
509633e3
MB
39322000-11-18 Miles Bader <miles@gnu.org>
3933
3934 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3935 lines that *end* with "..." too (that's the most common case!).
3936
d392e9c5
GM
39372000-11-18 Gerd Moellmann <gerd@gnu.org>
3938
67988445
GM
3939 * xdisp.c (resize_mini_window): Temporarily change to the
3940 mini-window's buffer if necessary.
1bfdbe43 3941
d392e9c5
GM
3942 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3943 the tooltip obscures less text under it.
3944
39452000-11-17 Gerd Moellmann <gerd@gnu.org>
3946
3947 * puresize.h (BASE_PURESIZE): Increase to 700000.
3948
92bb977f
JR
39492000-11-18 Jason Rumney <jasonr@gnu.org>
3950
3951 * w32term.c (w32_draw_bitmap): Use face to set colors.
3952
26fbf20b
DL
39532000-11-17 Dave Love <fx@gnu.org>
3954
3955 * lread.c (Fload): Fix #ifdef for pcc.
3956
100b593b
GM
39572000-11-17 Gerd Moellmann <gerd@gnu.org>
3958
3959 * xdisp.c (pos_visible_p): Compute the default character height
3960 differently.
3961
a288d0d1
GM
39622000-11-16 Gerd Moellmann <gerd@gnu.org>
3963
cac94de6 3964 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3965 knowing the line's height; use the default font's height in that case.
cac94de6 3966
a288d0d1
GM
3967 * xfaces.c (weight_table): Add `demi' with the same meaning as
3968 `demibold'.
3969
981fb6f6
KH
39702000-11-16 Kenichi Handa <handa@etl.go.jp>
3971
2cca872d 3972 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3973 (clear_glyph_row): Delete local static variable null_row.
3974
e5fa381b
JR
39752000-11-15 Jason Rumney <jasonr@gnu.org>
3976
3977 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3978 (w32_alloc_lighter_color): Use new brightness calculations from
3979 xterm.c. Scale delta to be in the range expected by W32.
3980 (w32_draw_relief_rect): Use frame relief colors.
3981
8e42f043
GM
39822000-11-15 Gerd Moellmann <gerd@gnu.org>
3983
6d133d1f
GM
3984 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3985 (Qinhibit_default_face_x_resources): New variable.
3986 (syms_of_frame): Initialize it.
3987 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3988
3989 * xdisp.c (pos_visible_p): Improve function comment.
3990
3991 * lisp.h (BINDING_STACK_SIZE): New macro.
3992
8e42f043
GM
3993 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3994 reading the directory if readdir returns null and errno is EAGAIN
3995 or EINTR.
3996
e8c87124
SM
39972000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3998
3999 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4000 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4001 Set amount_to_scroll to max of dx and scroll_step so that
4002 scroll-conservatively doesn't defeat scroll-step>1.
4003 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4004 scroll-conservatively for line-at-a-time scrolling.
4005
5f0c971d
GM
40062000-11-14 Gerd Moellmann <gerd@gnu.org>
4007
4008 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4009 extra argument.
4010
4011 * xdisp.c (current_mode_line_height, current_header_line_height):
4012 New variables.
4013 (init_xdisp): Initialize them.
4014 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4015 and use exact mode line heights if it is set.
4016
4017 * lisp.h (pos_visible_p): Change prototype.
4018
4019 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4020 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4021 and current_header_line_height first.
52283633
SM
4022 (current_mode_line_height, current_header_line_height):
4023 Declare extern.
5f0c971d 4024
d7361edf
MB
40252000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4026
4027 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4028 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4029 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4030
ee5e440a
MB
40312000-11-14 Miles Bader <miles@gnu.org>
4032
4033 * xterm.c (x_alloc_lighter_color): Include an additive component
4034 too for dark colors, because FACTOR isn't enough.
4035 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4036 New macros.
4037
5ca020fc
GM
40382000-11-13 Gerd Moellmann <gerd@gnu.org>
4039
4040 * keyboard.c (show_help_echo): Call message3_nolog with number of
4041 bytes in the help string as 2nd parameter, instead of the number
4042 of characters.
4043
9d348294
MB
40442000-11-13 Miles Bader <miles@gnu.org>
4045
4046 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4047 (Fload): Use new openp return protocol.
4048 Don't try to use Vload_source_file_function to load .elc files.
4049 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4050 openp return protocol.
4051 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4052
1729bb9a
KH
40532000-11-11 Kenichi Handa <handa@etl.go.jp>
4054
4e677396
KH
4055 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4056
4057 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4058 Defined these macros.
4059 (NLIST_STRUCT): Avoid re-defining it.
4060
1729bb9a
KH
4061 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4062 -I/usr/contrib/X11R6/include.
4063 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4064
a82fe213
JR
40652000-11-10 Jason Rumney <jasonr@gnu.org>
4066
4067 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4068
4069 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4070 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4071
4072 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4073 (Qw32_charset_vietnamese): New symbol.
4074 (xlfd_charset_of_font): New function.
4075 (w32_load_system_font): Use it.
4076 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4077 when Vw32_charset_info_alist is nil to ensure default face always
4078 has font. Use Fcar and Fcdr for safety.
4079 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4080 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4081 pseudo-codepages for special cases.
4082 (w32_to_x_font): New parameter to allow charset portion to be
4083 specified where there is many to one mapping. Callers changed.
4084 (w32_list_fonts): Avoid listing fonts that won't display.
4085
52d89894
GM
40862000-11-10 Gerd Moellmann <gerd@gnu.org>
4087
4088 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4089 (font_list_1): Renamed from font_list.
4090 (font_list): New function, trying alternative registries from
4091 Vface_alternative_font_registry_alist.
4092 (Finternal_set_alternative_font_registry_alist): New function.
4093 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4094 Vface_alternative_font_registry_alist.
4095 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4096
651cd3da
KR
40972000-11-09 Ken Raeburn <raeburn@gnu.org>
4098
4099 * lisp.h (Flooking_at): Declare.
4100
388ac098
GM
41012000-11-09 Gerd Moellmann <gerd@gnu.org>
4102
778fbc46 4103 * dired.c (directory_files_internal): Fix a braino.
52283633 4104
388ac098
GM
4105 * dired.c (directory_files_internal): Add missing GCPRO's.
4106 Some cleanup.
4107
ecaedde1
GM
41082000-11-08 Gerd Moellmann <gerd@gnu.org>
4109
f7eb32aa
GM
4110 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4111 (resize_mini_window): Return quickly if Vresize_mini_window is
4112 nil. Don't return if Vmax_mini_window_height is nil.
4113
4114 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4115 (syms_of_xdisp): Initialize them.
4116 (resize_mini_window): Act according to the setting of
4117 Vresize_mini_window.
4118 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4119
ecaedde1
GM
4120 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4121 scroll bar widget after configuring it, so that it will appear at
4122 the right position from the start.
4123 (XTredeem_scroll_bar): Cleaned up.
4124
3747ef2c
KH
41252000-11-08 Kenichi Handa <handa@etl.go.jp>
4126
4127 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4128 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4129 division by two.
4130
4131 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4132
03391420
DL
41332000-11-07 Dave Love <fx@gnu.org>
4134
7758f1c1 4135 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4136
4137 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4138
b5de343d
GM
41392000-11-07 Gerd Moellmann <gerd@gnu.org>
4140
acad3c0b
GM
4141 * window.c (Fset_window_configuration): Don't try to preserve
4142 point in the current buffer, if that buffer is displayed in more
4143 than one window.
4144
b5de343d
GM
4145 * xfaces.c (lookup_named_face): If default face isn't realized,
4146 try to realize it. Return -1 if not successful.
4147 (Fx_list_fonts): Handle case that face cannot be determined.
4148 (Fface_font): Likewise.
4149
cdb1fe49
GM
41502000-11-06 Gerd Moellmann <gerd@gnu.org>
4151
4152 * window.c (displayed_window_lines): Detect partially
4153 visible lines at the bottom correctly.
4154
d3a67486
SM
41552000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4156
4157 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4158 when ensuring we don't do visit in indirect buffer.
4159
ff8dd5d5
KH
41602000-11-06 Kenichi Handa <handa@etl.go.jp>
4161
4162 * composite.h (compose_chars_in_text): Add prototype.
4163
4164 * composite.c (Vcomposition_function_table): New variable.
4165 (Qcomposition_function_table): New variable.
4166 (run_composition_function): Call
4167 Vcompose_chars_after_function with three arguments.
4168 (compose_chars_in_text): New function.
4169 (syms_of_composite): Modified the doc-string of
4170 Vcompose_chars_after_function. Declare composition-function-table
4171 as a lisp variable, and initialize it.
4172
4173 * xfns.c (x_encode_text): Suppress producing escape sequences for
4174 composition.
4175
4176 * xselect.c: Include composite.h.
4177 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4178
d1145f85
AI
41792000-11-05 Andrew Innes <andrewi@gnu.org>
4180
4181 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4182
4183 * sysdep.c (read_input_waiting): Remove extraneous argument to
4184 read_socket_hook.
4185
4186 * w32fns.c (Fx_server_version): Include w32_build_number in the
4187 return list.
4188
4189 * w32heap.c (w32_build_number): New variable.
4190 (cache_system_info): Set it.
4191
4192 * w32heap.h (w32_build_number): Add extern.
4193
4194 * emacs.c (syms_of_emacs): Update docstring for
4195 system-configuration, to reflect the actual usage on MS-Windows.
4196
e85ee976
GM
41972000-10-31 Gerd Moellmann <gerd@gnu.org>
4198
26dcb81b
GM
4199 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4200 process idle timers while waiting for another event.
4201
52283633 4202 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4203 the default face are colored.
4204
e85ee976
GM
4205 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4206 window height hasn't changed.
4207
01b220b6
JR
42082000-10-31 Jason Rumney <jasonr@gnu.org>
4209
4210 * w32term.c (x_produce_glyphs): Handle composite characters.
4211 (x_draw_glyph_string_foreground)
4212 (x_draw_composite_glyph_string_foreground): Restore old font.
4213
4e6b7204
MB
42142000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4215
4216 * minibuf.c (read_minibuf): Reset the undo history just before
4217 starting the recursive-edit.
4218
d4358b37
GM
42192000-10-30 Gerd Moellmann <gerd@gnu.org>
4220
563f68f1
GM
4221 * xfaces.c (menu_face_change_count): New variable.
4222 (Finternal_set_lisp_face_attribute): Increment it for changes
4223 of the `menu' face.
4224 (realize_basic_faces): Reflect changes in the `menu' faces
4225 in menu bars.
4226
82e274d1
GM
4227 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4228 dy obtained from the iterator's y-position after moving from
4229 scroll_margin_pos to PT; see comment there.
52283633 4230
0dbf9fd2
GM
4231 * xdisp.c (safe_eval_handler): Call add_to_log.
4232
906b3b14
GM
4233 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4234 is not a symbol or string.
4235
d4358b37
GM
4236 * xdisp.c (echo_area_display): Don't perform a display update from
4237 inside redisplay. The update will happen anyway at the end of
4238 redisplay, and it can confuse redisplay (GC messages while
4239 redisplaying, for instance.)
4240
70c825df
SM
42412000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4242
cf9b4b0b
SM
4243 * xrdb.c (x_load_resources): Use the class name in the defaults.
4244
70c825df
SM
4245 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4246 (regex_compile): Catch bogus \(\1\).
4247
a1d34b1e
GM
42482000-10-30 Gerd Moellmann <gerd@gnu.org>
4249
cae71efe
GM
4250 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4251 RGB values.
52283633 4252
35efe0a1
GM
4253 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4254 we have a color cache, check that the cached color equals the
4255 allocated color. If not, clear the color cache.
4256
1d3baf74
GM
4257 * window.c (displayed_window_lines): Change buffers if necessary.
4258 Fix computation of displayed lines.
4259
a1d34b1e
GM
4260 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4261 update_menu_bindings to DEFVAR_BOOL.
4262
70737ea9
KH
42632000-10-30 Kenichi Handa <handa@etl.go.jp>
4264
70c825df 4265 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4266
fa0cb51d
KH
4267 * puresize.h (BASE_PURESIZE): Increase to 680000.
4268
70737ea9
KH
4269 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4270
0e4c08e8
JR
42712000-10-29 Jason Rumney <jasonr@gnu.org>
4272
4273 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4274
4275 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4276 (w32_cache_char_metrics): Handle possibility that 'x' does not
4277 exist in a BDF font.
4278 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4279
4280 * w32bdf.h (bdffont): Add nchars.
4281
4282 * w32bdf.c (set_bdf_font_info): Set it.
4283 (w32_BDF_TextOut): Swap byte order of double byte characters.
4284 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4285
45b84006
EZ
42862000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4287
4288 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4289 don't override the colors in frame's param_alist, unless they are
4290 unspecified.
4291
4292 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4293 reverse the effect of the highlight flag.
4294
caf9deee
KR
42952000-10-27 Ken Raeburn <raeburn@gnu.org>
4296
4297 * window.h (Fwindow_live_p): Declare.
4298
ae0b9b46
KR
4299 * undo.c (record_delete): Check that last_undo_buffer is really a
4300 buffer before applying XBUFFER to it.
4301
4302 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4303 Faref.
4304
02067692
SM
43052000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4306
4307 * lisp.h (KEYMAPP): New macro.
4308 (get_keymap): Remove.
4309 (get_keymap_1): Rename get_keymap.
4310
4311 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4312
4313 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4314
4315 * xmenu.c (single_submenu): Use KEYMAPP.
4316 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4317 Use KEYMAPP rather than Fkeymapp.
4318
4319 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4320
4321 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4322 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4323 Use KEYMAPP rather than Fkeymapp.
4324 (single_submenu): Use KEYMAPP.
4325 (w32_menu_show, w32_dialog_show): Use TRUE.
4326
4327 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4328
4329 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4330 (Fkeymapp): Use KEYMAPP.
4331 (get_keymap): Rename from get_keymap_1. Remove old def.
4332 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4333 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4334 (Fminor_mode_key_binding): Don't raise an error if the binding
4335 is not a keymap.
4336 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4337 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4338
4339 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4340 Allow Vspecial_event_map to be autoloaded.
4341 (menu_bar_items): Fetch the keymap rather than using keymapp.
4342 (menu_bar_one_keymap): No need to follow func-indirect any more.
4343 (parse_menu_item): get_keymap_1 -> get_keymap.
4344 (tool_bar_items): Fetch the keymap rather than using keymapp.
4345 (read_key_sequence): Use KEYMAPP.
4346
4347 * intervals.c (get_local_map): Use get_keymap rather than following
4348 function-indirections explicitly.
4349
4350 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4351
f9d80af3
JR
43522000-10-27 Jason Rumney <jasonr@gnu.org>
4353
4354 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4355 point, as Windows has oversized fonts.
4356
4357 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4358
a3ba27da
GM
43592000-10-27 Gerd Moellmann <gerd@gnu.org>
4360
4361 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4362 (freehook, reallochook): Handle null pointer arguments.
4363 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4364
aa3b80cc
SM
43652000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4366
4367 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4368 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4369 Giving in to popular pressure to shut up the compiler with casts.
4370
e24e84cc
GM
43712000-10-27 Gerd Moellmann <gerd@gnu.org>
4372
4373 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4374 signed value, and use a default value computed from the font's
4375 maximum descent.
4376
05ea7ef2
MB
43772000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4378
4379 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4380 that specify a negative underline position can still use underlines.
4381
4382 * window.c (Fpos_visible_in_window_p): Make POS default to
4383 WINDOW's point, not the current buffer's point.
4384
0b95284b
DL
43852000-10-26 Dave Love <fx@gnu.org>
4386
4387 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4388 when it's necessary.
4389
6c5b90af
GM
43902000-10-26 Gerd Moellmann <gerd@gnu.org>
4391
8b6d9dc9
GM
4392 * window.c (size_window): Compute size difference from sum of old
4393 child window sizes instead of from parent's size.
4394
6bc92b2e
GM
4395 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4396 Handle obscured lines at the top of the window.
4397
4398 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4399 down after the last error condition check.
4400
6c5b90af
GM
4401 * frame.c (Fdelete_frame): Run delete-frame-hook.
4402
42f92d4d
KH
44032000-10-26 Kenichi Handa <handa@etl.go.jp>
4404
4405 * coding.c (decode_coding): Fix previous change (check also
4406 CODING_MODE_LAST_BLOCK).
4407
d97151cb
SM
44082000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4409
e7efc503
SM
4410 * regex.c: More `unsigned char' -> `re_char' changes.
4411 Also change several `int' into `re_wchar_t'.
4412 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4413 (PUSH_FAILURE_POINTER): Don't cast any more.
4414 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4415 We want GCC to complain, since this piece of code makes
4416 re_match non-reentrant, which *should* be fixed.
4417 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4418 (EXTEND_BUFFER): Use RETALLOC.
4419 (SET_LIST_BIT): Don't cast.
4420 (re_wchar_t): New type.
4421 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4422 that those two functions will always properly return.
4423 (IMMEDIATE_QUIT_CHECK): Cast to void.
4424 (analyse_first): Use recursion rather than an explicit stack.
4425 (re_compile_fastmap): Can't fail anymore.
4426 (re_search_2): Don't check re_compile_fastmap for failure.
4427 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4428 Now also sets the new value (passed in a new argument).
4429 (re_match_2_internal): Use it.
4430 Also, use a new var `reg' of type size_t when looping through regs
4431 rather than reuse the inappropriate `mcnt'.
4432
d97151cb
SM
4433 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4434 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4435 (where_is_internal): Renamed from Fwhere_is_internal.
4436 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4437 (Fwhere_is_internal): New function wrapping where_is_internal.
4438 (where_is_internal_1): Handle the case where we're filling the cache.
4439 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4440
d5789b65
MB
44412000-10-25 Miles Bader <miles@gnu.org>
4442
4443 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4444
4ecda532
GM
44452000-10-25 Gerd Moellmann <gerd@gnu.org>
4446
4447 * window.c (pos_fully_visible_p): Removed.
4448 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4449 if position is visible and/or fully visible.
4450
4451 * lisp.h (pos_visible_p): Add prototype.
4452
4453 * xdisp.c (pos_visible_p): New function.
4454
68c3a137
KH
44552000-10-25 Kenichi Handa <handa@etl.go.jp>
4456
4457 * process.c (send_process): If OBJECT is t, it means that the data
4458 is from C string, but we should encode it. Before calling
4459 setup_raw_text_coding_system, be sure to flush out data by the
4460 previous coding system.
4461
7ae1c032
MB
44622000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4463
ff4dcd4b
MB
4464 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4465 assignment of startpos to prev when startpos == pos.
4466
7ae1c032
MB
4467 * editfns.c (find_field): Set the field stickiness correctly from
4468 overlay fields. Use renamed `text_property_stickiness'.
4469 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4470 Only check text properties, not overlays.
7ae1c032
MB
4471 * textprop.c (get_char_property_and_overlay): New function.
4472 (Fget_char_property): Use it.
4473 * intervals.h (get_char_property_and_overlay): Add declaration.
4474
49801145
SM
44752000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4476
4477 * keymap.c: Use AREF, ASET and ASIZE macros.
4478 (Fmake_sparse_keymap): Docstring fix.
4479 (synkey): Remove.
4480 (shadow_lookup): Move up.
4481 Handle the case where lookup-key returns an integer.
4482 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4483 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4484 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4485 Simplify/rewrite the keymap-finding code.
4486 Add check for command shadowing, using shadow_lookup.
4487
39e776cd
SM
44882000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4489
4490 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4491 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4492 a symbol.
4493
2488aba5
AI
44942000-10-24 Andrew Innes <andrewi@gnu.org>
4495
4496 * dired.c (directory_files_internal_unwind): New function.
4497 (directory_files_internal): Use it to ensure closedir is called
4498 even if expand-file-name or file-attributes throw, eg. because of
4499 a user interrupt. Also enable immediate_quit while calling
4500 re_search, so that matching can be interrupted as well.
4501
b94fdf61
AI
45022000-10-24 Andrew Innes <andrewi@gnu.org>
4503
4504 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4505 NT-Emacs only.
4506 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4507 so that re_search functions only quit when callers expect them to.
4508
45092000-10-24 Kenichi Handa <handa@etl.go.jp>
4510
4511 * regex.c (regex_compile): Change the way of handling a range from
4512 a char less than 256 to a char not less than 256.
4513
1946f901
GM
45142000-10-24 Gerd Moellmann <gerd@gnu.org>
4515
7ae2f10f
GM
4516 * window.c (size_window): Prevent setting window's width or
4517 height to a negative value (esp. with XSETFASTINT).
4518
5dcab13e
GM
4519 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4520 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4521 (protect_malloc_state) [GC_MALLOC_CHECK &&
4522 GC_PROTECT_MALLOC_STATE]: New function.
4523 (PROTECT_MALLOC_STATE): New macro.
4524 (__malloc_initialize, morecore, _malloc_internal)
4525 (_free_internal) _realloc_internal): Use it to make _heapinfo
4526 read-only outside of gmalloc.
4527
63e1b552
GM
4528 * keymap.c: Update copyright.
4529
1946f901
GM
4530 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4531 a symbol.
4532
4fa09beb
GM
45332000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4534
4535 * filelock.c (unlock_all_files): Use unlock_file to expand each
4536 buffer's file_truename before trying remove its lock file.
4537
23afac01
EZ
45382000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4539
4540 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4541 or CRLF, decode EOLs.
4542
04448b95
KH
45432000-10-24 Kenichi Handa <handa@etl.go.jp>
4544
4545 * window.c (Fdisplay_buffer): Fix doc.
4546
3090a5a5
JR
45472000-10-23 Jason Rumney <jasonr@gnu.org>
4548
4549 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4550 ASCII font of default fontset on Windows.
4551
4552 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4553 xterm.c comment below).
4554
4555 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4556
a83fee2c
GM
45572000-10-23 Gerd Moellmann <gerd@gnu.org>
4558
4559 * xterm.c (x_connection_closed): Reset handling_signal.
4560
52283633 4561 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4562
6ffdb539
MB
45632000-10-23 Miles Bader <miles@gnu.org>
4564
4565 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4566 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4567 maintain old behavior.
4568 * minibuf.c (Fminibuffer_complete): Likewise.
4569
7f1c969b
MB
45702000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4571
4572 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4573 that when a font can't be exactly centered, it errs up rather than
4574 down.
4575
23afac01 45762000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4577
52283633 4578 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4579
1a578e9b
AC
45802000-10-23 Andrew Choi <akochoi@i-cable.com>
4581
4582 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4583
4584 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4585 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4586
4587 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4588 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4589 syms_of_search, x_term_init, and init_keyboard before calling
4590 init_window_once. Also, call syms_of_xmenu.
4591
4592 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4593 default fontset to Monaco.
4594
4595 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4596 NewMacWindow and DisposeMacWindow.
4597 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4598 instead of calling NewMacWindow and setting fields of
4599 f->output_data.mac directly. Call init_frame_faces.
4600 (Fdelete_frame) [macintosh]: Remove unused code.
4601 (Fmodify_frame_parameters) [macintosh]: Call
4602 x_set_frame_parameters instead of mac_set_frame_parameters.
4603
4604 * frame.h [macintosh]: Define menu_bar_lines field in struct
4605 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4606
4607 * keyboard.c [macintosh]: Include macterm.h.
4608 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4609 and menu_bar_activate_event type events as for X and NT.
4610 (make_lispy_event) [macintosh]: Construct lisp events of type
4611 MENU_BAR_EVENT as for X and NT.
4612
4613 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4614 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4615 (sys_subshell) [macintosh]: Remove definition entirely.
4616 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4617 Vwindow_system_version here. Remove initialization of
4618 Vx_bitmap_file_path.
4619 (read_input_waiting): Correct the number of parameters passed to
4620 read_socket_hook.
4621 Move all Macintosh functions to mac/mac.c.
4622
4623 * term.c [macintosh]: Include macterm.h.
4624
4625 * window.c [macintosh]: Include macterm.h.
4626
4627 * xdisp.c [macintosh]: Include macterm.h. Declare
4628 set_frame_menubar and pending_menu_activation.
4629 (echo_area_display) [macintosh]: Do not return if terminal frame
4630 is the selected frame.
4631 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4632 Allow only the selected frame to set menu bar.
4633 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4634 calling FRAME_EXTERNAL_MENU_BAR (f).
4635 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4636
4637 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4638 and check_x. Declare XCreateGC. Define x_create_gc and
4639 x_free_gc. Initialize font_sort_order.
4640 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4641 but call x_list_fonts instead of w32_list_fonts.
4642 (Finternal_face_x_get_resource) [macintosh]: Do not call
4643 display_x_get_resource.
4644 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4645 (realize_x_face) [macintosh]: Load the font if it is specified in
4646 ATTRS.
52283633 4647 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4648
1ffbabe3
SM
46492000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4650
4651 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4652 is nil: since we go to the end of submap anyway, we'd end up
4653 setting nil to nil.
4654 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4655 doesn't obey autoload.
4656
bed43f1d
EZ
46572000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4658
1ffbabe3 4659 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4660
ea4233a7
JR
46612000-10-21 Jason Rumney <jasonr@gnu.org>
4662
4663 * w32term.c (w32_cache_char_metrics): Double check that font is
4664 really fixed pitch before trusting tmPitchAndFamily.
4665
f3d3c491
AI
46662000-10-21 Andrew Innes <andrewi@gnu.org>
4667
4668 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4669
4670 * w32term.h: Extern decl for w32_cache_char_metrics.
4671
4672 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4673
4674 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4675 (w32_unload_font): Free per_char array if present.
4676
4677 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4678 cached information in emulated XFontStruct to handle common cases
4679 quickly. Do not allocate XCharStruct for return.
4680 (w32_native_per_char_metric): New function.
4681 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4682 allocating one.
4683 (x_produce_glyphs): Don't get an HDC. Change calls to
4684 w32_per_char_metric to match arg change above. Remove calls to
4685 free results.
4686 (w32_get_glyph_overhangs): Ditto.
4687 (w32_cache_char_metrics): New function.
4688
4689 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4690 ($(BLD)/casefiddle.$(O)): Remove compile command.
4691 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4692 ($(BLD)/dispnew.obj):
4693 ($(BLD)/keyboard.obj):
4694 ($(BLD)/w32inevt.obj):
4695 ($(BLD)/w32bdf.obj):
4696 ($(BLD)/alloc.obj):
4697 ($(BLD)/buffer.obj):
4698 ($(BLD)/editfns.obj):
4699 ($(BLD)/emacs.obj):
4700 ($(BLD)/fileio.obj):
4701 ($(BLD)/fns.obj):
4702 ($(BLD)/indent.obj):
4703 ($(BLD)/insdel.obj):
4704 ($(BLD)/intervals.obj):
4705 ($(BLD)/minibuf.obj):
4706 ($(BLD)/print.obj):
4707 ($(BLD)/scroll.obj):
4708 ($(BLD)/sysdep.obj):
4709 ($(BLD)/textprop.obj):
4710 ($(BLD)/widget.obj):
f3d3c491
AI
4711 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4712 ($(BLD)/term.obj): Add dependency on dispextern.h.
4713
52283633
SM
4714 * makefile.nt ($(BLD)\dispnew.obj):
4715 ($(BLD)\keyboard.obj):
4716 ($(BLD)\w32inevt.obj):
4717 ($(BLD)\w32bdf.obj):
4718 ($(BLD)\alloc.obj):
4719 ($(BLD)\buffer.obj):
4720 ($(BLD)\editfns.obj):
4721 ($(BLD)\emacs.obj):
4722 ($(BLD)\fileio.obj):
4723 ($(BLD)\fns.obj):
4724 ($(BLD)\indent.obj):
4725 ($(BLD)\insdel.obj):
4726 ($(BLD)\intervals.obj):
4727 ($(BLD)\minibuf.obj):
4728 ($(BLD)\print.obj):
4729 ($(BLD)\scroll.obj):
4730 ($(BLD)\sysdep.obj):
4731 ($(BLD)\textprop.obj):
4732 ($(BLD)\widget.obj):
f3d3c491
AI
4733 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4734 ($(BLD)\term.obj): Add dependency on dispextern.h
4735
18ad4821
EZ
47362000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4737
4738 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4739 with an additional argument of Qt.
4740
de54681a
MB
47412000-10-21 Miles Bader <miles@gnu.org>
4742
4743 * window.c (pos_fully_visible_in_window_p): New function.
4744 (Fpos_visible_in_window_p): Add FULLY argument.
4745 Use pos_fully_visible_in_window_p.
4746 (window_scroll_pixel_based, window_scroll_line_based): Update
4747 calls to Fpos_visible_in_window_p.
4748 * lisp.h (Fpos_visible_in_window_p): Update prototype
4749
13c844fb
GM
47502000-10-20 Gerd Moellmann <gerd@gnu.org>
4751
4752 * alloc.c (toplevel): Conditionalize compilation of mem_*
4753 functions differently.
52283633 4754
d9506268
JR
47552000-10-20 Jason Rumney <jasonr@gnu.org>
4756
4757 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4758 mem_init where it used to be. mem_z etc not defined otherwise.
4759
8094989b
GM
47602000-10-20 Gerd Moellmann <gerd@gnu.org>
4761
4762 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4763 GC_MALLOC_CHECK.
4764 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4765 structure definition and related variabled to the top of the file.
4766 Include this code when GC_MALLOC_CHECK is defined.
4767 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4768 register/unregister allocated region.
4769 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4770 which isn't allocated.
4771 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4772 something which is already in use.
4773 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4774 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4775 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4776 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4777
4778 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4779 _malloc_internal instead of malloc.
4780 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4781 of free.
4782
ea456eb4
AI
47832000-10-20 Andrew Innes <andrewi@gnu.org>
4784
4785 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4786 Windows.
4787 (my_strftime) <macro>: Don't use macro arg list when redefining as
4788 _strftime_copytm.
4789 (my_strftime) <function>: Supply 0 as ut argument.
4790
e64c3a75
JR
47912000-10-19 Jason Rumney <jasonr@altavista.net>
4792
4793 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4794 including dispextern.h, as it stops faces from working.
4795
4796 * w32fns.c (Fx_create_frame): Don't bother calling
4797 face-set-after-frame-default since the caller does it for us
4798 anyway. Clean up calls to x_get_arg to be consistent with X.
4799
4800 * w32term.c (x_produce_glyphs): Handle
4801 unibyte_display_via_language_environment correctly.
4802 (w32_draw_box_rect): Fix the calculation of width and height.
4803
4804 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4805 as it has stopped working.
4806 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4807 menu-bar.
4808
17401c97
GM
48092000-10-19 Gerd Moellmann <gerd@gnu.org>
4810
4811 * eval.c (skip_debugger): Prevent a compiler warning.
4812 (Fcondition_case): Likewise.
4813 (Fbacktrace_frame): Use a null interactive spec.
4814
773272d8
KH
48152000-10-19 Kenichi Handa <handa@etl.go.jp>
4816
4817 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4818
a42943e9
GM
48192000-10-18 Gerd Moellmann <gerd@gnu.org>
4820
e50517d9
GM
4821 * strftime.c: Sync with glibc, file version 1.78.
4822 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4823 should no longer be used according to ISO 8601.
4824
9035a35a
GM
4825 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4826 no map for meta_prefix_char, don't try to use it as a keymap.
4827 Instead, if T_OK is non-zero, look up a default binding, if any,
4828 otherwise, if T_OK is zero, return nil.
4829
a42943e9
GM
4830 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4831 (x_to_xcolors, png_load): Use x_query_color.
4832
52283633
SM
4833 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4834 New functions.
a42943e9
GM
4835 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4836 which can be slow.
4837 (x_copy_color, x_alloc_lighter_color): Likewise.
4838
4839 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4840 (x_query_color, x_query_colors): Add prototype.
4841
4842 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4843 check_string_bytes only if not noninteractive, increase count to 50.
4844
00de2987
MB
48452000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4846
4847 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4848 markers correctly.
4849
54918e2b
GM
48502000-10-17 Gerd Moellmann <gerd@gnu.org>
4851
1f0b3fd2
GM
4852 * alloc.c (pure_bytes_used): Renamed from pureptr.
4853 (ALIGN): New macro.
4854 (pure_alloc): New function.
4855 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4856 Use it.
4857 (Fpurecopy): Use PURE_POINTER_P.
4858
68c5d1db
GM
4859 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4860 PT has moved backward.
52283633 4861
9a038881
GM
4862 * xdisp.c (cursor_row_p): Take continued lines into account.
4863
361b097f
GM
4864 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4865 string's size_byte.
4866 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4867 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4868 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4869 string allocated.
4870
54918e2b
GM
4871 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4872 of selective display off while searching for the next line start.
4873
03ed0806
KH
48742000-10-17 Kenichi Handa <handa@etl.go.jp>
4875
4876 * Makefile.in (term.o): Depend on dispextern.h.
4877
7e05cdaf
SM
48782000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4879
4880 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4881
a6801fd1
GM
48822000-10-16 Gerd Moellmann <gerd@gnu.org>
4883
483de32b
GM
4884 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4885 the iterator at the beginning, so that they can be set later on,
4886 for instance in reseat_at_next_visible_line_start, without being
4887 overwritten.
4888
a6801fd1
GM
4889 * xfns.c (pbm_format): Add :foreground and :background keywords.
4890 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4891 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4892
dbf1fcc1
EZ
48932000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4894
4895 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4896
52283633 4897 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4898
4899 * msdos.c (IT_set_face): Compare highlighted face with the default
4900 face, and invert colors if these faces' colors are identical.
4901 (Fmsdos_remember_default_colors): Don't swap foreground and
4902 background colors in initial_colors[].
4903 (IT_set_frame_parameters): Don't swap frame's foreground and
4904 background pixels. If ALIST includes "(reverse . t)", swap
4905 foreground-color and background-color properties in frame's
4906 param_alist. If the original frame's param_alist doesn't specify
4907 the colors, store unspecified-fg and unspecified-bg, reversed if
4908 required.
4909
4910 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4911 the colors are unspecified and reversed, reverse fore- and back-
4912 ground in the returned value.
4913 (Fframe_parameter): Ditto.
4914
b41fe2c3 49152000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4916
3a6b59d9
GM
4917 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4918 get_last_unchanged_at_beg_row.
4919 (find_first_unchanged_at_end_row): Renamed from
4920 get_first_unchanged_at_end_row.
4921 (find_first_unchanged_at_end_row): Convert assertions to
4922 unconditional tests which abort. When looking for a row in
4923 unchanged text, don't go further back than first_text_row.
4924
b41fe2c3
GM
4925 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4926 Don't add in the last line's height when deciding if the new
4927 position is below the scroll margin.
9d1af64f 4928
b41fe2c3 49292000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4930
4931 * editfns.c (Fconstrain_to_field): Check carefully for field
4932 boundaries if either OLD_POS or NEW_POS has a non-nil field
4933 property, even if they're the same.
4934
c412cb7b
KH
49352000-10-16 Kenichi Handa <handa@etl.go.jp>
4936
4937 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4938 height for XFillRectangle.
4939
5586f3eb
SM
49402000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4941
4942 * syntax.c (Fstring_to_syntax): New function extracted from
4943 Fmodify_syntax_entry.
4944 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4945 (skip_chars, Fforward_comment): Remove unused variables.
4946 (syms_of_syntax): Add defsubr for string-to-syntax.
4947 (describe_syntax): Add code for comment and string fences.
4948
db785038
SM
49492000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4950
4951 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4952 Do the meta->esc mapping. Call get_keyelt before returning.
4953 Start scanning from the second element (the first is always `keymap')
4954 to make it easier to detect when we reach a parent map.
4955 Handle the case of inheriting from a symbol whose function is a map.
4956 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4957 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4958 (get_keyelt, Flookup_key): Update call to access_keymap.
4959 Remove the meta->esc mappings.
4960 (define_as_prefix): Delete old disabled code.
4961 (menu_item_p): New function.
4962 (where_is_internal_1): Skip over the few remaining menu items.
4963 * lisp.h (access_keymap): Update prototype.
4964 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4965 Update call to access_keymap.
4966 (follow_key, read_key_sequence): Update calls to access_keymap.
4967 Remove the meta->esc mappings.
4968
cafafe0b
GM
49692000-10-13 Gerd Moellmann <gerd@gnu.org>
4970
a2e2a7f6
GM
4971 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4972 with additional argument.
4973
cafafe0b
GM
4974 * xdisp.c (cursor_row_p): New function.
4975 (try_cursor_movement, display_line): Use it.
52283633 4976
cafafe0b
GM
4977 * xdisp.c (append_space): Also save/restore iterator's current
4978 character and its length.
4979
4980 * xdisp.c (init_from_display_pos): Add an assertion.
4981 (handle_stop): Don't set iterator's add_overlay_start.
4982 (handle_invisible_prop): Likewise.
4983 (load_overlay_strings): If text under an overlay is invisible,
4984 take both before- and after-strings into account when the iterator
4985 is positioned either at the start or at the end of the overlay.
4986 (forward_to_next_line_start): Rewritten.
4987 (reseat_at_next_visible_line_start): Rewritten.
4988 (set_iterator_to_next): Add parameter RESEAT_P.
4989
4990 * dispextern.h (struct it): Remove member add_overlay_start.
4991 (set_iterator_to_next): Change prototype.
4992
c744452b
KH
49932000-10-13 Kenichi Handa <handa@etl.go.jp>
4994
4995 * coding.c (code_convert_region): Be sure to initialize
4996 coding->category_idx.
e4a3f4e1
KH
4997 (decode_coding_string): Set coding->src_multibyte and
4998 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4999 (encode_coding_string): Set coding->src_multibyte and
5000 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5001
321fd26f
SM
50022000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5003
5004 * xfns.c (Fx_create_frame): Don't bother calling
5005 face-set-after-frame-default since the caller does it for us anyway.
5006
76832439
EZ
50072000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5008
5009 * window.c (coordinates_in_window): Fix detection of vertical line
5010 on character terminals.
5011
2483cf58
GM
50122000-10-12 Gerd Moellmann <gerd@gnu.org>
5013
5014 * editfns.c (save_excursion_save): Additionally record the
5015 selected window.
5016 (save_excursion_restore): If buffer was visible in a window, and a
5017 different window was selected, and the old selected window is
5018 still live, restore point in that window.
5019
eb991b25
KH
50202000-10-12 Kenichi Handa <handa@etl.go.jp>
5021
8a0eba09
KH
5022 * xterm.c (x_produce_glyphs): Handle
5023 unibyte_display_via_language_environment correctly.
5024
20401fcc
KH
5025 * regex.c (regex_compile): Change the way of handling a range from
5026 unibyte char to multibyte char.
5027
5028 * syntax.c (skip_chars): Change the way of handling a range from
5029 unibyte char to multibyte char.
5030
eb991b25
KH
5031 * process.c (read_process_output): Cancel previous change.
5032
365dd325
EZ
50332000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5034
c1b096cb
EZ
5035 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5036
365dd325
EZ
5037 * charset.c (Ffind_charset_string): Doc fix.
5038 (Ffind_charset_region): Doc fix.
5039
eb483c2b
KH
50402000-10-11 Kenichi Handa <handa@mule.m17n.org>
5041
5042 * process.c (read_process_output): Fix previous change. Adjust
5043 multibyteness of text to insert in a buffer by
52283633 5044 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5045
b40bfb99
AS
50462000-10-10 Andreas Schwab <schwab@suse.de>
5047
5048 * alloc.c (mark_object): Remove all workarounds installed on
5049 1993-08-08.
5050
caff31d4
KH
50512000-10-10 Kenichi Handa <handa@etl.go.jp>
5052
52283633 5053 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5054 (base64_encode_1): Make it work for a text of multibyte form.
5055 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5056 case. Don't call str_to_multibyte because base64_decode_1
5057 produces correct multibyte form for eight-bit codes.
52283633 5058 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5059 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5060 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5061 codes.
5062
5063 * charset.h (CHAR_STRING): Optimized for single byte characters.
5064
cba026ef
AS
50652000-10-09 Andreas Schwab <schwab@suse.de>
5066
5067 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5068 -1 after socket is closed, to fall through to error processing.
5069
1e21fe48
EZ
50702000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5071
5072 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5073 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5074 background-color, change also the colors of the default face for
5075 this frame.
5076
a640322e
EZ
50772000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5078
5079 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5080 them extern (they are defined on xfaces.c).
5081 (syms_of_msdos): Don't intern and don't staticpro
5082 Qbackground_color and Qforeground_color.
5083
a115794c
EZ
50842000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5085
5086 * frame.c (Fframe_parameter): For non-windowed frames, if
5087 f->param_alist says foreground or background color is unspecified,
5088 call tty_color_name to return the color name computed from the
5089 frame's current colors.
5090
f5533b63
DL
50912000-10-06 Dave Love <fx@gnu.org>
5092
5093 * terminfo.c (ospeed): Don't declare.
5094
5095 * sysdep.c: Don't include string.h.
5096 (h_errno): Declare conditional also on TRY_AGAIN.
5097
5098 * charset.c (Ffind_charset_string): Doc fix.
5099
52283633 5100 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5101 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5102 error messages.
5103
2b06561a
DL
51042000-10-05 Dave Love <fx@gnu.org>
5105
5106 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5107 position like menu-bar.
5108
ca839c85
GM
51092000-10-05 Gerd Moellmann <gerd@gnu.org>
5110
5111 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5112
5113 * xdisp.c (handle_single_display_prop): Use safe_call1.
5114 (safe_call): Renamed from call_function.
5115 (safe_call1): New function.
5116 (handle_fontified_prop): Use safe_call1 instead of call1.
5117 (safe_eval): Renamed from eval_form.
5118 (safe_eval_handler): Renamed from eval_handler.
5119 (handle_single_display_prop, display_mode_element): Use safe_eval
5120 instead of eval_form.
5121
5122 * xfaces.c (merge_face_heights): Use safe_call instead of
5123 call_function.
5124
5125 * keyboard.c (show_help_echo): Use safe_call instead of
5126 call_function; use safe_eval instead of eval_form.
5127
5128 * lisp.h (safe_call): Renamed from call_function.
5129 (safe_eval): Renamed from eval_form.
5130 (safe_call1): Add prototype.
5131
a3489ece
MB
51322000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5133
5134 * xfns.c (image_ascent): Rearrange ascent calculation for the
5135 has-a-font case.
5136
35810b6f
SM
51372000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5138
5139 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5140 (where_is_internal_1): Don't bother ignoring menu-items any more.
5141
3dc78168
GM
51422000-10-04 Gerd Moellmann <gerd@gnu.org>
5143
5144 * keyboard.c (update_menu_bindings): New variable.
5145 (parse_menu_item): Use AREF. If update_menu_bindings
5146 is 0, don't update menu bindings.
5147 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5148
1efc2bb9
EZ
51492000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5150
5151 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5152 to `mark_object'.
5153
3f679f55
SM
51542000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5155
5156 * syntax.c (forw_comment): Match nestedness of ender/starter.
5157 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5158 (prev_char_comstart_first): Remove.
5159 (back_comment): Check two-char comment markers more carefully
5160 to better handle overlapping cases like *//* or /* */* */ ...
5161 Match nestedness of ender/starter.
5162
2021ab61
DL
51632000-10-02 Dave Love <fx@gnu.org>
5164
5165 * config.in (HAVE_GAI_STRERROR): Add undef.
5166
5167 * process.c (Fopen_network_stream): Use it.
5168
5169 * m/alpha.h (NO_REMAP): Don't define.
5170
64e6cc18
GM
51712000-10-02 Gerd Moellmann <gerd@gnu.org>
5172
5173 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5174 return with a string converted to an integer or vice versa when
5175 Vmocklisp_arguments is t.
5176 (Fsignal): Likewise. The function can return for `quit'.
5177 (struct gcpro): Declare member `var' to point to a volatile
5178 Lisp_Object.
5179
5180 * eval.c (error): Prevent compiler warning.
5181
b1904cd9
SM
51822000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5183
5184 * keymap.c (keymap_memberp): New function.
5185 (Fset_keymap_parent): Use it.
5186 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5187 Use keymap_memberp to avoid creating cycles.
5188 (access_keymap): Use KEYMAPP.
5189
71c9ec51
GM
51902000-09-30 Gerd Moellmann <gerd@gnu.org>
5191
5192 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5193 gai_strerror. Make sure xerrno is set if connect fails. Improve
5194 error recovery.
71c9ec51 5195
c70c6b58
JR
51962000-09-29 Jason Rumney <jasonr@gnu.org>
5197
5198 * w32term.c (w32_char_font_type, w32_encode_char)
5199 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5200 (w32_bdf_per_char_metric): New function.
5201 (w32_per_char_metric): Use it.
5202 (x_draw_glyph_string_background): Always draw background for BDF
5203 glyphs.
5204
5205 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5206 GDI object which is a scarce resource.
5207
5208 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5209 (get_quoted_string): Fix limit on memchr search.
5210 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5211 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5212 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5213 (get_cached_font_char, cache_char_offset): Use macro
5214 BDF_CODEPOINT_RANGE_COVER_P.
5215 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5216 (clear_cached_bitmap_slots): New function.
5217 (GET_HEX_VALUE): G-Z, g-z are not hex.
5218 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5219 (get_bitmap_with_cache): Use new cache implementation.
5220 (create_offscreen_bitmap): New function.
5221 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5222
5223 * w32term.c (x_produce_glyphs): If the distance from the current
5224 position to the next tab stop is less than a canonical character
5225 width, use the tab stop after that.
5226 (x_draw_glyphs): Handle case START and END are out of bounds more
5227 carefully.
5228 (x_clear_mouse_face): Block/unblock input.
5229 (x_display_and_set_cursor): Don't show a hollow box cursor for
5230 buffers whose cursor_type is nil.
5231
fe01239f
GM
52322000-09-29 Gerd Moellmann <gerd@gnu.org>
5233
52283633 5234 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5235
5236 * dispextern.h (updating_frame): Declare extern.
5237
e7c52f1f
AS
52382000-09-29 Andreas Schwab <schwab@suse.de>
5239
5240 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5241
de6e1f7c
GM
52422000-09-29 Gerd Moellmann <gerd@gnu.org>
5243
25126faa
GM
5244 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5245 use its function definition.
5246 (tool_bar_items): Likewise.
5247
de6e1f7c 5248 * lisp.h (fatal): Declare NO_RETURN.
52283633 5249
454ee39b
KH
52502000-09-29 Kenichi Handa <handa@etl.go.jp>
5251
5252 * keymap.c: Remove the line "#undef NULL".
5253
96301c5f
GM
52542000-09-28 Gerd Moellmann <gerd@gnu.org>
5255
52283633 5256 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5257
efffeeb4
DL
52582000-09-28 Dave Love <fx@gnu.org>
5259
ecb8b666
DL
5260 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5261
dc3cd20f
DL
5262 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5263
5264 * .gdbinit (xreload): Note its need on GNU/Linux.
5265
efffeeb4
DL
5266 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5267 r_alloc, r_alloc_free.
5268
8610d903
KH
52692000-09-28 Kenichi Handa <handa@etl.go.jp>
5270
5271 * syntax.c (skip_chars): Handle negation correctly.
5272
8901d1ac
GM
52732000-09-27 Gerd Moellmann <gerd@gnu.org>
5274
6f22f1ad
GM
5275 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5276 with non-zero FORCE_P argument.
5277
52283633 5278 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5279 Add assertions.
5280
5281 * xdisp.c (window_box_height): Add an assertion.
5282
5283 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5284 tool-bar than is available.
5285 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5286
36f1966f
DL
52872000-09-27 Dave Love <fx@gnu.org>
5288
efffeeb4 5289 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5290
31d929e5
GM
52912000-09-26 Gerd Moellmann <gerd@gnu.org>
5292
c98863bf
GM
5293 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5294 instead of BITS_PER_INT.
5295 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5296 EMACS_UINT, respectively.
5297 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5298
5299 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5300
5301 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5302
77072ab1
GM
5303 * window.c (freeze_window_starts): Construct last argument for
5304 foreach_window differently.
5305
5306 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5307
5308 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5309 EMACS_UINT instead of `int' and `unsigned int'.
5310 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5311
5312 * frame.h (struct frame): Make the `nothing' member of union
5313 output_data an EMACS_INT.
5314
52283633 5315 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5316 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5317 size in the sdata structure.
5318 (SDATA_NBYTES, SDATA_DATA): New macros.
5319 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5320 differently for the different layout of the sdata structure.
5321 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5322 in sdata.
5323 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5324 Check that size recorded in the string size and size recorded in
5325 the sdata structure agree.
5326
3e60b029
DL
53272000-09-25 Dave Love <fx@gnu.org>
5328
5329 * buffer.c: Include stdio.h.
5330
5331 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5332
3e60b029
DL
5333 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5334
5335 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5336 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5337 (__malloc_extra_blocks): Declare as __malloc_size_t.
5338
8ff16b4e
GM
53392000-09-25 Gerd Moellmann <gerd@gnu.org>
5340
755a2ccd
GM
5341 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5342
d8b4516f
GM
5343 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5344 (read_char): If help-echo is showing, preserve the echo area
5345 when redisplaying.
5346
5347 * xdisp.c (help_echo_showing_p): New variable.
5348 (set_message): Reset it to 0.
5349 (init_xdisp): Initialize help_echo_showing_p.
5350
5351 * dispextern.h (help_echo_showing_p): Declare extern.
5352
5353 * config.in: Fix typo in __GNUC_MINOR__.
5354
5355 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5356
b11af2dd
GM
5357 * s/freebsd.h (POSIX_SIGNALS): Define.
5358
8ff16b4e
GM
5359 * xterm.c (x_clear_mouse_face): Block/unblock input.
5360
844eb643
DL
53612000-09-24 Dave Love <fx@gnu.org>
5362
5363 * fns.c (base64_encode_1): Fix last change.
5364
b30ab1b3
GM
53652000-09-22 Gerd Moellmann <gerd@gnu.org>
5366
5367 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5368
5369 * xdisp.c (try_window_reusing_current_matrix): More fixes
5370 for the case window has a header-line.
5371
c6cbe5f0
DL
53722000-09-22 Dave Love <fx@gnu.org>
5373
4c7c1f3f
DL
5374 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5375 a doc string.
5376
5377 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5378
c6cbe5f0
DL
5379 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5380
550a625e
GM
53812000-09-21 Gerd Moellmann <gerd@gnu.org>
5382
4c7c1f3f 5383 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5384 for GCC >= 2.5.
5385
52283633
SM
5386 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5387 Declare NO_RETURN.
fca99116 5388
80d26f99
GM
5389 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5390 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5391 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5392 warnings.
52283633 5393
80d26f99
GM
5394 * marker.c (byte_char_debug_check): Return void.
5395
623a0aae
GM
5396 * xfns.c (Fx_create_frame): Set default frame parameter value
5397 for tool-bar-lines to 1.
5398
5399 * dispnew.c (scrolling_window): Compare y-positions of rows
5400 equal at the start. Some simplification.
5401
5402 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5403 reused rows' y-position in the case window has a header-line, and
5404 new window start is greater than old window start.
5405
42ac0ae5
GM
5406 * process.c (process_sent_to): New variable.
5407 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5408 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5409 Declare more parameters volatile.
5410
550a625e
GM
5411 * lread.c (Vrecursive_load_depth_limit): New variable.
5412 (Fload): Check recursive loads whose recursion depth exceeds
5413 Vrecursive_load_depth_limit.
5414 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5415
8320414c
GM
54162000-09-20 Gerd Moellmann <gerd@gnu.org>
5417
f46c275e
GM
5418 * fileio.c (Fread_file_name): Doc fix.
5419
5420 * editfns.c (Fmessage_or_box): Doc fix.
5421
5422 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5423
b7e11c5b 5424 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5425
8320414c
GM
5426 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5427 symbols are specified, add color translations to the cache.
52283633 5428 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5429 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5430 xpm_cache_color.
5431 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5432 structures to xpm_init_color_cache.
5433
da1608d9
GM
54342000-09-19 Gerd Moellmann <gerd@gnu.org>
5435
52283633 5436 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5437
6badfa25
AI
54382000-09-19 Andrew Innes <andrewi@gnu.org>
5439
5440 * makefile.nt (bootstrap-emacs): Don't change directory.
5441
3a5f42bb
KH
54422000-09-19 Kenichi Handa <handa@etl.go.jp>
5443
1b7649bd
KH
5444 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5445
3a5f42bb
KH
5446 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5447 If output buffer is too small, signal an appropriated error.
5448
9f83cf0b
DL
54492000-09-18 Dave Love <fx@gnu.org>
5450
52283633 5451 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5452 (current_active_maps): Remove redundant get_local_map call.
5453
28c7826c
GM
54542000-09-18 Gerd Moellmann <gerd@gnu.org>
5455
5cefa566
GM
5456 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5457 cursor for buffers whose cursor_type is nil.
52283633 5458
6fed3546
GM
5459 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5460 a feature to implement that is already implemented.
5461 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5462 warnings.
5463
5464 * xfns.c (x_clear_image_1): New function.
5465 (x_clear_image): Use it.
52283633 5466 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5467
05b1f851
GM
5468 * dispnew.c (update_window): Move test for invisible lines
5469 at the top to update_window_line.
5470 (update_window_line): Handle invisible lines here.
5471
f4779de9
GM
5472 * xfns.c (clear_image_cache): Clear current matrices of all
5473 frames sharing an image cache. Block input while freeing
5474 images. Fix timestamp comparison.
5475 (x_clear_image): Also free the mask.
5476
28c7826c
GM
5477 * xfns.c (lookup_image): Block input while loading the image so
5478 that we won't get interrupted in a state where the image isn't yet
5479 set up completely.
5480 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5481 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5482 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5483 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5484
b7412313
GM
54852000-09-16 Gerd Moellmann <gerd@gnu.org>
5486
5487 * dispnew.c (update_window): Make sure to make desired rows
5488 current even if they are completely invisible at the top
5489 of a window.
5490
47e351a3
GM
54912000-09-15 Gerd Moellmann <gerd@gnu.org>
5492
7f8f1edc
GM
5493 * xfns.c (lookup_image): Build mask before applying an algorithm.
5494 Recognize algorithm `disabled'.
5495 (cross_disabled_images): New variable.
5496 (COLOR_INTENSITY): New macro.
5497 (x_detect_edges): Use COLOR_INTENSITY.
5498 (x_disable_image): New function.
5499 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5500
5501 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5502 disabled state, don't apply an image transformation algorithm if
5503 the user specified an image for the disabled state. Use
28c7826c 5504 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5505 user hasn't specified an image.
5506
ebb8f116
GM
5507 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5508 allocation functions with the XPM lib.
5509 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5510 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5511 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5512 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5513 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5514 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5515 functions, if possible, because these handle color allocation
5516 failure more gracefully.
5517 (Fimage_mask_p): New function.
5518
47e351a3
GM
5519 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5520 (Qedge_detection, Qheuristic): New symbols.
5521 (syms_of_xfns): Initialize new symbols.
5522 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5523 `algorithm (edge-detection ...)'.
5524 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5525 (tiff_format, gif_format, gs_format): Add `:mask'.
5526 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5527 (GIF_MASK, GS_MASK): New enumerators.
5528 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5529 (emboss_matrix, laplace_matrix): New variables.
5530 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5531 (x_edge_detection): New functions.
5532 (x_laplace): Rewritten in terms of x_detect_edges.
5533 (x_build_heuristic_mask): If image has a mask, free it.
5534
fe83b953
AI
55352000-09-14 Andrew Innes <andrewi@gnu.org>
5536
5537 * makefile.w32-in: Revert to Unix line endings.
5538
3021e816
AI
55392000-09-14 Andrew Innes <andrewi@gnu.org>
5540
5541 * makefile.w32-in: Standardize indentation somewhat.
5542 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5543 cater for differences between shells.
5544
5545 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5546
2a32b5ea
GM
55472000-09-14 Gerd Moellmann <gerd@gnu.org>
5548
5549 * xterm.c (x_produce_glyphs): If the distance from the current
5550 position to the next tab stop is less than a canonical character
5551 width, use the tab stop after that.
5552
b4331e96
DL
55532000-09-14 Dave Love <fx@gnu.org>
5554
5555 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5556
ef9e4345
GM
55572000-09-14 Gerd Moellmann <gerd@gnu.org>
5558
085536c2
GM
5559 * xdisp.c (handle_fontified_prop): While running fontification
5560 functions, bind `fontification-functions' and
5561 `after-change-functions' to nil.
5562
ef9e4345
GM
5563 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5564 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5565
5566 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5567
5568 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5569 USE_MMAP_FOR_BUFFERS.
5570
5571 * insdel.c (make_gap): Use enlarge_buffer_text.
5572
5573 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5574 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5575 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5576 from former r_alloc_* functions in ralloc.c.
52283633 5577 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5578 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5579 (mmap_init) [REL_ALLOC_MMAP]: New function.
5580 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5581 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5582 BUFFER_FREE.
5583
5584 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5585 (enlarge_buffer_text): Add prototype.
5586
5587 * ralloc.c: Remove everything having to do with the use of mmap.
5588
f8608968
GM
55892000-09-13 Gerd Moellmann <gerd@gnu.org>
5590
2a494b2d
GM
5591 * sound.c (Fplay_sound): Doc fix.
5592
8c907a56
GM
5593 * keyboard.c: Avoid some more compiler warnings.
5594 (parse_tool_bar_item): Ignore cached key bindings.
5595
f8608968
GM
5596 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5597 and allocation of Lisp data.
5598
6ab70e9a
GM
55992000-09-12 Gerd Moellmann <gerd@gnu.org>
5600
d12d0a9b
GM
5601 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5602 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5603 defaults first.
5604
6ab70e9a
GM
5605 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5606
63c36c3c
KH
56072000-09-12 Miyashita Hisashi <himi@meadowy.org>
5608
5609 * ccl.c: Comment fixed.
5610 (MAX_MAP_SET_LEVEL): Increased to 30.
5611 (PUSH_MAPPING_STACK): Enclose with do-while block.
5612 (POP_MAPPING_STACK): Likewise.
5613 (stack_idx_of_map_multiple): New variable.
5614 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5615 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5616 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5617 (ccl_driver) <CCL_MapSingle>: Likewise.
5618 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5619 with the case where looking up process reaches to the end of
5620 map-set, and call CCL programs as the above change.
5621
7ee3bd7b
GM
56222000-09-11 Gerd Moellmann <gerd@gnu.org>
5623
8ec8a5ec
GM
5624 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5625 that might be clobbered by longjmp.
5626 (check_x_display_info, x_decode_color, create_frame_xic)
5627 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5628 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5629
f74b0705
GM
5630 * lread.c (init_lread): Set Vloads_in_progress to nil.
5631 (Fload): Show list of recursively loaded files, when signaling an
5632 error.
5633
7ee3bd7b
GM
5634 * lread.c (Vloads_in_progress): New variable.
5635 (record_load_unwind): New function.
5636 (Fload): Check for recursive loads.
5637 (syms_of_lread): Initialize Vloads_in_progress.
5638 (read_integer, read1): Avoid some compiler warnings.
5639
5640 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5641 compiler warnings.
5642
974e1e5b
MB
56432000-09-11 Miles Bader <miles@gnu.org>
5644
5645 * editfns.c (Fbuffer_string): Doc fix.
5646
9824c4e3
GM
56472000-09-10 Gerd Moellmann <gerd@gnu.org>
5648
5649 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5650
6a72fdd1
KR
56512000-09-09 Ken Raeburn <raeburn@gnu.org>
5652
5653 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5654 whether to include other header files.
5655
28e6fb66
GM
56562000-09-09 Gerd Moellmann <gerd@gnu.org>
5657
52283633 5658 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5659 by Fmemq as a boolean.
28e6fb66 5660
7f8b6551
SM
56612000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5662
5663 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5664
a8710abf
GM
56652000-09-08 Gerd Moellmann <gerd@gnu.org>
5666
d1a02881
GM
5667 * ralloc.c (mmap_fd): Remove initializer which can make it
5668 read-only in a dumped Emacs.
5669 (mmap_fd_1): New variable.
5670 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5671 restore it from there.
5672 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5673 unconditionally so that mmap_fd can be initialized there.
5674 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5675 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5676 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5677
c454aac1
GM
5678 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5679
5680 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5681 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5682
fc653ef2
GM
5683 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5684
3015eec0
GM
5685 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5686 inheritance.
5687
bfe0ee88
GM
5688 * xdisp.c (try_window_id): When trying to locate cursor in
5689 unchanged rows at the top, handle the case that we can't find it.
5690
a8710abf
GM
5691 * xterm.c (x_draw_glyphs): Handle case START and END are out
5692 of bounds more carefully.
5693
6b7d4ae4
DL
56942000-09-08 Dave Love <fx@gnu.org>
5695
423193c5
DL
5696 * s/sol2.h (REL_ALLOC_MMAP): Define.
5697 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5698
5699 * ralloc.c: Don't include string.h (redundant).
5700 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5701 [!MAP_ANON]: Include fcntl.h.
5702 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5703 (r_alloc, r_re_alloc, r_alloc_free)
5704 (mmap_enlarge, mmap_set_vars): Use it.
5705 (r_alloc_init_fd): New function.
5706 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5707 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5708 malloc type.
5709
5710 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5711 Remove vm-limit.o.
5712
6b7d4ae4
DL
5713 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5714 change to __NetBSD__.
5715
44d31981
KH
57162000-09-08 Kenichi Handa <handa@etl.go.jp>
5717
5718 * search.c (compile_pattern): Check the multibyteness of cached
5719 string and PATTERN.
5720
aad40737
MB
57212000-09-08 Miles Bader <miles@gnu.org>
5722
5723 * xfaces.c (default_face_vector): Function removed.
5724 (Finternal_merge_in_global_face): Restore old global/local
5725 attribute override order. Use inline loop instead of calling
5726 default_face_vector.
5727
91a211b5
GM
57282000-09-07 Gerd Moellmann <gerd@gnu.org>
5729
5730 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5731 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5732 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5733 where necessary, in case POINTER_TYPE is `void'.
5734
03419440
EZ
57352000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5736
5737 * frame.c (make_terminal_frame): Initialize frame foreground and
5738 background colors to unspecified, for the initial instance of an
5739 MSDOS frame.
5740
f46f845b
GM
57412000-09-07 Gerd Moellmann <gerd@gnu.org>
5742
24f76fbf
GM
5743 * ralloc.c (mmap_find): Fix overlap computation.
5744 (mmap_enlarge): Compute nbytes before trying to find an
5745 overlapping region.
5746
f46f845b
GM
5747 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5748 instead of `!='.
5749
5750 * lread.c (syms_of_lread): Change value of regexp
5751 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5752
5753 * xmenu.c (xdialog_show): When looking up the selection in
5754 menu_items, take `quote' boundaries into account; this corresponds
5755 to a nil ITEM in x-popup-dialog.
5756
3c014385
KH
57572000-09-07 Kenichi Handa <handa@etl.go.jp>
5758
fd6f711b
KH
5759 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5760 not 0x81.
5761 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5762
3c014385 5763 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5764 encoding, not decoding. Fix the handling of latin-jisx0201.
5765 Check for the charset katakana-jisx0201 too.
3c014385 5766 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5767 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5768
0da3ecef
GM
57692000-09-07 Gerd Moellmann <gerd@gnu.org>
5770
ab0ee409
GM
5771 * xfaces.c (Vparam_value_alist): New variable.
5772 (syms_of_xfaces): Initialize it.
5773 (Finternal_set_lisp_face_attribute): Avoid more consing.
5774
5775 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5776 specially.
5777 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5778 (Qbackground_mode): New variable.
5779 (syms_of_frame_1): Initialize Qbackground_mode.
5780
5781 * lisp.h (Qdisplay): Declare extern.
1091dd67 5782
0da3ecef
GM
5783 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5784 change face on all frames, and change the default for new frames.
5785
b14654b9
DL
57862000-09-07 Dave Love <fx@gnu.org>
5787
5788 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5789
d24fd56f
KH
57902000-09-07 Kenichi Handa <handa@etl.go.jp>
5791
794f3670
KH
5792 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5793
0fddd0dc
KH
5794 * charset.c: Include composite.h
5795 (lisp_string_width): New function.
5796 (Fstring_width): Call lisp_string_width instead of strwidth.
5797
5798 * Makefile.in (charset.o): Depends on composite.h.
5799
d24fd56f
KH
5800 * process.c (read_process_output): Before inserting the decoded
5801 text in the buffer, adjust the multibyteness.
5802
fa0b693c
GM
58032000-09-06 Gerd Moellmann <gerd@gnu.org>
5804
52283633 5805 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5806 buffer's text buffer is null, map new memory.
5807
0a58f946
GM
5808 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5809 POINTER_TYPE and size_t.
5810 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5811 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5812 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5813 [REL_ALLOC_MMAP]: New macros.
5814 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5815 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5816 [REL_ALLOC_MMAP]: New functions.
5817
5818 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5819 before and after unexec.
5820
5821 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5822 text buffers if necessary.
5823
5824 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5825 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5826 in prototypes.
5827
fa0b693c
GM
5828 * config.in (HAVE_MMAP): Add #undef.
5829
877055f6
GM
58302000-09-05 Gerd Moellmann <gerd@gnu.org>
5831
08ba3862
GM
5832 * frame.c (Qdisplay_type): New variable.
5833 (syms_of_frame_1): Initialize it.
5834 (Fframe_parameter): New function that avoids consing.
5835 (syms_of_frame): Defsubr it.
5836
66ffe51c
GM
5837 * buffer.c (Fother_buffer): Consider buffers as invisible when
5838 they are displayed in a window on an invisible frame.
5839
877055f6
GM
5840 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5841 get-largest-window always return nil.
5842
bb970e67
GM
58432000-09-04 Gerd Moellmann <gerd@gnu.org>
5844
5845 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5846 variable; recognize Emacs 19 elc files.
5847
7a3d0e0e
MB
58482000-09-04 Miles Bader <miles@gnu.org>
5849
5850 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5851 before initially popping up the menu, so the menu doesn't flash
52283633 5852 when the face settings are significantly different from the defaults.
7a3d0e0e 5853
14473664
SM
58542000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5855
5856 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5857 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5858 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5859 (BIT_UNIBYTE): Remove.
5860 (re_match_2_internal): Delete corresponding code and streamline the
5861 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5862 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5863 (re_wctype_t): New type.
5864 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5865 (regex_compile): Use them and fix handling of overly long char classes.
5866
c1174479
AI
58672000-09-03 Andrew Innes <andrewi@gnu.org>
5868
f8803e97
AI
5869 * makefile.w32-in: Change to DOS line endings.
5870
c1174479
AI
5871 * s/ms-w32.h (ORDINARY_LINK): New define.
5872
5873 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5874 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5875
5876 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5877 (distclean): Delete them here instead.
5878
44ef7cf6
AI
5879 * w32proc.c (compare_env): Convert to uppercase for comparison,
5880 not lowercase, to match how the native Windows shell works.
5881
49b3bd82
JR
58822000-09-03 Jason Rumney <jasonr@gnu.org>
5883
5884 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5885 CVS changes the line-ends when checking in/out on DOS/Windows.
5886
5887 * makefile.nt (emacs): Do not change directory to run temacs, as
5888 the load-path is set relative to current directory.
5889
a3d35a39
MB
58902000-09-03 Miles Bader <miles@gnu.org>
5891
5892 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5893
d276b0cf
GM
58942000-09-02 Gerd Moellmann <gerd@gnu.org>
5895
715e84c9
GM
5896 * xdisp.c (redisplay_mode_lines): New function.
5897 (display_mode_lines): Return number of mode lines displayed.
5898 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5899 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5900
8892f40b
GM
5901 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5902 string.h and strings.h.
5903 (index) [HAVE_INDEX]: Add prototype.
5904
d276b0cf
GM
5905 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5906 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5907
5908 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5909 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5910
38404229
GM
59112000-09-01 Gerd Moellmann <gerd@gnu.org>
5912
5913 * lread.c (read1): Accept `?' as symbol constituent, for
5914 compatiblity with XEmacs.
5915
c0f9ea08
SM
59162000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5917
5918 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5919 (struct re_pattern_buffer): Remove newline_anchor.
5920 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5921 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5922 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5923 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5924 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5925 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5926 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5927 Get rid of references to newline_anchor.
5928 (regcomp): Allocate and precompute a fastmap.
5929
8c0f83fe
GM
59302000-08-31 Gerd Moellmann <gerd@gnu.org>
5931
5932 * lread.c (openp): GCPRO local variable `filename'.
5933
4bb91c68
SM
59342000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5935
5936 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5937
5938 * regex.c: Merge some changes from GNU libc. Add prototypes.
5939 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5940 Use memcmp and memcpy instead of bcopy and bcmp.
5941 (init_syntax_once): Use ISALNUM.
5942 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5943 (REG_UNSET_VALUE): Remove. Use NULL instead.
5944 (REG_UNSET, re_match_2_internal): Use NULL.
5945 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5946 New macros.
5947 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5948 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5949 (regex_compile): In handle_interval, return an error rather than try to
5950 unfetch the interval if we can't find the closing brace.
5951 Obey the RE_NO_GNU_OPS syntax bit.
5952 (TOLOWER): New macro.
5953 (regcomp): Use it.
5954 (regexec): Allocate regs.start and regs.end as one block.
5955
5226a931
GM
59562000-08-30 Gerd Moellmann <gerd@gnu.org>
5957
868dd24b
GM
5958 * xdisp.c (echo_area_display): Check display_completed instead
5959 of calling detect_input_pending.
5960
5961 * dispnew.c (update_frame): Only set display_completed here; move
5962 the update_begin and update_end calls here from update_frame_1.
5963 (update_frame_1): Don't set display_completed here, don't call
5964 update_begin/update_end.
5965
5226a931
GM
5966 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5967 instead of store_frame_param.
5968
2a8bd25f
GM
59692000-08-29 Gerd Moellmann <gerd@gnu.org>
5970
5971 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5972 desired window matrix hasn't been displayed, use the current row
5973 instead. Make sure that only those frame rows are updated for
5974 which there exists a corresponding enabled desired row.
52283633 5975
ba3478d9
MB
59762000-08-29 Miles Bader <miles@gnu.org>
5977
5978 * xfaces.c (default_face_vector): New function.
5979 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5980
87d0f685
GM
59812000-08-29 Gerd Moellmann <gerd@gnu.org>
5982
5983 * lread.c (openp): Prevent temporary string passed to
5984 Ffile_readable_p from being garbage collected.
5985
6fa86045
DL
59862000-08-28 Dave Love <fx@gnu.org>
5987
5988 * keymap.c (store_in_keymap): Add `static' to declaration.
5989
bb17930d
GM
59902000-08-28 Gerd Moellmann <gerd@gnu.org>
5991
5992 * emacs.c, callint.c, doc.c, editfns.c
5993 (toplevel) [HAVE_STRING_H]: Include string.h.
5994 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5995 (index): Remove prototypes which might conflict with non-standard
5996 definitions of index/strchr.
5997
5998 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5999 (rindex): Define only if !HAVE_RINDEX.
6000
6001 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6002
6003 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6004
87188200
MB
60052000-08-28 Miles Bader <miles@gnu.org>
6006
6007 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6008 made inconsistent by a font-related attribute in FROM.
6009 (merge_face_inheritance): Add function comment.
6010
41a68aef
KH
60112000-08-28 Kenichi Handa <handa@etl.go.jp>
6012
6013 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6014 the 4th arg (PREV_EVENT) Qt to suppress input method.
6015
f7c436c1
SM
60162000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6017
0b32bf0e
SM
6018 * regex.c: Indent cpp directives and remove parens after `defined'.
6019 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6020 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6021 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6022 (re_compile_pattern): Use size_t for length.
6023 (init_syntax_once): Move to a better place.
6024 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6025 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6026
f7c436c1
SM
6027 * syntax.c (back_comment): Detect cases where a comment-starter is
6028 actually inside another comment as in: /* a // b */ c // d \n.
6029 Make it clear that `comstart_pos' is unused for nested comments.
6030
6031 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6032 (KEYMAPP): New macro.
6033 (Fkeymap_parent, Fset_keymap_parent): Use it.
6034 (fix_submap_inheritance): Mark it static.
6035 (define_as_prefix, describe_buffer_bindings, describe_command)
6036 (describe_translation, describe_map): Complete prototypes.
6037
6038 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6039
6040 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6041 to better match the key-lookup behavior.
6042
6288c62f
GM
60432000-08-27 Gerd Moellmann <gerd@gnu.org>
6044
6045 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6046 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6047
e931344e
EZ
60482000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6049
6050 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6051 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6052 (xterm.o): Depend on coding.h
6053
d10dfeef
KH
60542000-08-26 Kenichi Handa <handa@etl.go.jp>
6055
6056 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6057 the corresponding '#endif'.
6058
2d73e8d3
MB
60592000-08-26 Miles Bader <miles@gnu.org>
6060
6061 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6062 * xfaces.c (QCinherit): New variable.
6063 (syms_of_xfaces): Initialize it.
6064 (LFACE_INHERIT): New macro.
6065 (Finternal_get_lisp_face_attribute)
52283633 6066 (merge_face_vector_with_property)
2d73e8d3
MB
6067 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6068 (check_lface_attrs): Allow new types of face height. Check
6069 inherit attribute.
6070 (CYCLE_CHECK): New macro.
6071 (merge_face_inheritance): New function.
6072 (merge_face_vectors): Merge inherited faces too. Add F and
6073 CYCLE_CHECK arguments.
6074 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6075 (lookup_named_face, lookup_derived_face, realize_named_face)
6076 (face_at_string_position, face_at_buffer_position): Supply
6077 new F and CYCLE_CHECK arguments to merge_face_vectors.
6078 (merge_face_heights): New function.
52283633 6079 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6080 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6081 handle relative face heights.
6082 (lface_same_font_attributes_p): Compare heights using EQ.
6083
6ce974d4
KH
60842000-08-26 Kenichi Handa <handa@etl.go.jp>
6085
6086 * charset.c (char_to_string): Check the character validity.
52283633 6087 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6088
dc1e502d
SM
60892000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6090
6091 * regex.c (PUSH_FAILURE_COUNT): New macro.
6092 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6093 Handle popping of a register's or a counter's data.
6094 (POP_FAILURE_POINT): Use the new name.
6095 (re_match_2_internal): Push counter data on the stack for succeed_n,
6096 jump_n and set_number_at and remove misleading dead code in succeed_n.
6097
bd9d0f3f
GM
60982000-08-25 Gerd Moellmann <gerd@gnu.org>
6099
6100 * xdisp.c (redisplay_internal): If considering all windows on all
6101 frames, update the display for each frame as soon as possible,
6102 instead of first building all desired matrices for all frames, and
6103 then updating them all.
6104 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6105
aa5b8e15
GM
61062000-08-24 Gerd Moellmann <gerd@gnu.org>
6107
17494071
GM
6108 * bytecode.c (mark_byte_stack): Add a comment.
6109
52283633
SM
6110 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6111 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6112 a graphical frame.
6113
c543db81
KH
61142000-08-24 Kenichi Handa <handa@etl.go.jp>
6115
d246d5f5
KH
6116 * minibuf.c (do_completion): Always use compare-string, not
6117 string-equal because the latter doesn't pay attention to
6118 multibyteness of strings.
6119
c543db81
KH
6120 * process.c (create_process): Don't setup raw-text coding here.
6121 (Fopen_network_stream): Don't set coding->src_multibyte and
6122 coding->dst_multibyte here.
6123 (read_process_output): For process filter, return unibyte string
6124 if default-enable-multibyte-characters is nil.
6125 (send_process): If OBJECT is multibyte text, be sure to encoded it
6126 by the specified coding system for the process. Otherwise, setup
6127 raw-text coding.
52283633 6128 (init_process): Don't initialize default-process-coding-system here.
c543db81 6129
9b47cfe0
EZ
61302000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6131
6132 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6133 <scroll-down-aggressively>: Likewise.
6134
f5a36960
KH
61352000-08-23 Kenichi Handa <handa@etl.go.jp>
6136
6137 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6138 zero. Set coding->produced_char correctly.
6139
69a7ffa7
AI
61402000-08-22 Andrew Innes <andrewi@gnu.org>
6141
6142 * makefile.w32-in: New file.
6143
6144 * unexw32.c (unexec): Ignore old_name, and use the actual location
6145 of the current executable instead. Base new_name on this.
6146
6147 * w32proc.c (create_child): Remove reference to security
6148 descriptor, which isn't needed and doesn't compile with mingw32.
6149
6150 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6151 up dllimport attributes.
6152 (x_update_window_end): Update prototype.
6153
6154 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6155 extern, which screws up dllimport attributes.
6156
6157 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6158 up dllimport attributes.
6159
6160 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6161 screws up dllimport attributes.
6162
6163 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6164 up dllimport attributes.
6165 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6166 screws up dllimport attributes.
6167
6168 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6169 up dllimport attributes.
6170
6171 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6172 screws up dllimport attributes.
6173
6174 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6175 screws up dllimport attributes.
6176
6177 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6178 up dllimport attributes.
6179
6180 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6181 unnecessary extern, which screws up dllimport attributes.
6182 (main): Ditto.
6183
6184 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6185 up dllimport attributes.
6186
6187 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6188 unnecessary extern, which screws up dllimport attributes.
6189
6190 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6191 screws up dllimport attributes.
6192
6193 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6194 up dllimport attributes.
6195
6196 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6197
52283633
SM
6198 * w32bdf.c (search_file_line):
6199 (set_bdf_font_info):
6200 (seek_char):
6201 (w32_get_bdf_glyph):
69a7ffa7
AI
6202 (w32_BDF_to_x_font): Fix compile warnings.
6203
52283633 6204 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6205
6206 * w32select.c: Include keyboard.h before frame.h.
6207
6208 * w32fns.c (max): Define macro.
6209 (JOHAB_CHARSET): Define if not known.
6210 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6211 (Fx_show_tip): Synch with X version.
6212
6213 * w32xfns.c: Include keyboard.h before frame.h.
6214
6215 * w32fns.c: Include keyboard.h before frame.h.
6216
6217 * w32term.c: Include keyboard.h before frame.h.
6218
6219 * fontset.c: Include keyboard.h before frame.h.
6220
6221 * w32inevt.c: Include keyboard.h before frame.h.
6222 (MOUSE_MOVED): Define if not known.
6223
6224 * minibuf.c: Include keyboard.h before frame.h.
6225
6226 * keyboard.c: Include keyboard.h before frame.h.
6227
6228 * indent.c: Include keyboard.h before frame.h.
6229
6230 * dispnew.c: Include keyboard.h before frame.h.
6231
6232 * buffer.c: Include keyboard.h before frame.h.
6233
6234 * alloc.c: Include keyboard.h before frame.h.
6235
6236 * print.c: Include keyboard.h before frame.h.
6237
6238 * process.c: Include keyboard.h before frame.h.
6239
6240 * scroll.c: Include keyboard.h before frame.h.
6241
6242 * sysdep.c: Include keyboard.h before frame.h.
6243
6244 * term.c: Include keyboard.h before frame.h.
6245
6246 * window.c: Include keyboard.h before frame.h.
6247
6248 * xdisp.c: Include keyboard.h before frame.h.
6249 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6250
6251 * frame.c: Include keyboard.h before frame.h.
6252
6253 * w32heap.h: Undefine min, max.
6254
6255 * w32gui.h: Undefine min, max.
6256
6257 * unexw32.c: Change PUCHAR to PCHAR.
6258 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6259 (relocate_offset):
6260 (get_section_info):
69a7ffa7
AI
6261 (copy_executable_and_dump_data): Remove unnecessary static defs.
6262 (copy_executable_and_dump_data): Fix compile warnings.
6263
6264 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6265
6266 * w32console.c (min): Define macro.
6267 (clear_frame, write_glyphs): Fix compile warning.
6268
52283633 6269 * w32proc.c (compare_env):
69a7ffa7
AI
6270 (find_child_console): Fix compile warning.
6271
6272 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6273 sys_errlist instead of _sys_errlist.
6274 (get_emacs_configuration_options): New function.
6275
6276 * s/ms-w32.h (sys_nerr): Provide default definition.
6277 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6278 name with _ prepended.
6279 (NSIG): Define if not known.
6280 (get_emacs_configuration): Provide extern declaration.
6281 (get_emacs_configuration_options): Provide extern declaration.
6282 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6283
6284 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6285 (map_w32_filename):
69a7ffa7
AI
6286 (read_unc_volume): Fix compile warning.
6287
6288 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6289 definitions from being used.
6290
6291 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6292
52283633 6293 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6294 (open_unc_volume): Make arg const.
6295
6296 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6297 (read_input_waiting): Remove excess parameter.
6298
6299 * w32.c (init_environment): Call _access.
6300 (check_windows_init_file): Call _close.
6301 (init_user_info): Call _putenv.
6302 (init_environment): Call _putenv and _strdup.
6303 (init_ntproc): Reset volume info cache on startup.
6304
6305 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6306 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6307 cannot override the CRT malloc.
6308
6309 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6310 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6311
6312 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6313 unless we are linking with a static CRT.
6314 (RVA_TO_PTR): Cast result to unsigned char*.
6315
6316 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6317 (add_volume_info): Use xstrdup.
6318
25060080
SM
63192000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6320
6321 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6322 (do_completion, Fminibuffer_complete_word): Use it.
6323 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6324 var so it can take non-boolean values.
6325
6917e6bb
GM
63262000-08-21 Gerd Moellmann <gerd@gnu.org>
6327
acb7cc89 6328 * editfns.c (find_field): Formatting changes.
52283633 6329 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6330 changed to prototypes, some new protypes added, some functions
6331 made static.
6332
6333 * lisp.h (set_time_zone_rule): Add prototype.
6334 (use_dialog_box): External declaration.
6335
0bbfdc25
GM
6336 * keyboard.c (gen_help_event): Add parameter SIZE.
6337 (kbd_buffer_events_waiting): Slightly rewritten.
6338 (clear_event): New function.
6339 (kbd_buffer_get_event): Use it, and clear the input_events of
6340 HELP_EVENTs.
6341 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6342 don't fill the newly created array with nils.
6343 (toplevel): Convert some old-style function forward declarations
6344 to prototypes.
6345
6346 * keyboard.h (gen_help_event): Change prototype.
6347
6348 * xterm.c (XTread_socket): Change calls to gen_help_event.
6349
6350 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6351
6917e6bb
GM
6352 * eval.c (Fmacroexpand): Doc fix.
6353
e5cd3d11
JR
63542000-08-20 Jason Rumney <jasonr@gnu.org>
6355
6356 * w32term.h (x_display_info_for_display): Remove as this function
6357 does not exist on W32.
6358
6359 * w32term.c (help_echo_window): New variable.
6360 (syms_of_w32term): staticpro it.
6361 (note_mode_line_highlight): Set it.
6362 (XTextExtents16): Removed as there is no equivalent on W32.
6363 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6364 the X way of doing this will not work for W32.
6365 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6366 (x_draw_image_foreground): Avoid drawing outside of the clip area
6367 when image doesn't have a mask.
6368 (note_mouse_highlight): Process overlays in the right order of
6369 priority. Set help_echo_window.
6370 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6371 because that's more visible for large images.
6372
6373 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6374 name to single_keymap_panes.
6375 (w32_menu_show): Set wv->title when dealing with titles.
6376 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6377
6e69ab8c
MB
63782000-08-21 Miles Bader <miles@gnu.org>
6379
6380 * minibuf.c (do_completion): Try again if we rewrite the input
6381 string, but no completion was done, so that any completion message
6382 will be correct.
6383
511bd4eb
GM
63842000-08-20 Gerd Moellmann <gerd@gnu.org>
6385
6386 * xfaces.c (lface_equal_p): Compare strings differently.
6387 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6388 (realize_tty_face): Use them.
6389 (syms_of_xfaces): Initialize new variables.
6390 (map_tty_color): New function, extracted from realize_tty_face.
6391 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6392 foreground or background color, store the new color name in the
6393 realized face; previous code trying to do this had no effect.
6394 (realize_tty_face): Use map_tty_color.
6395 (Fclear_face_cache): Set face_change_count and ensure thorough
6396 redisplay.
6397
1433385f
GM
63982000-08-19 Gerd Moellmann <gerd@gnu.org>
6399
511bd4eb
GM
6400 * undo.c (record_first_change, record_marker_adjustment): Don't
6401 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6402
419ac0a2
KH
64032000-08-18 Kenichi Handa <handa@etl.go.jp>
6404
6405 * coding.c (decode_coding_string): Set members consumed,
6406 consumed_char, produced, produced_char of *coding correctly. If
6407 decode_coding doesn't consume any byte, don't try anymore.
6408 (encode_coding_string): Likewise.
6409
7eb9e30d
GM
64102000-08-18 Gerd Moellmann <gerd@gnu.org>
6411
511bd4eb
GM
6412 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6413 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6414
6415 * xdisp.c (redisplay_internal): Compare windows for equality with
6416 EQ, instead of applying XWINDOW to something that might not
6417 be a window.
52283633 6418
dd34a735
KH
64192000-08-18 Kenichi Handa <handa@etl.go.jp>
6420
6421 * fontset.c (Finternal_char_font): Search only the selected frame
6422 for a window of the current buffer.
6423
385ff9e3
GM
64242000-08-18 Gerd Moellmann <gerd@gnu.org>
6425
511bd4eb 6426 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6427 Lisp_Objects.
6428
385ff9e3
GM
6429 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6430 second half of a HELP_EVENT is found at the start of kbd_buffer.
6431
d6abb4c7
MB
64322000-08-18 Miles Bader <miles@gnu.org>
6433
4618074a
MB
6434 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6435
d6abb4c7
MB
6436 * editfns.c (save_restriction_save): Rewrite to use markers.
6437 (save_restriction_restore): Rewrite to understand new form of data
6438 saved by save_restriction_save.
6439 (Fsave_restriction): Remove cautionary note in doc-string.
6440
a7b28523
GM
64412000-08-17 Gerd Moellmann <gerd@gnu.org>
6442
6443 * fileio.c (build_annotations): Add a comment explaining the
6444 return value of format-annotate-function. Replace a spurious call
6445 to Flength with a CONSP test. Call format-annotate-function with
6446 a fifth arg specifying how many times the function is been called
6447 in a row, to let it choose temporary buffers appropriately.
6448
03c9ed77
DL
64492000-08-17 Dave Love <fx@gnu.org>
6450
6451 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6452 declare make_temp_name twice.
6453
52283633 6454 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6455 (unreadpure): Give it an arg.
6456
6457 * unexalpha.c: Prototype fatal_unexec, mark_x,
6458 update_dynamic_symbols. Declare unexec as void.
6459
6460 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6461 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6462
6463 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6464 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6465
6466 * alloca.c: Use #error.
6467 [POINTER_TYPE]: Use it.
6468
6469 * eval.c (Fdefvar): Doc fix.
6470
6471 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6472 INITIALIZE_INTERVAL.
6473
6474 * buffer.h: Avoid DECLARE_INTERVALS.
6475
6476 * config.in: Add size_t.
6477
aae41d97
EZ
64782000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6479
6480 * w16select.c (set_clipboard_data): If there's not enough memory
6481 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6482 expects. In case of other failures, return 3.
6483 (system_error_msg): New error message.
6484 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6485 system_error_msg.
6486
65aa5e85
GM
64872000-08-16 Gerd Moellmann <gerd@gnu.org>
6488
6489 * term.c (write_glyphs): Also turn off inverse video after turning
6490 off other appearances in case TS_exit_attribute_mode is not equal
6491 to TS_end_standout_mode.
6492 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6493 with the same face.
6494 (turn_off_face): Reset standout_mode only if
6495 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6496 is equal to TS_end_standout_mode.
6497
ece23901
KH
64982000-08-16 Kenichi Handa <handa@etl.go.jp>
6499
9d7bcb2e
KH
6500 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6501 sequence at the end of the source block.
6502
ece23901
KH
6503 * ccl.c (Fccl_program_p): Docstring modified.
6504 (Fccl_execute): Likewise.
6505 (Fccl_execute_on_string): Likewise.
6506
5e30eaa2
EZ
65072000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6508
6509 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6510
290602fd
KH
65112000-08-16 Kenichi Handa <handa@etl.go.jp>
6512
6513 The following changes are mainly to fix bugs of
6514 encode/decode-coding-string failing if encoding/decoding return
6515 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6516 variable conversion_buffer.
6517
6518 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6519 decrement dst_end to avoid buffer overflow in the later call of
6520 string_as_multibyte
6521
6522 * coding.h (conversion_buffer_size, conversion_buffer)
6523 (get_conversion_buffer): Extern deleted.
6524
6525 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6526 (conversion_buffer, conversion_buffer_size): Variables deleted.
6527 (get_conversion_buffer): Function deleted.
6528 (struct conversion_buffer): New structure.
6529 (MAX_ALLOCA): New macro.
6530 (allocate_conversion_buffer): New macro.
6531 (extend_conversion_buffer, free_conversion_buffer): New functions.
6532 (ccl_coding_driver): Set coding->result.
6533 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6534 this is the last block of source.
6535 (encode_coding): Likewise. Handle the source block as the last
6536 one only when the whole source text is consumed.
6537 (decode_coding_string): Handle the case that the output buffer is
6538 too small to decode the whole source text. Use
6539 allocate_conversion_buffer, extend_conversion_buffer and
6540 free_conversion_buffer, not get_conversion_buffer.
6541 (encode_coding_string): Likewise.
6542 (init_coding): Function deleted.
52283633 6543 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6544
6545 * emacs.c (main): Don't call init_coding.
6546
52283633 6547 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6548
6549 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6550 (insert_glyphs): Likewise.
6551
6552 * w32console.c (write_glyphs): Use a locally declared
6553 conversion_buffer.
6554
b9f80d41
EZ
65552000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6556
6557 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6558 member of display_info is NULL.
6559
32dc52f7
GM
65602000-08-15 Gerd Moellmann <gerd@gnu.org>
6561
52283633 6562 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6563
32dc52f7 6564 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6565 appearances with capability `me'.
32dc52f7
GM
6566 (write_glyphs): Switch on inverse video before each face change.
6567
4eb22d33
DL
65682000-08-14 Dave Love <fx@gnu.org>
6569
6570 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6571 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6572 (lisp_free): Declare and make static.
6573
6574 * window.c: Fix embedded comment.
6575 (syms_of_window): Fix doc string.
6576
90cbf47e
GM
65772000-08-14 Gerd Moellmann <gerd@gnu.org>
6578
52283633 6579 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6580 make sure to print `C-' before `M-', like in the manual.
6581
440fc135
GM
65822000-08-11 Gerd Moellmann <gerd@gnu.org>
6583
6584 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6585 since they aren't relocated anymore.
52283633 6586 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6587
6588 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6589 partially visible line which is smaller than the window's height.
440fc135 6590
6e264fad
KH
65912000-08-11 Kenichi Handa <handa@etl.go.jp>
6592
6593 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6594 the multibyte form of eight-bit-control characters.
6e264fad
KH
6595 (Fccl_execute_on_string): Initialize ccl->multibyte.
6596
6597 * ccl.h (struct ccl_program): New member multibyte.
6598
6599 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6600
c371f69a
KH
66012000-08-11 Kenichi Handa <handa@etl.go.jp>
6602
6603 * regex.c (regex_compile) <normal_char>: Pay attention to
6604 multibyteness.
6605 (analyse_first) <exactn>: Setup fastmap correctly for
6606 eight-bit-control characters.
6607
66082000-08-11 Kenichi Handa <handa@etl.go.jp>
6609
52283633 6610 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6611
6612 * keyboard.c (make_lispy_event): Handle the new event type
6613 multibyte_char_keystroke.
6614
6615 * xterm.c: Include coding.h.
6616 (XTread_socket): Work around a bug of XmbLookupString. If the
6617 input is from XIM, decode it according to the current locale. In
6618 that case, generate multibyte_char_keystroke events.
6619
b8ddbe71
KH
66202000-08-11 Kenichi Handa <handa@etl.go.jp>
6621
6622 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6623 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6624
47589c8c
GM
66252000-08-10 Gerd Moellmann <gerd@gnu.org>
6626
6627 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6628 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6629 (move_it_in_display_line_to): Record iterator's ascent and descent
6630 before producing glyphs, and restore them when we know the glyph
6631 doesn't fit on the line.
6632 (move_it_to): Restructured so that it's easier to debug. If
6633 moving to a vpos, and not moving to an x or character position,
6634 stop as soon as the specified vpos is reached; don't move further
6635 into that line because that might change the computed line height.
6636 (try_cursor_movement): New function, extracted from the cursor
6637 movement branch of redisplay_window. If ending on a partially
6638 visible line, don't try to scroll if the cursor line is taller
6639 than the window.
6640 (redisplay_window): Use try_cursor_movement.
6641
6642 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6643 because that function doesn't cope with variable-height lines.
6644
6645 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6646 box cursor because that's better visible for large images.
52283633 6647
c51bacd6
MB
66482000-08-10 Miles Bader <miles@gnu.org>
6649
6650 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6651
bea56df7
GM
66522000-08-10 Gerd Moellmann <gerd@gnu.org>
6653
6654 * xdisp.c (Vmessages_buffer_name): New variable.
6655 (message_dolog): Use it.
6656 (syms_of_xdisp): Initialize it.
6657
99cd7364
EZ
66582000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6659
52283633 6660 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6661 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6662 redundant now that keyboard.h is included.
6663
7d093d56
EZ
66642000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6665
6666 * keyboard.c (kbd_buffer_events_waiting): New function.
6667
6668 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6669
6670 * msdos.c: Include keyboard.h.
6671 (XMenuActivate): Empty no_event events from the event buffer. If
6672 no events are left after that, call clear_input_pending.
6673 (mouse_clear_clicks): New function, code moved from mouse_init.
6674 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6675 mouse driver to ``forget'' any past clicks.
6676
6677 * Makefile.in (msdos.o): Depend on keyboard.h.
6678
41e757a6
GM
66792000-08-09 Gerd Moellmann <gerd@gnu.org>
6680
8e7bd231
GM
6681 * lisp.h (input_pending): External declaration.
6682
6683 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6684
8e7bd231
GM
6685 * xdisp.c (echo_area_display): Display thoroughly if input is
6686 pending. Bind redisplay-dont-pause to t during the redisplay.
6687 in case input is pending.
6688
6689 * dispnew.c (Qredisplay_dont_pause): New variable.
6690 (syms_of_display): Initialize and staticpro it.
6691 (update_frame_1): Don't interrupt the display for pending input if
6692 redisplay_dont_pause is set.
52283633 6693
43028b7e
GM
6694 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6695
41e757a6
GM
6696 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6697
2f2174fa
KH
66982000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6699
6700 * callproc.c (Fcall_process): Terminate the unwind-protect around
6701 the post-read-conversion of coding system.
6702
0a6fd67e
MB
6703 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6704 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6705 * buffer.h (overlays_at): Update prototype.
6706 * xdisp.c (next_overlay_change): Update call to overlays_at.
6707 * xfaces.c (face_at_buffer_position): Likewise.
6708 * textprop.c (Fget_char_property): Likewise.
6709 * xterm.c (note_mouse_highlight): Likewise.
6710
0c80756e
MB
6711 * minibuf.c (do_completion): Don't consider a simple change of
6712 case as `completion'.
6713
975f250a
KR
67142000-08-08 Ken Raeburn <raeburn@gnu.org>
6715
52283633 6716 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6717 * undo.c (record_delete): Make sure last_point_position_buffer is
6718 a buffer before comparing pointers.
6719
6720 * coding.h (decode_coding_string): Declare.
6721
6722 * intervals.h (Fprevious_single_char_property_change): Declare.
6723
6724 * textprop.c (Fprevious_single_char_property_change): Don't do
6725 arithmetic directly on lisp objects.
6726
52283633 6727 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6728
6729 * keyboard.h (menu_item_eval_property): Declare.
6730
6731 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6732 reuse as buffer name, instead of recreating (and discarding) every
6733 time a message is logged.
6734 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6735 (current_message_1, truncate_message_1, set_message_1)
6736 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6737 (current_message, truncate_echo_area, display_echo_area)
6738 (resize_echo_area_axactly): Changed calls.
b347b3fd 6739
975f250a 6740 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6741 Lisp object.
975f250a 6742 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6743 must be an integer, not a Lisp object.
975f250a 6744
46dc9912
KH
67452000-08-08 Kenichi Handa <handa@etl.go.jp>
6746
6747 * charset.c (Fchar_width): Doc fix.
6748
9f6d1a6c
GM
67492000-08-08 Gerd Moellmann <gerd@gnu.org>
6750
6751 * charset.c (Fstring_width): Doc fix.
6752
ff3d9573
GM
67532000-08-07 Gerd Moellmann <gerd@gnu.org>
6754
41e757a6 6755 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6756 line, clear ascent and descent members of the iterator structure;
6757 the height of the continued line does not affect the height of the
6758 continuation line.
6759 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6760 line taller than the window.
6761 (redisplay_window) <forced window start>: Handle case that the
6762 middle of the window is not found in any row.
6763 (dump_glyph_row): Show more information.
6764 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6765 first text line in a glyph matrix.
6766
6767 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6768 of the clip area when image doesn't have a mask.
6769
70fc58b3
GM
6770 * fns.c (sweep_weak_table): Fix survival conditions for
6771 key-or-value and key-and-value weakness.
6772
6773 * .gdbinit (xhashtable): New command.
6774
ac0e96ee
GM
6775 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6776 tables out of the list of all weak hash tables.
6777
ff3d9573
GM
6778 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6779 a new buffer is created, make sure echo_area_buffer[] references
6780 the new buffer.
6781
e0d8827b
EZ
67822000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6783
6784 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6785 the doc string.
6786
c6f35378
KH
67872000-08-07 Kenichi Handa <handa@etl.go.jp>
6788
6789 * syntax.c (skip_chars): Fix previous change. Make the handling
6790 of unibyte string consistent with that of regex search.
6791
1fd4c450
GM
67922000-08-05 Gerd Moellmann <gerd@gnu.org>
6793
e49aa397
GM
6794 * xmenu.c (popup_get_selection): Use xfree instead of free.
6795
6796 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6797
6798 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6799
6800 * callproc.c (child_setup): Use xfree instead of free.
6801
6802 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6803 instead of malloc.
6804 (run_mac_command, closedir): Use `xfree' instead of `free'.
6805
6806 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6807
6808 * eval.c (error): Use xfree instead of free.
6809
1fd4c450
GM
6810 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6811
6812 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6813 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6814
82d497fc
KH
68152000-08-05 Kenichi Handa <handa@etl.go.jp>
6816
6817 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6818 conversion.
6819
59f953a2
NF
68202000-08-04 Noah Friedman <friedman@splode.com>
6821
6822 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6823 docstring.
6824
688351f2
GM
68252000-08-04 Gerd Moellmann <gerd@gnu.org>
6826
6827 * syntax.c (skip_chars): Fix typo in error message.
6828
2dad51cc
AS
68292000-08-04 Andreas Schwab <schwab@suse.de>
6830
6831 * m/ia64.h: Moved from s/ia64.h.
6832
99bb2c60
KH
68332000-08-04 Kenichi Handa <handa@etl.go.jp>
6834
082a1df2
KH
6835 * process.c (read_process_output): Big simplification. Handle
6836 composition and post-read-conversion of coding system correctly.
6837 (send_process): Handle composition correctly.
6838
6839 * callproc.c (Fcall_process): Handle post-read-conversion of
6840 coding system if any.
6841
99bb2c60
KH
6842 * coding.c (decode_coding_iso2022): More strict check for handling
6843 single shifting.
082a1df2
KH
6844 (coding_restore_composition): Pay attention to the case that
6845 cmp_data is not set properly (because of invalid code in the
6846 source text).
6847 (run_pre_post_conversion_on_str): Include text properties in the
6848 resulting string.
6849 (decode_coding_string): Set members of coding correctly.
99bb2c60 6850
f4988be7
GM
68512000-08-03 Gerd Moellmann <gerd@gnu.org>
6852
6853 * s/ia64.h: New file.
6854
6855 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6856 Use NULL instead of 0 at the end of variable argument list of
6857 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6858 sizeof (int) < sizeof (void *).
6859
6860 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6861 of variable argument lists of XtVaGetValues and XtVaSetValues.
6862
6863 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6864 variable argument lists of XtVaGetValues and XtVaSetValues.
6865
ead53494
GM
68662000-08-02 Gerd Moellmann <gerd@gnu.org>
6867
6868 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6869 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6870
6871 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6872 prototype.
6873
6874 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6875 in call to Fsingle_key_description.
6876
6877 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6878 Callers changed.
6879
68802000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6881
6882 * window.c (display_buffer_reuse_frames): New variable.
6883 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6884 frames displaying BUFFER.
52283633 6885 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6886
10b0f752
MB
68872000-08-01 Miles Bader <miles@gnu.org>
6888
6889 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6890 when to constrain NEW_POS (they were pretty screwed up before).
6891
16425c4a
EZ
68922000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6893
6894 * msdos.c (run_msdos_command): Save and restore the master
6895 environment, for the case that child_setup signals an error.
6896 When mirroring slashes in DOS shell commands, don't fail when
6897 argv[2] has embedded blanks.
da288c14
EZ
6898 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6899 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6900 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6901
6902 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6903 using alloca; free it after run_msdos_command returns.
6904
27f73852
DL
69052000-07-27 Dave Love <fx@gnu.org>
6906
52283633
SM
6907 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6908 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6909
6910 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6911
c0261b5e
EZ
69122000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6913
6914 * editfns.c (lisp_time_argument): Fix last change.
6915
b548072f
GM
69162000-07-27 Gerd Moellmann <gerd@gnu.org>
6917
3ab82477
GM
6918 * fns.c (Fdelete): Make it work on vectors and strings in addition
6919 to lists.
6920
b548072f
GM
6921 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6922 (syms_of_fns): Initialize new variables.
52283633 6923 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6924 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6925 weakness, with t meaning the same as `key-and-value'.
6926
91ae8751
KH
69272000-07-27 Kenichi Handa <handa@etl.go.jp>
6928
6929 * coding.h (struct coding_system): Member safe_charset deleted.
6930
6931 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6932 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6933 New variables.
91ae8751
KH
6934 (coding_safe_chars): New function.
6935 (CODING_SAFE_CHAR_P): New macro.
6936 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6937 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6938 (detect_coding_iso2022): New local variable safe_chars.
6939 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6940 safe_charsets member of the coding system.
6941 (decode_coding_iso2022): New local variable safe_chars.
6942 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6943 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6944 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6945 (ENCODE_UNSAFE_CHARACTER): New macro.
6946 (encode_coding_iso2022): New local variable safe_chars. Check
6947 unsafe chars.
6948 (setup_coding_system): Delete the code to initialize
6949 coding->safe_charses
6950 (intersection, find_safe_codings): New functions.
6951 (Ffind_coding_systems_region_internal): New function.
6952 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6953 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6954 variable and initialize it.
6955
6956 * fns.c (char_table_ref_and_index): New function.
6957
6958 * lisp.h (char_table_ref_and_index): Add prototype.
6959
34a7a267
SS
69602000-07-26 Sam Steingold <sds@gnu.org>
6961
6962 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6963 (Ffloat_time): New built-in Lisp function.
34a7a267 6964
a95cb10a
GM
69652000-07-26 Gerd Moellmann <gerd@gnu.org>
6966
3353ef5a
GM
6967 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6968 for the character code.
6969
6970 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6971 GNU/Linux.
6972
a95cb10a
GM
6973 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6974 if called for a popup menu.
6975 (xmenu_show): Store help string in widget values.
6976
b4a12321
DL
69772000-07-26 Dave Love <fx@gnu.org>
6978
6979 * syswait.h: Move some definitions.
6980 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6981 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6982 perspicuous definitions.
6983 (WTERMSIG): Fix bit pattern used.
6984
13f5ad37
KH
69852000-07-26 Kenichi Handa <handa@etl.go.jp>
6986
6987 * print.c (print_object): If vector printing is truncated, print
6988 "..." to indicate it as well as the case of list printing.
6989
070fe99c
GM
69902000-07-25 Gerd Moellmann <gerd@gnu.org>
6991
969065c3
GM
6992 * xdisp.c (next_element_from_display_vector): Improve comments.
6993
6994 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6995 for the character code, and the rest for the face id as in 20.x.
6996 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6997
6998 * window.c (window_display_table): Cleaned up.
6999
070fe99c
GM
7000 * syntax.c (Fforward_word): Add last arg nil in call of
7001 Fconstrain_to_field.
7002
bad77ef7
EZ
70032000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7004
969065c3 7005 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7006 identical but for the letter-case, don't call
7007 barf_or_query_if_file_exists.
bad77ef7 7008
c28da489
MB
70092000-07-25 Miles Bader <miles@gnu.org>
7010
7011 * editfns.c (find_field): Honor special `boundary' fields.
7012 (Qboundary): New variables.
7013 (syms_of_editfns): Initialize Qboundary.
7014 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7015 Use scan_buffer instead of find_before_next_newline, because it
7016 allows us to detect the boundary case where there's a newline at
7017 the search limit.
7018 * lisp.h (Fconstrain_to_field): Update external declaration.
7019
e3c31fd5
GM
70202000-07-24 Gerd Moellmann <gerd@gnu.org>
7021
7022 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7023 if that is nil.
c28da489 7024
c66c29a2
DL
70252000-07-24 Dave Love <fx@gnu.org>
7026
7027 * s/sunos4-0.h, s/sol2.h:
7028 (LIBS_TERMCAP): Move from m/sparc.h.
7029
7030 * m/sparc.h (TERMINFO): Moved to system files (probably only
7031 relevant for sunos4 judging by its vintage).
7032 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7033 __arch64__.
7034
fbe0a958
EZ
70352000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7036
7037 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7038 name to single_keymap_panes.
7039
7d88e5c9
AS
70402000-07-24 Andreas Schwab <schwab@suse.de>
7041
7042 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7043
e024b101
GM
70442000-07-24 Gerd Moellmann <gerd@gnu.org>
7045
7046 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7047 parameters instead of using int parameters. Expect FN to accept
7048 EMACS_INT parameters.
7049 (display_echo_area, resize_echo_area_axactly, current_message)
7050 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7051 with new argument list.
7052 (resize_mini_window_1): New callback function.
7053 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7054 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7055
25c1a9ce
KH
70562000-07-24 Kenichi Handa <handa@etl.go.jp>
7057
7058 * fontset.c (fontset_ref): Remove INLINE declaration.
7059 (fontset_ref_via_base): Likewise.
7060 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7061 to downcase.
7062
7f987ac0
EZ
70632000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7064
7065 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7066 correct order of priority. If help echo was found in an overlay,
7067 use that overlay as the object in which the help echo was found.
7068
e2db3069
MB
70692000-07-22 Miles Bader <miles@gnu.org>
7070
7071 * textprop.c (Fprevious_single_char_property_change): The initial
7072 property value should be from the position preceding POSITION, not
7073 following it.
7074
5e3203e4
EZ
70752000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7076
7077 * coding.c (syms_of_coding): Doc fix for
7078 inhibit-iso-escape-detection.
7079
62145073
GM
70802000-07-21 Gerd Moellmann <gerd@gnu.org>
7081
c20aeb83
GM
7082 * xterm.c (note_mouse_highlight): Process overlays in the right
7083 order of priority.
34a7a267 7084
743934db
GM
7085 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7086
7087 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7088 overlay, use that overlay as the object in which the help was found.
743934db 7089
d1dc7e43 7090 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7091
62145073
GM
7092 * window.c (foreach_window): Instead of a fake variable argument
7093 list, take one USER_DATA argument.
7094 (foreach_window_1): Likewise, and call callback functions with two
7095 args, the window and USER_DATA.
7096 (struct check_window_data): New struct.
7097 (check_window_containing): Use it.
7098 (window_from_coordinates): Set up a struct check_window_data for
7099 foreach_window.
7100 (add_window_to_list, freeze_window_start): Change parameters
7101 according to new calling convention.
7102
7103 * window.h (foreach_window): Change prototype.
7104
7105 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7106
71072000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7108
7109 * xmenu.c (menu_help_callback): Call show_help_echo with
7110 additional arguments OBJECT and POS.
7111
11270583
KH
71122000-07-21 Kenichi Handa <handa@etl.go.jp>
7113
07b14857
KH
7114 * data.c (Faset): Allow storing any multibyte character in a
7115 string. Convert unibyte string to multibyte if necessary.
7116
11270583
KH
7117 * xfns.c (x_encode_text): New function.
7118 (x_set_name): Use x_encode_text.
7119 (x_set_title): Likewise.
7120
7121 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7122
7123 * xterm.h (x_encode_text): Add prototype.
7124
bc75b4fd
DL
71252000-07-20 Dave Love <fx@gnu.org>
7126
7127 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7128 xfree, not free.
7129
48c14970
EZ
71302000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7131
7132 * msdos.c (help_echo_window): New variable.
7133 (syms_of_msdos): Initialize and staticpro it.
7134 (IT_note_mode_line_highlight): Set help_echo_window.
7135 (IT_note_mouse_highlight): Ditto.
7136 (dos_rawgetc): Store help_echo_window in the second event produced
7137 for HELP_EVENTs.
7138
7139 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7140 Record the object that generated the help echo and the position of
7141 that object in help_echo_object and help_echo_pos. Record that
7142 some glyphs in a row are displayed in mouse-face.
7143 (IT_update_begin): Don't clear mouse highlight unless one of the
7144 enabled glyph rows is marked as being displayed in mouse-face.
7145 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7146 and position recorded in help_echo_object and help_echo_pos to the
7147 event queue.
7148 (IT_menu_display): Accept a new argument PN: the pane number of
7149 the current menu pane. Record the pane number and the item
7150 number of the item which has associated help string.
7151 (XMenuActivate): Update the prototype for help_callback in
7152 function declaration. Call IT_menu_display with the current menu
7153 pane number as an additional argument. Call help_callback with
7154 two additional arguments: the pane number and the item number of
7155 the menu item associated with the help text.
7156 (help_echo_object, help_echo_pos): New variables.
7157 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7158
7159 * msdos.h (XMenuActivate): Update prototype.
7160
4279296d
GM
71612000-07-19 Gerd Moellmann <gerd@gnu.org>
7162
47db06aa
GM
7163 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7164 Add some more prototypes.
7165
7166 * xterm.c, xterm.h: Add some more prototypes.
7167
7168 * lisp.h (Fnext_single_char_property_change): Add prototype.
7169
7170 * dispnew.c (direct_output_for_insert): Remove confusing
7171 outer local variable mouse_face_overwritten_p.
7172 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7173
4279296d
GM
7174 * alloc.c (allocate_string_data): Don't copy old string contents.
7175
670acd62
KH
71762000-07-19 Kenichi Handa <handa@etl.go.jp>
7177
7178 * coding.c (code_convert_region): Delete text properties before
7179 shrinking the conversion region.
7180
7cea38bc
GM
71812000-07-18 Gerd Moellmann <gerd@gnu.org>
7182
dc1cac59
GM
7183 * dispnew.c (update_text_area): Write the whole row if it
7184 has mouse-face in it.
7185
85a8aca9
GM
7186 * xfaces.c (face-alternative-font-family-alist): Remove
7187 DEFVAR_LISP; staticpro instead.
7188
34a7a267 7189 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7190 new arguments.
7191
7192 * keyboard.c (show_help_echo): Add parameter WINDOW.
7193 (read_char): Call show_help_echo with window extracted from Lisp
7194 help event.
7195 (gen_help_event): Add parameter WINDOW.
7196
7197 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7198
7199 * xterm.c (help_echo_window): New variable.
52283633 7200 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7201 (XTread_socket): Pass help_echo_window to gen_help_event.
7202 (syms_of_xterm): Initialize and staticpro help_echo_window.
7203
f8276b77
DL
72042000-07-18 Dave Love <fx@gnu.org>
7205
52283633 7206 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7207
088831a6
GM
72082000-07-18 Gerd Moellmann <gerd@gnu.org>
7209
3d6cd763
GM
7210 * alloc.c (allocate_string_data): If string had already data
7211 assigned, copy old contents to new string data.
7212
7213 * coding.c (syms_of_coding): Fix typo in spelling of variable
7214 `inhibit-iso-escape-detection'.
7215
088831a6
GM
7216 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7217
7218 * Makefile.in: Add dependencies on dispextern.h.
7219 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7220 `free'; both can conflict with system header files.
7221
bc8a8d55
KH
72222000-07-18 Kenichi Handa <handa@etl.go.jp>
7223
7224 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7225 undefined.
7226
069f5950
DL
72272000-07-18 Dave Love <fx@gnu.org>
7228
7229 * window.c (Fwindow_list): Declare arg `window'.
7230
aa96c820
KH
72312000-07-18 Kenichi Handa <handa@etl.go.jp>
7232
7233 * coding.c (setup_coding_system): Don't override the explicitly
7234 specified designations.
7235
06be8d32
MB
72362000-07-15 Miles Bader <miles@gnu.org>
7237
7238 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7239 from `text_property_eq' and `text_property_stickiness', respectively.
7240 (find_field, Fconstrain_to_field, char_property_eq)
7241 (char_property_stickiness): Changed to call char-property functions
7242 instead of text-property-only ones.
7243
7244 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7245 `next_single_char_property_change'). Do more error checking, and
7246 cleanup limit behavior.
7247 (Fprevious_single_char_property_change): New function.
7248 (syms_of_textprop): Initialize new subrs.
7249
7250 * xdisp.c (display_prop_end, invisible_text_between_p):
7251 Call Fnext_single_char_property_change instead of
7252 next_single_char_property_change.
7253
3fddcdc3
JR
72542000-07-15 Jason Rumney <jasonr@gnu.org>
7255
7256 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7257 after menu is finished with.
7258 (add_menu_item): Only consider wv->title as a menu title.
7259 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7260
7261 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7262 null title.
7263 (FONT_REGEXP): Remove unused macro, and its sub-components.
7264 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7265
7266 * w32term.c (help_echo_object, help_echo_pos): New variables.
7267 (note_mode_line_highlight): Store additional information about the
7268 help-echo in help_echo_object and help_echo_pos. Check both
7269 `local-map' and `keymap' properties for changing the cursor
7270 (note_mouse_highlight): Store additional information about the
7271 help-echo in help_echo_object and help_echo_pos.
7272 (note_tool_bar_highlight): Set help_echo_object to nil and
7273 help_echo_pos to -1.
7274 (w32_read_socket): Use gen_help_event instead of filling
7275 input_events manually.
7276 (syms_of_w32term): Staticpro help_echo_object.
7277 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7278 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7279 (x_clear_mouse_face): New function.
7280 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7281 (x_update_window_begin): No need to turn off the mouse
7282 highlight here.
7283 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7284 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7285 (x_fill_stretch_glyph_string): Consume runs of stretch
7286 glyphs instead of a single one.
7287 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7288 with new argument list.
7289 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7290 (x_append_glyph, x_append_composite_glyph)
7291 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7292 changes in struct glyph starting 1999-12-27. See comments for
7293 xterm.c on 2000-07-05.
7294
178c5d9c
SS
72952000-07-14 Sam Steingold <sds@gnu.org>
7296
7297 * xfaces.c (realize_x_face): Fix the last patch:
7298 check `default_face' before dereferencing.
7299
6fe533f6
DL
73002000-07-14 Dave Love <fx@gnu.org>
7301
069f5950 7302 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7303
dd7b81cf
KH
73042000-07-14 Kenichi Handa <handa@etl.go.jp>
7305
0693904a 7306 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7307 default_face's fontset, not using the default fontset.
0693904a 7308
dd7b81cf
KH
7309 * coding.c (inhibit_iso_escape_detection): New variable.
7310 (syms_of_coding): Make it a Lisp variable.
7311 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7312 nonzero, ignore ISO2022's escape sequence.
7313
d5aa31d8
GM
73142000-07-14 Gerd Moellmann <gerd@gnu.org>
7315
e5acf0ca
GM
7316 * alloca.c (malloc) [emacs]: Define as xmalloc.
7317
bd23a692
GM
7318 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7319 use that instead of the mouse position. Add parameters DX and DY.
7320
7321 * dispextern.h (Fx_show_tip): Adjust number of parameters
7322 in prototype.
7323
9662da0b
GM
7324 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7325 if HELP is a function, call it with OBJECT and POS as parameters
7326 to get the help to display.
7327 (gen_help_event, kbd_buffer_store_help_event): New functions.
7328 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7329 (read_char): Call show_help_echo with new parameters.
7330
178c5d9c 7331 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7332 Add prototypes.
7333
7334 * xterm.c (help_echo_object, help_echo_pos): New variables.
7335 (note_mode_line_highlight): Store additional information about the
7336 help-echo in help_echo_object and help_echo_pos. Check both
7337 `local-map' and `keymap' properties for changing the cursor
7338 (note_mouse_highlight): Store additional information about the
7339 help-echo in help_echo_object and help_echo_pos.
7340 (note_tool_bar_highlight): Set help_echo_object to nil and
7341 help_echo_pos to -1.
7342 (XTread_socket): Use gen_help_event instead of filling
7343 input_events manually.
7344 (syms_of_xterm): Staticpro help_echo_object.
7345
7346 * xmenu.c (menu_highlight_callback): Use
7347 kbd_buffer_store_help_event instead of setting up and input_event
7348 structure manually.
7349
7350 * xdisp.c (eval_form): GCPRO argument sexpr.
7351 (call_function): New function.
7352 (handle_single_display_prop): Use call_function and FUNCTIONP
7353 instead of checking whether if font_height is a symbol and
7354 using eval_form.
7355
7356 * eval.c (internal_condition_case_2): New function.
7357
7358 * lisp.h (FUNCTIONP): New macro.
7359 (internal_condition_case_2, call_function): Add prototypes.
7360
d5aa31d8
GM
7361 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7362 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7363 Always set `arg' member of input_events.
7364 (construct_menu_click): Unused function removed.
7365
7366 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7367
7368 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7369 (construct_drag_n_drop, x_scroll_bar_handle_click)
7370 (w32_read_socket): Always set `arg' member of input_events.
7371
7372 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7373
7374 * lisp.h (eval_form): Add prototype.
7375
7376 * xdisp.c (eval_form): Make it externally visible.
7377
0f1a9b23
GM
73782000-07-13 Gerd Moellmann <gerd@gnu.org>
7379
7380 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7381 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7382 consing. For prefix events, store the frame in the `arg' slot of
7383 the event, otherwise store the key there.
7384 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7385 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7386
7387 * xmenu.c (menu_highlight_callback): Store help string in the
7388 `arg' member of the input event; don't cons.
7389 (menubar_selection_callback): Use the `arg' slot of input events
7390 to queue additional information, instead of consing.
7391
7392 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7393
7394 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7395 TOOL_BAR_EVENTs.
7396 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7397
7398 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7399 input events to queue additional information, instead of consing.
7400
7401 * keyboard.c (kbd_buffer_gcpro): Renamed from
7402 kbd_buffer_frame_or_window. Now used for all Lisp objects
7403 referenced from the input queue.
7404 (kbd_buffer_store_event): Always use structure assignment for
7405 copying input events. Record all Lisp objects referenced from
7406 events in kbd_buffer_gcpro.
7407 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7408 differently from input events. Test for prefix menu_bar_events
7409 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7410 event in kbd_buffer_gcpro to nil.
7411 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7412 frame_or_window is equal to its arg member as prefix events.
7413 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7414 used by an input event to nil.
7415 (init_keyboard): Use two times the size of the input queue
7416 for kbd_buffer_gcpro.
7417 (syms_of_keyboard): Likewise.
7418
52283633
SM
7419 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7420 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7421
7422 * termhooks.h (struct input_event): Add member `arg'.
7423 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7424 (USER_SIGNAL_EVENT): Renamed from user_signal.
7425
7426 * xfaces.c (ASET): Remove definition.
7427
7428 * lisp.h (AREF, ASET, ASIZE): New macros.
7429
7430 * fontset.c (AREF, ASIZE): Remove definitions.
7431
7432 * fns.c (AREF): Remove definition.
178c5d9c 7433
0f1a9b23
GM
7434 * composite.c (AREF): Remove definition.
7435
712eaef2
GM
74362000-07-12 Gerd Moellmann <gerd@gnu.org>
7437
d8ee7803
GM
7438 * dispnew.c (redraw_overlapped_rows): Add missing local.
7439 (scrolling_window): Remove debug code.
7440
712eaef2
GM
7441 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7442 Before scrolling, turn off a mouse-highlight in the window
7443 being scrolled.
7444
7445 * xterm.c (x_update_window_end): Add parameter
7446 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7447 redisplay in XTframe_up_to_date.
7448 (x_clear_mouse_face): New function.
7449 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7450
7451 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7452 current glyph row.
7453 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7454 it when any row is written to that contains glyphs highlighted in
7455 mouse-face.
7456 (update_window): Call the window update end hook with new
7457 parameter MOUSE_FACE_OVERWRITTEN_P.
7458 (direct_output_for_insert): Give up if row contains mouse-face.
7459
7460 * dispextern.h (struct redisplay_interface): Add parameter
7461 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7462 (clear_mouse_face): New function pointer member.
7463
02010917
SM
74642000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7465
7466 * syntax.c (back_comment): Use one switch rather than a few `if's.
7467 Obey open_paren_in_column_0_is_defun_start.
7468 When reverting to the `slow' method, try to nicely handle the case
7469 of nested comments by checking that the comment-starter we found
7470 does indeed match the comment-ender.
7471 (scan_sexps_forward, scan_sexps_forward):
7472 Ignore excessive opening parenthesis rather than throwing an error.
7473
d76c03ea
GM
74742000-07-11 Gerd Moellmann <gerd@gnu.org>
7475
7476 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7477 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7478
7479 * dispnew.c (direct_output_forward_char): Give up if currently
7480 displaying a message instead of the minibuffer contents.
7481
7482 * xterm.c (x_update_window_begin): No need to turn off the mouse
7483 highlight here.
7484 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7485 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7486
7487 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7488 compare the mouse_face_p flags of both rows.
7489
7490 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7491
d55ead18
EZ
74922000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7493
7494 * keyboard.c (show_help_echo): Accept additional parameter
7495 ok_to_overwrite_keystroke_echo.
7496 (read_char): Call show_help_echo with a zero
7497 ok_to_overwrite_keystroke_echo argument.
52283633 7498 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7499 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7500 ok_to_overwrite_keystroke_echo argument.
7501 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7502 non-zero ok_to_overwrite_keystroke_echo argument.
7503
df75b1a3
GM
75042000-07-10 Gerd Moellmann <gerd@gnu.org>
7505
4b92c49a
GM
7506 * xdisp.c (try_window_id): If changes are all below what is
7507 displayed in the window, and point is in the window, we still
7508 might have to find point on the display.
7509
7510 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7511 glyphs instead of a single one.
7512 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7513 with new argument list.
7514 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7515
df75b1a3
GM
7516 * keymap.c (get_keymap_1): Add comment that this function can GC.
7517 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7518 comment that functions can GC.
7519 (Fset_keymap_parent): GCPRO arg KEYMAP.
7520
4314cf3e
EZ
75212000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7522
7523 * msdos.c (XMenuActivate): After exiting the menu, restore the
7524 echo area message and erase it.
7525
ab49ce15
KH
75262000-07-10 Kenichi Handa <handa@etl.go.jp>
7527
7528 * fontset.c (Ffontset_info): Make the return value more compatible
7529 with that of Emacs 20.
7530
090a072f
GM
75312000-07-07 Gerd Moellmann <gerd@gnu.org>
7532
7533 * eval.c (Fsignal): Handle case that backtrace_list is null.
7534
f92de4a6
KH
75352000-07-07 Kenichi Handa <handa@etl.go.jp>
7536
7537 * ccl.c (Fccl_execute): Typo fixed.
7538
dd8888a1
GM
75392000-07-06 Gerd Moellmann <gerd@gnu.org>
7540
e5c81191 7541 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7542
dd8888a1
GM
7543 * window.c (Fwindow_list): Reverse list at the end.
7544 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7545 means allow windows on OWINDOW's frame, only.
7546 (window_loop): Simplified; use Fwindow_list.
7547
7548 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7549
485266d0
GM
75502000-07-05 Gerd Moellmann <gerd@gnu.org>
7551
7552 * xterm.c (XTread_socket): Increment handling_signal at the start,
7553 decrement it at the end.
7554
7555 * eval.c (handling_signal): New variable.
7556 (Fsignal): Abort if handling_signal is non-zero.
7557
7558 * lisp.h (handling_signal): External declaration.
178c5d9c 7559
485266d0
GM
7560 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7561
80fcd514
KR
75622000-07-05 Ken Raeburn <raeburn@gnu.org>
7563
7564 Sound support for NetBSD through "Linux emulation" support:
7565 * config.in (HAVE_SOUNDCARD_H): Undef.
7566 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7567 * Makefile.in (LIBSOUND): New variable.
7568 (LIBES): Include it.
52283633
SM
7569 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7570 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7571 (vox_open): Use DEFAULT_SOUND_DEVICE.
7572 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7573
d5c5cddd
GM
75742000-07-05 Gerd Moellmann <gerd@gnu.org>
7575
7576 * print.c (print_error_message): If Vsignaling_function is set,
7577 show it in *Messages*.
7578
7579 * lisp.h (Vsignaling_function): External declaration.
7580
7581 * eval.c (Vsignaling_function): New variable.
7582 (Fsignal): Compute it.
7583 (syms_of_eval): Staticpro it.
7584
65171e3a
DL
75852000-07-05 Dave Love <fx@gnu.org>
7586
7587 * syswait.h: Use the autoconf recommended approach. Old code
7588 #if'd out in case we need to revert.
7589
178c5d9c 7590 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7591
e2c46326
AI
75922000-07-05 Andrew Innes <andrewi@gnu.org>
7593
7594 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7595 when non-NULL instead of __morecore, to take account of buffer
7596 memory. This also solves a problem with spurious memory warnings
7597 on Windows.
7598
7599 * ralloc.c: Make real_morecore non-static.
7600
7601 * eval.c (internal_condition_case): Comment out abort if
7602 interrupt_input_blocked is not zero.
7603
7604 * makefile.nt: Add support for `bootstrap' and related targets.
7605 Include minimal debug info in emacs.exe in release build.
7606 Remove all dependencies on lisp.h, and fixup some others.
7607
7608 * w32.c (init_environment): Install code from 20.7 for providing
7609 default values for environment variables, based on the
7610 executable's own location.
52283633 7611 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7612 (sys_socket): Install socket inheritance bug fix from 20.7.
7613
7614 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7615 here via blockinput.h).
7616
a027a91b
SM
76172000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7618
e4b31601
SM
7619 * w32menu.c (w32_menu_display_help):
7620 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7621
7622 * keyboard.h (show_help_echo): Declare.
7623
7624 * keyboard.c (show_help_echo): New function, extracted from read_char.
7625 Feval its `msg' argument if it's a cons cell.
7626 (read_char): Use it.
4cf8d9d5 7627 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7628
178c5d9c 7629 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7630 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7631 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7632 (dos_rawgetc):
7633 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7634 (note_tool_bar_highlight, w32_read_socket):
7635 Do not gratuitously ignore non-string `help-echo' properties.
7636
88d75730
GM
76372000-07-05 Gerd Moellmann <gerd@gnu.org>
7638
969f7e79
GM
7639 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7640
71201b00
GM
7641 * window.c (delete_all_subwindows): Reset Vwindow_list.
7642
88d75730
GM
7643 * xterm.c (x_append_glyph, x_append_composite_glyph)
7644 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7645 changes in struct glyph starting 1999-12-27. Some bit-fields of
7646 struct glyph were not set, which made glyphs unequal when compared
7647 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7648 effects were the result. This also depended on the contents of
7649 memory returned by xmalloc. If flickering happens again, activate
7650 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7651 gone with that, chances are that it is caused by something similar.
88d75730
GM
7652
7653 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7654
88d75730
GM
7655 * dispextern.h: Add some comments.
7656
7657 * window.c (add_window_to_list): Add parameter LIST.
7658 (window_list): Order list so that, for each frame, windows are
7659 in canonical order, and so that frames appear in the list in
7660 the order given by Vframe_list.
7661 (next_window): Reverse the handling of NEXT_P.
7662
53654733
GM
76632000-07-04 Gerd Moellmann <gerd@gnu.org>
7664
87efd256
GM
7665 * window.c (Vwindow_list): New variable.
7666 (make_window, delete_window): Set Vwindow_list to nil.
7667 (check_window_containing): New function.
7668 (window_from_coordinates): Rewritten.
7669 (add_window_to_list, window_list, candidate_window_p)
7670 (decode_next_window_args, next_window): New functions.
52283633 7671 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7672 (Fwindow_list): New function.
7673 (Fother_window): Cleaned up.
7674 (foreach_window): Add a longer "variable argument list". Let
7675 callback function return 0 to indicate that cycling over windows
7676 should stop.
7677 (foreach_window_1): Likewise.
7678 (freeze_window_start): Return int.
7679 (init_window): New function.
7680 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7681
7682 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7683 input_event with bzero.
7684 (main): Call init_window.
7685
53654733
GM
7686 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7687 a menu filter.
7688
4a8c194f
KH
76892000-07-04 Kenichi Handa <handa@etl.go.jp>
7690
7691 * composite.h (make_composition_value_copy): Extern it.
7692
7693 * composite.c (make_composition_value_copy): New function.
7694
7695 * editfns.c (Fformat): While copying text properties, make each
7696 composition property value a copy.
7697
7698 * fns.c (concat): While copying text properties, make each
7699 composition property value a copy.
7700
831a6cb0
GM
77012000-07-03 Gerd Moellmann <gerd@gnu.org>
7702
2f516940
GM
7703 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7704
178c5d9c 7705 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7706 marked already.
7707
831a6cb0
GM
7708 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7709 include those frames as candidates which have their focus
7710 redirected to the minibuffer frame.
7711
d9c4f922
SM
77122000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7713
7714 * fns.c (Fputhash): Return `value' rather than nil.
7715
3780bc22
GM
77162000-06-30 Gerd Moellmann <gerd@gnu.org>
7717
97d176db
GM
7718 * frame.c (next_frame): Don't check focus redirection in case
7719 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7720 unless their focus is redirected, which contradicts the
7721 specification of next-frame, and leads to infinite loops in
7722 certain situations when cycling through windows with next-window.
7723
dca9961d
KH
77242000-06-30 Kenichi Handa <handa@etl.go.jp>
7725
7726 * coding.c (code_convert_region): Even if the length of text is
7727 zero, try to convert it if coding->type is coding_type_ccl.
7728 (decode_coding_string, encode_coding_string): Likewise.
7729
d5483ab1
GM
77302000-06-28 Gerd Moellmann <gerd@gnu.org>
7731
af5c25e1 7732 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7733 the display if windows_or_buffers_changed.
af5c25e1
GM
7734
7735 * dispnew.c (struct row_entry): New structure.
7736 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7737 (row_table_size, old_lines, new_lines, old_lines_size)
7738 (new_lines_size, run_pool, runs_size, runs): New variables.
7739 (add_row_entry): New function.
7740 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7741 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7742 holding them in local variables. Use a larger hash table whose
7743 size depends on glyph matrix sizes. Don't use bzero to clear the
7744 hash table; instead, clear used slots only.
7745
7746 * fns.c (next_almost_prime): Make it externally visible.
7747
7748 * lisp.h (next_almost_prime): Add prototype.
7749
d5483ab1
GM
7750 * s/isc4-0.h (sigunblock): Define.
7751
7752 * s/sco5.h (sigunblock): Define.
7753
93e40f40
DL
77542000-06-27 Dave Love <fx@gnu.org>
7755
7756 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7757 (moved to osf5-0.h).
7758 [!NOT_C_CODE]: Protect string.h stuff.
7759
7760 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7761 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7762
3c4b7685
GM
77632000-06-27 Gerd Moellmann <gerd@gnu.org>
7764
97d176db 7765 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7766 below the last line from the needed window height.
7767
32cad0aa
SM
77682000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7769
7770 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7771 (Fwidget_get): Use it.
7772 (syms_of_fns): Defsubr it.
7773
2c69ced2
GM
77742000-06-26 Gerd Moellmann <gerd@gnu.org>
7775
178c5d9c 7776 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7777 display info for XIM.
7778 (xim_open_dpy): Likewise.
7779 (xim_close_dpy): Don't free the display info's XIM.
7780
7781 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7782
7783 * config.in (USE_XIM): New define.
7784
3fc720e4
GM
7785 * keymap.c (get_keyelt): For menu-items containing a `:filter
7786 FILTER', apply FILTER to the menu-item's definition to get the
7787 real definition to use.
7788
7789 * lisp.h (QCfilter): External declaration.
7790
2c69ced2
GM
7791 * xfns.c (Fimage_size): New function.
7792 (syms_of_xfns): Defsubr it.
7793
f978b2a2
AS
77942000-06-26 Andreas Schwab <schwab@suse.de>
7795
7796 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7797 Fstring_as_unibyte.
7798
94cc7892
DL
77992000-06-25 Dave Love <fx@gnu.org>
7800
52283633 7801 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7802
7803 * Makefile.in (blockinput.h): Depend on atimer.h.
7804 (atimer.h): Depend on systime.h.
7805
52283633 7806 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7807
52283633 7808 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7809
7810 * lisp.h (swap_in_global_binding): Declare.
7811
b8c24556
KR
78122000-06-24 Ken Raeburn <raeburn@gnu.org>
7813
7814 * process.c (Fopen_network_stream): Turn off atimers for duration
7815 of call to connect. (Patch from Gerd.)
7816
8cf8560b
DL
78172000-06-23 Dave Love <fx@gnu.org>
7818
511c7541
DL
7819 * ralloc.c: Maybe include unistd.h
7820
8cf8560b
DL
7821 * emacs.c (setgrp): Undefine before defining.
7822 (malloc_warning, set_time_zone_rule, index): Prototype.
7823
7824 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7825 HAVE_STRUCT_TIMEZONE.
7826
7827 * s/osf1.h: Move string.h hack here from alpha.h and make it
7828 conditional.
7829 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7830 _XOPEN_SOURCE.
7831 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7832 (SOCKLEN_TYPE): Don't define.
7833
7834 * m/alpha.h: Remove string.h hack.
7835
7836 * s/osf5-0.h: New file.
7837
7838 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7839 include time.h, done by systime.h.
7840 [__FreeBSD__]: Remove redundant includes.
7841
3fc720e4 7842 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7843 (delete_temp_file): Return Qnil to avoid warning.
7844
7845 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7846
7847 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7848 HAVE_X_WINDOWS.
7849
7850 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7851
7852 * composite.h (compose_text): Declare.
7853
7854 * xterm.c: Don't include sys/types.h unconditionally. Don't
7855 protect its inclusion with !USG (following xmenu.c).
7856
ea055732
GM
78572000-06-23 Gerd Moellmann <gerd@gnu.org>
7858
7859 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7860 in x_create_frame.
7861
74b01b80
EZ
78622000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7863
7864 * coding.c (decode_eol_post_ccl): Special handling for undecided
7865 and inconsistent EOL types.
7866
64f3a166
GM
78672000-06-22 Gerd Moellmann <gerd@gnu.org>
7868
16cf31f7
GM
7869 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7870 trough color and main window's background color.
7871
52283633 7872 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7873
7874 * xterm.h (Xt_app_con): External declaration.
7875
7876 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7877
486a103d
GM
7878 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7879
64f3a166
GM
7880 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7881 (handle_invisible_prop): Record the start of invisible text in
7882 it->add_overlay_start.
7883 (struct overlay_entry): Add member `overlay'.
7884 (handle_overlay_change): Simplify.
7885 (next_overlay_string): After having processed overlay strings at the
7886 end of the buffer, record that fact in
7887 it->overlay_strings_at_end_processed_p.
7888 (compare_overlay_entries): If before- and after-strings come
7889 from the same overlay, let before-strings come first.
7890 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7891 (load_overlay_strings): Take it->add_overlay_start into account
7892 when adding overlay strings.
7893
7894 * dispextern.h (struct it): Add member add_overlay_start.
7895
bb746ea6
DL
78962000-06-22 Dave Love <fx@gnu.org>
7897
7898 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7899
7900 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7901
a8f573f3
KH
79022000-06-22 Kenichi Handa <handa@etl.go.jp>
7903
7904 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7905 is greater than 0.
7906
9f2bbc92
DL
79072000-06-21 Dave Love <fx@gnu.org>
7908
178c5d9c 7909 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7910
3ee5041c
SM
79112000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7912
7913 * syntax.c (back_comment): Simplify string-parity counting (with
7914 the added benefit of handling multiple string-styles as long as
7915 they are not intertwined).
7916 Jump to the slow code as soon as a comment starter is found in
7917 a "string_lossage" position. Fixes the case: " /* " /* " */.
7918
4c343001
DL
79192000-06-21 Dave Love <fx@gnu.org>
7920
7921 * Makefile.in: Use GETLOADAVG_LIBS.
7922
7923 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7924 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7925
e6365855
SM
79262000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7927
7928 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7929 (Fforward_comment, scan_lists):
7930 Check the comstyle of single-char comment-starters.
7931 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7932 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7933 Check the comstyle of single-char comment-starters.
7934 Clarify control-flow around the Scomment case.
e6365855 7935
5700d2cc
DL
79362000-06-20 Dave Love <fx@gnu.org>
7937
d355bd8a
SM
7938 * fns.c (make_hash_table, maybe_resize_hash_table):
7939 Cast arg of next_almost_prime.
5700d2cc 7940
178c5d9c 7941 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7942
7943 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7944 and unistd.h.
7945
4a27bdfb
GM
79462000-06-20 Gerd Moellmann <gerd@gnu.org>
7947
a61d762c 7948 * keyboard.c (adjust_point_for_property): Check if display
52283633 7949 property should be treated as intangible by looking at its value.
a61d762c 7950
178c5d9c 7951 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7952 (display_prop_intangible_p): New functions.
7953
7954 * dispextern.h (display_prop_intangible_p): Add prototype.
7955
7956 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7957
4a27bdfb
GM
7958 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7959 argument to sigprocmask.
7960
7961 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7962 argument to sigprocmask.
7963
7964 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7965 sigprocmask_set, and pass a pointer to it to sigprocmask.
7966
7967 * sysdep.c (sigprocmask_set): New variable.
7968
7969 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7970 report_file_error.
7971
427ec082
SS
79722000-06-20 Sam Steingold <sds@gnu.org>
7973
7974 * xrdb.c: Don't declare xmalloc, xrealloc.
7975
8972fe79 79762000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7977
7978 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7979 (re_comp): Cast gettext return value to avoid complaints when
7980 !HAVE_LIBINTL.
7981
074b6efe
DL
79822000-06-20 Dave Love <fx@gnu.org>
7983
52283633 7984 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7985
5700d2cc 7986 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7987
d355bd8a 7988 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7989
7990 * m/alpha.h: Don't declare xmalloc, xrealloc.
7991
0af4f205
DL
7992 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7993
7994 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7995
7996 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7997
7998 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7999 HAVE_GETWD.
8000
074b6efe
DL
8001 * keyboard.h (poll_for_input_1): Declare.
8002
8003 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8004
8005 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8006
8007 * doprnt.c: Don't declare xmalloc, xrealloc.
8008
8009 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8010 (getenv, ctime, getwd): Removed.
8011 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8012
8013 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8014 x_set_tool_bar_lines.
8015
8016 * config.in: Add HAVE_GETWD. Move some definitions above
8017 machine/system includes.
8018
68a5e97b
KH
80192000-06-20 Kenichi Handa <handa@etl.go.jp>
8020
95417e1e
KH
8021 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8022
68a5e97b
KH
8023 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8024 contain information about ENCODING.
8025
8026 * fontset.c (FONTSET_ASCII): Use the first element of char table
8027 for an ASCII font, not defalt slot.
8028 (fontset_ref_via_base): If FONTSET doesn't contain information for
8029 C, try the default fontset.
8030 (make_fontset): Don't copy the default fontset.
8031 (fontset_font_pattern): Likewise.
8032 (accumulate_font_info): If ELT is nil, use the corresponding
8033 element in the default fontset.
8034
3b4fa1b2
DL
80352000-06-19 Dave Love <fx@gnu.org>
8036
943e731c
DL
8037 * syntax.c (Fparse_partial_sexp): Doc fix.
8038
8039 * regex.h: Test PROTOTYPES as well as __STDC__.
8040
3b4fa1b2
DL
8041 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8042 errno, strerror. Put text after #endif in comment.
8043
52283633 8044 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8045
8046 * xterm.c (x_frame_of_widget): Likewise.
8047
cdf0357b
GM
80482000-06-19 Gerd Moellmann <gerd@gnu.org>
8049
8050 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8051 to Vfundamental_mode_abbrev_table.
8052
8053 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8054 bogus objects are marked. This slows down GC by ~80 percent, but
8055 it might be worth trying when debugging GC-related problems.
8056 This feature requires conservative stack marking to be enabled.
8057
8058 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8059 returns XLookupChars, reset `modifiers' to zero.
8060
998e9f8c
DL
80612000-06-19 Dave Love <fx@gnu.org>
8062
8063 * mktime.c: Unprotoized.
8064
18e21ce8 80652000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8066
8067 * data.c (set_internal): If variable is frame-local,
8068 store the new value immediately into the frame parameter alist.
8069
140c4ac6
KR
80702000-06-19 Ken Raeburn <raeburn@gnu.org>
8071
14358466
KR
8072 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8073 in the custom handler pointer.
8074
140c4ac6
KR
8075 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8076 value, or checks for CHAR_META can fail when Lisp_Object is a
8077 union type.
8078 * keymap.c (get_keyelt): Likewise.
8079
10d7bf84
KH
80802000-06-19 Kenichi Handa <handa@etl.go.jp>
8081
8082 * ccl.h (struct ccl_program): New member eol_type.
8083 (struct ccl_spec): New member cr_carryover.
8084
8085 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8086 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8087
8088 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8089 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8090 (decode_eol_post_ccl): New function.
8091 (decode_coding): Don't detect EOL format here for CCL based coding
8092 systems.
8093 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8094 decode_eol_post_ccl after running the CCL program.
8095 (code_convert_region): Don't detect EOL format here for CCL based
8096 coding systems.
8097 (decode_coding_string): Likewise.
8098
52e386c2
KR
80992000-06-18 Ken Raeburn <raeburn@gnu.org>
8100
8101 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8102 when treating it as an integer.
8103
8104 * coding.h (encode_coding_string): Declare.
8105
8106 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8107 it as an integer.
8108
8109 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8110 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8111 to be passed to get_local_map.
8112
8113 * sound.c (Fplay_sound): Don't call make_number on
8114 Frun_hook_with_args count argument.
8115
8116 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8117 for lisp objects in X event structure data field, when lisp
8118 objects are represented with unions.
8119 (x_scroll_bar_to_input_event): Ditto.
8120
b357b9d4
KR
81212000-06-16 Ken Raeburn <raeburn@gnu.org>
8122
8123 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8124 termination of string. Fix sense of test whether
8125 Vline_number_display_limit is an integer.
b357b9d4 8126
a871441d
GM
81272000-06-16 Gerd Moellmann <gerd@gnu.org>
8128
a9021acd
GM
8129 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8130 only if HAVE_X_WINDOWS.
8131
6344985d
GM
8132 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8133 of titles.
8134
427ec082 8135 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8136 out of bounds.
8137
228b083e
EZ
81382000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8139
8140 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8141 of its headers.
8142
c25b53a2
KH
81432000-06-15 Kenichi Handa <handa@etl.go.jp>
8144
8145 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8146 start of the while loop.
8147
a6981b11
GM
81482000-06-15 Gerd Moellmann <gerd@gnu.org>
8149
e9924e52
GM
8150 * atimer.c (alarm_signal_handler): Add forward declaration.
8151
a6981b11
GM
8152 * data.c (set_internal): Remove debug code.
8153
25fa6deb
GM
81542000-06-14 Gerd Moellmann <gerd@gnu.org>
8155
dce6b995
GM
8156 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8157
9f817ea4
GM
8158 * unexec.c (toplevel) [COFF]: Include coff.h.
8159
8160 * s/lynxos.h: New file.
8161
8162 * keymap.c (Fsingle_key_description): Enclose function key and
8163 event symbol names in angle brackets.
8164
8a4e3c0c
GM
8165 * xdisp.c (setup_echo_area_for_printing): Call
8166 message_log_maybe_newline if message_buf_print is not set.
8167
8168 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8169 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8170 function does something useful even when message_buf_print is
8171 already set.
8172
52283633
SM
8173 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8174 New variables.
25fa6deb
GM
8175 (ensure_echo_area_buffers): Initialize echo buffer's
8176 truncate lines setting to nil.
8177 (with_echo_area_buffer): Don't set the echo buffer's truncate
8178 lines setting here.
8a4e3c0c 8179 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8180 of message_truncate_lines.
8181 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8182 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8183 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8184
8185 * keyboard.c (read_char): Bind message-truncate-lines to t
8186 while displaying a help-echo.
8187
8188 * lisp.h (Qmessage_truncate_lines): External declaration.
8189
163dcff3
GM
81902000-06-13 Gerd Moellmann <gerd@gnu.org>
8191
1681ead6
GM
8192 * xdisp.c (Vline_number_display_limit): Renamed from
8193 line_number_display_limit.
8194 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8195 Extend documentation string. Initialize
8196 Vline_number_display_limit to nil meaning no limit.
8197 (decode_mode_spec): Use Vline_number_display_limit with its new
8198 meaning.
8199
163dcff3
GM
8200 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8201
18e21ce8 82022000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8203
8204 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8205
163dcff3
GM
8206 * xfns.c (x_set_frame_parameters): Comment fix.
8207
8208 * frame.c (store_frame_param): Call swap_in_global_binding if the
8209 variable's current binding was chosen based on this frame.
8210
8211 * data.c (swap_in_global_binding): New function.
8212
a704139d
EZ
82132000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8214
8215 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8216 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8217
9b6610db
EZ
82182000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8219
8220 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8221
c68833d2
JR
82222000-06-12 Jason Rumney <jasonr@gnu.org>
8223
8224 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8225
8226 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8227
8228 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8229
8230 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8231
ed1056b3
GM
82322000-06-12 Gerd Moellmann <gerd@gnu.org>
8233
8234 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8235 (syms_of_xfaces): Defsubr Sdump_colors.
8236 (x_free_colors): Don't treat b&w specially on default visual.
8237 (x_free_dpy_colors): New function.
8238 (free_face_colors): Don't check visual class; it's done
8239 in x_free_colors.
8240
8241 * xterm.c (x_frame_of_widget): New function.
8242 (x_alloc_nearest_color_for_widget): Use it.
8243 (x_copy_dpy_color): New function.
8244 (x_destroy_window): Free various colors.
8245
5050a2ef
KH
82462000-06-12 Kenichi Handa <handa@etl.go.jp>
8247
8248 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8249
8250 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8251
8252 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8253
8254 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8255
8256 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8257
fb1b041d
DL
82582000-06-11 Dave Love <fx@gnu.org>
8259
8260 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8261
ff96b5f4
EZ
82622000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8263
8264 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8265
db8eeecd
GM
82662000-06-11 Gerd Moellmann <gerd@gnu.org>
8267
ed1056b3 8268 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8269 to `XEvent *'.
8270
49b71c5f
KH
82712000-06-10 Kenichi Handa <handa@etl.go.jp>
8272
c479bd55
KH
8273 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8274 (regex_compile): Fix the code for handling the case of single byte
8275 char and multibyte char being mixed in a range within [...].
8276
ff6a65c2
KH
8277 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8278 and dst_multibyte members of coding.
8279
49b71c5f
KH
8280 * charset.c (update_charset_table): Update the table
8281 bytes_by_char_head.
8282 (init_charset_once): Initialize elements of bytes_by_char_head to
8283 1 except for leading codes for private charases.
8284
8285 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8286 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8287
9e80b57d
KR
82882000-06-09 Ken Raeburn <raeburn@gnu.org>
8289
8290 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8291 access the data it doesn't point to.
8292
f83fe4b4
GM
82932000-06-08 Gerd Moellmann <gerd@gnu.org>
8294
8295 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8296 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8297 event queue. This is necessary because Emacs otherwise won't
8298 perform a switch-frame to a new frame until some other event, for
8299 example a keystroke event, forces it to do so. This has various
8300 effects, one visible being that the cursor of a frame created with
8301 C-x 5 2 or switched to with a window manager key binding like
8302 A-TAB stays hollow because selected_window isn't on the newly
8303 focused frame until the switch-frame is performed.
8304
8305 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8306 generating a switch-frame event if necessary.
8307
8308 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8309
8310 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8311 it's an integer.
8312
0890801b
KH
83132000-06-08 Kenichi Handa <handa@etl.go.jp>
8314
52283633 8315 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8316
173cbca8
GM
83172000-06-07 Gerd Moellmann <gerd@gnu.org>
8318
3091c2a6
GM
8319 * window.c (displayed_window_lines): Take empty lines at
8320 the bottom of a window into account.
427ec082 8321
f38952fe
GM
8322 * window.c (displayed_window_lines): New function.
8323 (Fmove_to_window_line): Use displayed_window_lines to determine
8324 the number of lines to move, instead of using the window's height.
8325
8326 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8327 to stop reading, even if the form read sets point to a different
8328 value when evaluated.
8329
427ec082 8330 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8331 put the cursor.
8332
6ba6c818
KH
83332000-06-07 Kenichi Handa <handa@etl.go.jp>
8334
8335 * fileio.c (e_write): Free composition data if stored in
8336 coding->cmp_data.
8337
5f1aea9a
GM
83382000-06-06 Gerd Moellmann <gerd@gnu.org>
8339
666852af
GM
8340 * xdisp.c (display_line): Set row's and iterator's
8341 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8342 Set cursor even if row ends in the middle of a character.
8343 (dump_glyph_row): Print values of new flags.
8344 (redisplay_window) <cursor movement in unchanged window>: When
8345 point has been moved forward, and PT is at the end of the cursor
8346 row, don't place the cursor in the next row if the cursor row ends
8347 in the middle of a character or at ZV.
8348
8349 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8350 (struct glyph_row): Add starts_in_middle_of_char_p and
8351 ends_in_middle_of_char_p.
8352 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8353 ends_in_middle_of_char_p flag.
8354 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8355
d13f3e2e
GM
8356 * term.c (append_glyph): Revert change of 2000-06-06.
8357
8358 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8359 padding glyph not fitting on line as whole character not
8360 fitting on line.
8361
5f1aea9a
GM
8362 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8363 this isn't true for images with `:ascent 100'.
8364
10cda9b0
KH
83652000-06-06 Kenichi Handa <handa@etl.go.jp>
8366
ed00559d
KH
8367 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8368 as modified if it is originally unmodified.
8369
10cda9b0
KH
8370 * term.c (encode_terminal_code): Change the way to check if
8371 terminal coding does any conversion.
8372 (append_glyph): Set glyph->pixel_width correctly.
8373
8374 * xdisp.c (display_line): While checking line continuation, pay
8375 attention to a padding glyph.
8376
1969fae2
GM
83772000-06-05 Gerd Moellmann <gerd@gnu.org>
8378
8379 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8380
162ccef4
DL
83812000-06-05 Dave Love <fx@gnu.org>
8382
f19f32dd
DL
8383 * xdisp.c: Include fontset.h.
8384
8385 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8386
8387 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8388
8389 * dispnew.c: Conditionally include term.h.
8390
8391 * coding.h: Declare code_convert_string_norecord.
8392
8393 * frame.h (struct frame): Use volatile unconditionally.
8394
8395 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8396
8397 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8398
8399 * systime.h: Protect against multiple inclusion.
8400 (timezone) [USG5_4]: Define as time_t.
8401
8402 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8403 (Foptimize_char_table, make_temp_name): Declare.
8404
8405 * Makefile.in (xdisp.o): Depend on fontset.h.
8406
8407 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8408
8409 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8410 (Foptimize_char_table, make_temp_name): Declare.
8411
427ec082 8412 * s/irix4-0.h:
162ccef4
DL
8413 * s/irix5-0.h:
8414 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8415
2082fe81
DL
84162000-06-02 Dave Love <fx@gnu.org>
8417
8418 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8419
dcf671d2
GM
84202000-06-02 Gerd Moellmann <gerd@gnu.org>
8421
8422 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8423 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8424 be freed.
8425
8426 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8427 glyph, use the ASCII NUL character to determine the face.
8428
d42122a3
DL
84292000-06-02 Dave Love <fx@gnu.org>
8430
8431 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8432 (VFORK_RETURN_TYPE): Remove.
427ec082 8433
d42122a3
DL
8434 * config.in: Add NO_MATHERR.
8435
dd432f16
DL
84362000-06-01 Dave Love <fx@gnu.org>
8437
90aa4ea8
DL
8438 * cmds.c (internal_self_insert): Don't check
8439 Vbefore_change_function, Vafter_change_function.
8440
8441 * insdel.c (signal_before_change, signal_after_change): Likewise.
8442
8443 * buffer.c (Vbefore_change_function, Vafter_change_function):
8444 Variables and their initializations deleted.
8445
2330c9d4
DL
8446 * callint.c (Fcall_interactively): Doc fix.
8447
dd432f16
DL
8448 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8449
bf9e8804
DL
84502000-05-31 Dave Love <fx@gnu.org>
8451
8452 * textprop.c: Revert last change -- duplicated.
8453
3694b4ab
GM
84542000-05-31 Gerd Moellmann <gerd@gnu.org>
8455
8456 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8457 in #if 0.
8458
8459 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8460
f14156cd
JR
84612000-05-31 Jason Rumney <jasonr@gnu.org>
8462
8119aab8
JR
8463 * search.c (Fre_search_forward, Fre_search_backward)
8464 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8465
f14156cd
JR
8466 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8467
4aab9be3
JR
84682000-05-30 Jason Rumney <jasonr@gnu.org>
8469
8470 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8471 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8472
52283633 8473 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8474
8475 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8476 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8477 expand a nil default_filename.
8478
8479 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8480 pointer to glyph_to_pixel_coords, not a frame.
8481
8482 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8483 coding.h to dependencies.
8484
8485 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8486
8487 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8488 window pointer to be consistent with w32term.c and xterm.c.
8489
8490 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8491 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8492 (Qline_spacing, Qcenter): New variables.
8493 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8494 (x_set_line_spacing): New function.
52283633 8495 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8496 (x_specified_cursor_type): New function.
8497 (x_set_cursor_type): Use it.
8498 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8499 and icon strings.
8500 (validate_x_resource_name, x_get_resource_string): Measure lengths
8501 of external strings in bytes.
8502 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8503 GetTextExtentPoint32 with NULL title.
8504 (Fx_create_frame): Initialize Qline_spacing.
8505 (w32_load_system_font): Initialize font->double_byte_p.
8506 (x_to_w32_charset): Use Vw32_charset_info_alist.
8507 (Image, busy cursor, tooltip functions): Merged changes from
8508 xfns.c. Not yet functional on Windows.
8509
8510 * w32gui.h (W32FontStruct): Add double_byte_p member.
8511
8512 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8513 (emacs_button_translation): Use it.
8514 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8515 in `mask' to be set.
8516
8517 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8518 menu strings.
8519
8520 * w32term.c: Format and doc changes to bring closer to xterm.c.
8521 (w32_char_font_type): New enum.
8522 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8523 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8524 (w32_encode_char): New function.
8525 (x_encode_char): Removed.
8526 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8527 x_encode_char and w32_font_is_double_byte.
8528 (x_produce_image_glyph): Use image_ascent.
8529 (x_produce_glyphs): Use new version of w32_per_char_metric and
8530 handle NULL return value. Allow extra line spacing.
8531 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8532 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8533 w32_font_type member of glyph instead.
8534 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8535 (fast_find_position): Make sure not to consider rows not visible
8536 in the window.
8537 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8538 w32_menu_display_help with input blocked, as it can abort.
8539 (x_display_and_set_cursor): Choose cursor depending
8540 on buffer-local value of cursor_type.
8541 (x_draw_bar_cursor): Add parameter WIDTH.
8542
8543 * w32term.h (CP_DEFAULT): Define.
8544 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8545
10fc3187
GM
85462000-05-30 Gerd Moellmann <gerd@gnu.org>
8547
8548 * search.c (Fre_search_forward, Fre_search_backward)
8549 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8550
d0555360
KH
85512000-05-30 Kenichi Handa <handa@etl.go.jp>
8552
8553 * coding.c (detect_coding_iso2022): Fix code for checking
8554 CODING_CATEGORY_MASK_ISO_8_2.
8555
f1ad044f
SM
85562000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8557
8558 * regex.c (PREFETCH_NOLIMIT): New function.
8559 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8560
84ec3b4b
GM
85612000-05-29 Gerd Moellmann <gerd@gnu.org>
8562
66254a13
GM
8563 * syntax.c (find_defun_start): Move test for
8564 open_paren_in_column_0_is_defun_start outside of the loop.
8565
49e70dec
GM
8566 * xdisp.c (redisplay_window): Really switch buffers when
8567 displaying mode lines, and temporarily set selected_frame to the
8568 frame of the window that's redisplayed.
8569
84ec3b4b
GM
8570 * xfaces.c (free_realized_faces): Block/unblock input.
8571 (free_realized_multibyte_face): Ditto.
8572
869a3a14
DL
85732000-05-29 Dave Love <fx@gnu.org>
8574
8575 * textprop.c (Qkeymap): New variable.
8576 (syms_of_textprop): Intern it.
8577
8578 * keymap.c: Include intervals.h.
8579 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8580
8581 * Makefile.in (keymap.o): Depend on intervals.h.
8582
8583 * keyboard.c (menu_bar_items, tool_bar_items)
8584 (Fexecute_extended_command): Deal with `keymap' property.
8585 (read_key_sequence): Track map from `keymap' property as well as
8586 `local_map'.
8587
8588 * intervals.c (get_local_map): Extra arg to allow looking for
8589 `keymap' too.
8590
8591 * intervals.h (map_property): New enum.
8592 (get_local_map): Extra arg using it.
8593 (Qkeymap): Declare.
8594
84ec3b4b 8595 * lisp.h (get_local_map): Don't declare here.
869a3a14 8596
89d0c844
KH
85972000-05-29 Kenichi Handa <handa@etl.go.jp>
8598
8599 * Makefile.in (callproc.o): Depend on composite.h.
8600
8601 * callproc.c: Include composite.h.
8602 (Fcall_process): Handle composition correctly.
8603
8604 * coding.h (coding_allocate_composition_data): Extern it.
8605 (coding_restore_composition): Likewise.
8606
8607 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8608 yet allocated, finish decoding with result
8609 CODING_FINISH_INSUFFICIENT_CMP.
8610 (coding_allocate_composition_data): Make it non-static.
8611 (coding_restore_composition): Likewise.
8612
797a084a
EZ
86132000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8614
8615 * charset.c (syms_of_charset): Revert last change.
8616
cf872af5
EZ
86172000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8618
8619 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8620 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8621 Handa.
cf872af5 8622
5b1ae051
EZ
86232000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8624
8625 * charset.c (syms_of_charset): Set width of character sets
8626 eight-bit-control and eight-bit-graphic to 1 column.
8627
34ec9ebe
GM
86282000-05-26 Gerd Moellmann <gerd@gnu.org>
8629
8630 * config.in (HAVE_SPEED_T): New define.
8631
8632 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8633 `extern speed_t'.
8634
dd854dc2
DL
86352000-05-26 Dave Love <fx@gnu.org>
8636
8637 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8638
8639 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8640 (Fsubr_arity): New function.
8641 (syms_of_data): Install them.
8642
ba9f8f95
KH
86432000-05-26 Kenichi Handa <handa@etl.go.jp>
8644
0f3e0672
KH
8645 * charset.c (init_charset_once): Set the table bytes_by_char_head
8646 correctly.
8647
cebefb44
KH
8648 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8649 the default fontset to what Emacs uses by default.
0f3e0672
KH
8650 (check_registry_encoding): This function deleted.
8651 (Fset_fontset_font): Remove the adhoc condition for the default
8652 fontset. Allow cons in FONTNAME.
cebefb44 8653
0f3e0672
KH
8654 * fns.c (map_char_table): Ignore char-table entries for
8655 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8656
7a18af49
KR
86572000-05-25 Ken Raeburn <raeburn@gnu.org>
8658
8659 * emacs.c (main): Initialize keyboard syms before initializing
8660 window code, so face names are available.
8661
d2af47df
SM
86622000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8663
8664 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8665 of an anchor at the beginning of a shy-group.
8666
fc6a6a4e
GM
86672000-05-25 Gerd Moellmann <gerd@gnu.org>
8668
8669 * xdisp.c (handle_invisible_prop): Don't try to skip over
8670 invisible text if end of text is already reached.
8671
005f0d35
DL
86722000-05-25 Dave Love <fx@gnu.org>
8673
02513cdd
DL
8674 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8675
005f0d35
DL
8676 * coding.c (encode_eol): Add null statement after label.
8677
89f6ca4e
EZ
86782000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8679
8680 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8681 2000-05-20.
8682
a4e1759e
KH
86832000-05-25 Kenichi Handa <handa@etl.go.jp>
8684
8685 * ccl.c (ccl_driver): Fix previous change.
8686
eacfd7fe
KH
86872000-05-25 Kenichi Handa <handa@etl.go.jp>
8688
46ab33a9
KH
8689 * coding.c (run_pre_post_conversion_on_str): Set point to the
8690 beginning of buffer before calling coding->post_read_conversion.
8691 (decode_coding_string): Give correct args to
8692 run_pre_post_conversion_on_str.
8693 (encode_coding_string): Likewise.
8694
eacfd7fe
KH
8695 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8696 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8697 eight-bit-graphic correctly.
8698
f8569325
DL
86992000-05-24 Kenichi HANDA <handa@etl.go.jp>
8700
8701 * fileio.c (Finsert_file_contents): Even if a file is not found,
8702 execute codes for setting up coding system. Call
8703 after-insert-file-functions unconditionally.
8704
04545643
GM
87052000-05-24 Gerd Moellmann <gerd@gnu.org>
8706
8707 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8708 BSD_PGRPS are not defined.
8709
747d90ea
KH
87102000-05-24 Kenichi Handa <handa@etl.go.jp>
8711
8712 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8713 DESCRIPTION.
8714 (syms_of_charset): Avoid building same strings.
8715
716e3b88
GM
87162000-05-23 Gerd Moellmann <gerd@gnu.org>
8717
8718 * lread.c (Fload): Add a comment about the meaning of
8719 Vuser_init_file being t.
8720
8721 * puresize.h (BASE_PURESIZE): Increase to 675000.
8722
8723 * s/gnu-linux.h (setpgrp): Don't define it here because this
8724 prevents compilation on GNU/Linux systems with glib 2.2.
8725
8726 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8727 as setpgid.
427ec082 8728
9aeb39fa
EZ
87292000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8730
8731 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8732 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8733 version.
8734 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8735
29ced61b
KH
87362000-05-23 Kenichi Handa <handa@etl.go.jp>
8737
52283633 8738 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8739
3d80f24d
KH
8740 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8741
52283633 8742 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8743
29ced61b
KH
8744 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8745
d7e00792
KH
87462000-05-22 Kenichi Handa <handa@etl.go.jp>
8747
c9d80d38
KH
8748 * keyboard.c (read_char): Allow character codes 128..255 to be
8749 handled by input-method-function.
8750
d7e00792
KH
8751 * insdel.c (adjust_markers_for_replace): Fix previous change.
8752 (adjust_after_replace): If PREV_TEXT is nil, call
8753 adjust_markers_for_insert, not adjust_markers_for_replace.
8754
087121cc 87552000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8756
087121cc
GM
8757 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8758 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8759 [HAVE_GRANDPT]: Define.
8760 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8761
8762 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8763 like SYSV_PTYS.
8764
8765 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8766
8767 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8768
c9671f81
KH
87692000-05-20 Kenichi Handa <handa@etl.go.jp>
8770
8771 The following changes are to handle 8-bit characters in a
8772 multibyte buffer/string without facing with byte combining
8773 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8774 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8775
8776 * Makefile.in (fns.o): Depend on charset.h.
8777
8778 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8779 convert it to unibyte.
8780 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8781
8782 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8783 apparent char boundary.
8784 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8785 0x80..0x9F to/from multibyte form.
8786
8787 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8788 to unibyte.
8789
8790 * callproc.c (Fcall_process): Always encode an argument string if
8791 it is multibyte. Setup src_multibyte and dst_multibyte members of
8792 process_coding properly.
ce75fd23 8793
c9671f81
KH
8794 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8795 SPLIT_NON_ASCII_CHAR.
8796
8797 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8798 as is.
8799 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8800
52283633 8801 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8802 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8803 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8804 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8805 and eight-bit-graphic.
8806 (char_to_string): Likewise. Signal an error for too large
8807 character code.
8808 (char_printable_p): Return 0 for 8-bit characters.
8809 (update_charset_table): Update iso_charset_table only when a final
8810 character is non-negative.
8811 (find_charset_in_text): Renamed from find_charset_in_str.
8812 Arguments and return value changed. Callers changed.
8813 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8814 be -1 if CHARSET is used only internally.
8815 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8816 eight-bit-graphic.
8817 (Fcharset_after): Simplified.
8818 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8819 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8820 (multibyte_chars_in_text): Simplified by assuming there's no
8821 invalid multibyte sequence.
52283633
SM
8822 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8823 (str_as_unibyte): New functions.
8824 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8825 (init_charset_once): Initialization for
8826 LEADING_CODE_8_BIT_CONTROL.
8827 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8828 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8829 eight-bit-control and eight-bit-graphic.
8830
52283633
SM
8831 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8832 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8833 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8834 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8835 (CHARSET_REVERSE_CHARSET): Likewise.
8836 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8837 eight-bit-graphic.
8838 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8839 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8840 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8841 encounter an invalid multibyte sequence.
8842 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8843 sequence is always valid.
8844 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8845 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8846 (CHAR_STRING): For 8-bit characters, call char_to_string.
8847 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8848 multibyte sequence is always valid.
8849 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8850 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8851 (str_as_unibyte): Extern them.
c9671f81 8852 (BCOPY_SHORT): Fix a bug.
52283633 8853 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8854 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8855 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8856 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8857
bd4bde7f 8858 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8859 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8860 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8861 (EMIT_BYTES): New macros.
8862 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8863 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8864 macros deleted.
8865 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8866 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8867 check the validity of multibyte sequence.
8868 (decode_coding_emacs_mule): New function.
8869 (encode_coding_emacs_mule): New macro.
8870 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8871 the source.
8872 (DECODE_ISO_CHARACTER): Just return a character code.
8873 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8874 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8875 EMIT_CHAR to produced decoded characters. Exit the loop only by
8876 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8877 block here.
8878 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8879 only position codes for an invalid character.
8880 (encode_designation_at_bol): Return new destination pointer. 5th
8881 arg DSTP is changed to DST.
8882 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8883 from the source by ONE_MORE_CHAR. Don't handle the case of last
8884 block here.
8885 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8886 macros deleted.
52283633
SM
8887 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8888 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8889 TWO_MORE_BYTES to fetch a byte from the source.
8890 (encode_eol): Pay attention to coding->src_multibyte.
8891 (detect_coding, detect_eol): Preserve members src_multibyte and
8892 dst_multibyte.
8893 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8894 (encoding_buffer_size): Set magnification to 3 for all coding
8895 systems that require encoding.
8896 (ccl_coding_driver): For decoding, be sure that the result is
8897 valid multibyte sequence.
8898 (decode_coding): Initialize coding->errors and coding->result.
8899 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8900 and raw-text, always call decode_eol. Handle the case of last
8901 block here. If not coding->dst_multibyte, convert the resulting
8902 sequence to unibyte.
8903 (encode_coding): Initialize coding->errors and coding->result.
8904 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8905 and raw-text, always call encode_eol. Handle the case of last
8906 block here.
8907 (shrink_decoding_region, shrink_encoding_region): Detect cases
8908 that we can't skip data more rigidly.
8909 (code_convert_region): Setup src_multibyte and dst_multibyte
8910 members of coding. For decoding, if the buffer is multibyte,
8911 convert the source sequence to unibyte in advance. For encoding,
8912 if the buffer is multibyte, convert the resulting sequence to
8913 multibyte afterward.
8914 (run_pre_post_conversion_on_str): New function.
8915 (code_convert_string): Deleted and divided into the following two.
8916 (decode_coding_string, encode_coding_string): New functions.
8917 (code_convert_string1, code_convert_string_norecord): Call one of
8918 above.
8919 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8920 MAKE_NON_ASCII_CHAR.
52283633
SM
8921 (Fset_terminal_coding_system_internal)
8922 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8923 and dst_multibyte members.
8924 (init_coding_once): Initialize iso_code_class with new enum
8925 ISO_control_0 and ISO_control_1.
8926
8927 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8928 devided into ISO_control_0 and ISO_control_1.
8929 (struct coding_system): New members src_multibyte, dst_multibyte,
8930 errors, and result. Delete member fake_multibyte.
8931 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8932 nonzero.
8933 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8934 nonzero.
8935
8936 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8937 (Faset): Likewise.
8938
8939 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8940 multibyte form.
8941 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8942 combining occurs.
8943 (Ftranspose_region): Delete codes for handling byte combining.
8944
8945 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8946 dst_multibyte members of coding. On handling REPLACE on unibyte
8947 buffer, convert the result of decode_coding to unibyte. On
8948 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8949 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8950 multibyteness of the source (buffer or string).
8951
8952 * fns.c (concat): Handle 8-bit characters correctly.
8953 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8954 unibyte in the result.
8955 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8956 valid multibyte form in the result.
8957 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8958 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8959 return -1, signal an error.
8960 (base64_encode_1): New arg MULTIBYTE. Get each character by
8961 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8962 character is found, return -1.
8963 (Fbase64_decode_region): Delete codes for handling byte-combining.
8964 Treat each decoded byte as a unibyte character.
8965 (Fbase64_decode_string): Return unibyte string.
8966 (Fcompare_strings, concat, string_byte_to_char): Use
8967 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8968 FETCH_STRING_CHAR_ADVANCE.
8969 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8970 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8971
8972 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8973 SPLIT_NON_ASCII_CHAR.
8974 (fontset_ref_via_base, fontset_set): Likewise
8975
8976 * insdel.c (adjust_markers_for_record_delete): Deleted.
8977 (adjust_markers_for_insert): Argument changed. Caller changed.
8978 (adjust_markers_for_replace): Likewise.
52283633
SM
8979 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8980 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8981 (copy_text): Delete unused local varialbe c_save. For converting
8982 to multibyte, be sure to make all 8-bit characters in valid
8983 multibyte form.
8984 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8985 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8986 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8987 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8988 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8989 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8990 handling byte combining.
8991 (adjust_before_replace): Deleted.
427ec082 8992
c9671f81
KH
8993 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8994 SPLIT_NON_ASCII_CHAR.
8995 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8996 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8997 (Fkey_description): Likewise.
8998
8999 * lread.c (read1): On reading multibyte string, be sure to make
9000 all 8-bit chararacters in valid multibyte form.
9001 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9002
9003 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9004 unconditionally.
9005
9006 * process.c (Fstart_process): GCPRO current_dir before calling
9007 Ffind_operation_coding_system. Encode arguments here.
9008 (create_process): Don't encode arguments here. Setup
9009 src_multibyte and dst_multibyte members of struct coding.
9010 (read_process_output): Setup src_multibyte and dst_multibyte
9011 members of struct coding. If the output is to multibyte buffer,
9012 always decode the output of the process. Adjust the
52283633 9013 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9014 (send_process): Setup coding->src_multibyte according to the
9015 multibyteness of the source.
9016
52283633 9017 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9018 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9019 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9020
52283633 9021 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9022
9023 * w16select.c (Fw16_set_clipboard_data): Setup members
9024 src_multibyte and dst_multibyte of coding. Adjusted for the
9025 change for find_charset_in_str.
9026 (Fw16_get_clipboard_data): Likewise.
9027
9028 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9029 dst_multibyte of coding.
9030 (x_to_w32_font): Likewise.
9031
9032 * w32select.c (Fw32_set_clipboard_data): Setup members
9033 src_multibyte and dst_multibyte of coding. Adjusted for the
9034 change for find_charset_in_str.
9035 (Fw32_get_clipboard_data): Likewise.
9036
9037 * xdisp.c (get_next_display_element): Handle 8-bit characters
9038 correctly.
52283633
SM
9039 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9040 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9041
9042 * xselect.c (selection_data_to_lisp_data): Setup members
9043 src_multibyte and dst_multibyte of coding. Adjusted for the
9044 change for find_charset_in_str.
9045 (lisp_data_to_selection_data): Likewise.
9046
5f64c9e0
GM
90472000-05-19 Gerd Moellmann <gerd@gnu.org>
9048
52283633 9049 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9050
5f64c9e0
GM
9051 * dispextern.h (Vimage_types): Add extern declaration.
9052
9053 * xdisp.c (Vimage_types): Moved here from xfns.c.
9054 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9055
9056 * xfns.c (Vimages_types): Moved to xdisp.c.
9057 (syms_of_xfns): Move `image-types' to xdisp.c.
9058
9059 * w32fns.c (Vimage_types): Removed.
9060 (syms_of_w32fns): Remove `image-types'.
9061
813086ea
KH
90622000-05-18 Kenichi Handa <handa@etl.go.jp>
9063
9064 * fns.c (map_char_table): Pay attention to character number of
9065 charset. Check the validity of charset at the first level. For
9066 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9067 the default value.
9068
9069 * fontset.c: Include "buffer.h".
9070 (fs_load_font): If the face has fontset, record the face ID in
9071 that fontset.
9072 (Finternal_char_font): New function.
9073 (accumulate_font_info): New function.
9074 (Ffontset_info): Rewritten for the new fontset implementation.
9075 (syms_of_fontset): Register Vdefault_fontset in the first element
9076 of Vfontset_table. Include Vdefault_fontset in
9077 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9078 function.
9079
bdaebbf0
DL
90802000-05-16 Dave Love <fx@gnu.org>
9081
9082 * m/iris5d.h: Deleted -- unused.
9083
cb613bb8
GM
90842000-05-16 Gerd Moellmann <gerd@gnu.org>
9085
b15f3b77
GM
9086 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9087 `invalid' instead of `illegal'.
9088
9089 * indent.c (Fmove_to_column): When ending within a tab, insert
9090 spaces first so that markers at the end of the tab get adjusted.
9091
835c1b36
GM
9092 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9093 buffer list that wasn't selected in that frame.
9094
cb613bb8
GM
9095 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9096 is needed on mescaline, use a 2 char prefix, and call
9097 make_temp_name with second arg non-zero.
9098
9099 * fileio.c (make_temp_name): New function, extracted from
9100 Fmake_temp_name.
9101 (Fmake_temp_name): Use it.
9102
f685bea9
EZ
91032000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9104
52283633 9105 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9106
a1b8d58b
GM
91072000-05-15 Gerd Moellmann <gerd@gnu.org>
9108
9109 * Makefile.in (lisp): Add env.elc.
9110
9111 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9112
a265079f
GM
91132000-05-12 Gerd Moellmann <gerd@gnu.org>
9114
9115 * search.c (Freplace_match): Handle case of `\N' in the
9116 replacement when there's no group N.
9117
da4496b6
GM
91182000-05-11 Gerd Moellmann <gerd@gnu.org>
9119
0ace421a
GM
9120 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9121 of the message to message_dolog.
9122
1172eb8d
GM
9123 * keyboard.c (read_char): Don't clear current message for help
9124 events; let the code handling help events handle this. Change
9125 code detecting help events that should be ignored.
9126
da4496b6
GM
9127 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9128 we're interating over a string.
9129
0623e40f
DL
91302000-05-09 Dave Love <fx@gnu.org>
9131
9132 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9133 that offset before writing. Move gcpro region past call of
9134 Ffile_regular_p.
9135
bae2503b
DL
91362000-05-04 Dave Love <fx@gnu.org>
9137
9138 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9139
ec82fb2f
GM
91402000-05-04 Gerd Moellmann <gerd@gnu.org>
9141
9142 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9143 of inserted characters when BUF equals the current buffer, and PT
9144 is in front of or equal to FROM.
9145
cbf18892
GM
91462000-05-03 Gerd Moellmann <gerd@gnu.org>
9147
4ff40dd0
GM
9148 * xdisp.c (handle_single_display_prop): If display property value
9149 is invalid, or something not supported on the frame, restore
9150 iterator's position to what it was initially. Make sure to return
9151 0 for invalid and unsupported property values.
9152
cbf18892
GM
9153 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9154 that x_per_char_metric returns null.
9155
1b0672c3
GM
91562000-05-02 Gerd Moellmann <gerd@gnu.org>
9157
576da55d
GM
9158 * xterm.h (struct face): Add forward declaration.
9159 (struct image): Ditto.
9160 (image_ascent): Add prototype.
9161
9162 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9163 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9164 image_ascent instead of using IMAGE_ASCENT.
9165
9166 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9167 (IMAGE_ASCENT): Removed.
9168
9169 * xfns.c (Qcenter): New variable.
9170 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9171 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9172 (image_ascent): New function.
9173 (lookup_image): Recognize `:ascent center'.
9174 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9175 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9176 (xbm_load): Don't set image's ascent here.
9177 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9178 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9179 check ascent values here.
9180 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9181 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9182 (syms_of_xfns): Initialize Qcenter.
9183
1b0672c3
GM
9184 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9185 to the limits, increase the limits.
9186
0d7811ed
KH
91872000-05-01 Kenichi Handa <handa@etl.go.jp>
9188
9189 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9190 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9191
a943a5ca
GM
91922000-04-28 Gerd Moellmann <gerd@gnu.org>
9193
9194 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9195 taller than the window.
9196
5dba1e29
KH
91972000-04-28 Kenichi Handa <handa@etl.go.jp>
9198
9199 * xfaces.c (realize_x_face): Fix the argument of the second
9200 xassert. BASE_FACE may not be a face for ASCII.
9201
353964e3
GM
92022000-04-27 Gerd Moellmann <gerd@gnu.org>
9203
c76e04a8
GM
9204 * print.c (print_object): Treat print-length < 0 as nil.
9205
9206 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9207
9208 * s/freebsd.h (TERMCAP_OBJ): Removed.
9209 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9210
9211 * lread.c (read1): Don't treat period followed by certain
9212 characters as symbol start.
9213
9214 * xfns.c (slurp_file): New function.
9215 (xbm_image_p): Handle case of in-memory XBM files.
9216 (xbm_scan): Rewritten to work on memory buffers instead of files.
9217 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9218 Work on memory buffers instead of files. If DATA is null test
9219 if buffer looks like an in-memory XBM file.
9220 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9221 memory buffers instead of files.
9222 (xbm_file_p): New function.
9223 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9224
353964e3
GM
9225 * lread.c (end_of_file_error): New function.
9226 (read1): Call it instead of signaling `end-of-file' directly.
9227
427ec082 9228 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9229 with Fprinc instead of Fprin1.
9230
24d744ac
KR
92312000-04-26 Ken Raeburn <raeburn@gnu.org>
9232
9233 * window.c (freeze_window_start): Check that minibuffer scroll
9234 window isn't nil before extracting the window structure pointer
9235 from it.
9236
9237 * undo.c (record_delete): If we hit the end of the undo list, stop
9238 picking elements apart.
9239
7464346d
GM
92402000-04-26 Gerd Moellmann <gerd@gnu.org>
9241
9242 * xdisp.c (display_line): If lines are continued, restore
9243 iterator's ascent/descent information to the values before the
9244 first glyph not fitting on the line.
9245
612839b6
GM
92462000-04-25 Gerd Moellmann <gerd@gnu.org>
9247
9248 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9249 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9250
9251 * dispnew.c (increment_matrix_positions): Renamed from
9252 increment_glyph_matrix_buffer_positions.
9253 (increment_row_positions): Renamed from
9254 increment_glyph_row_buffer_positions.
9255
9256 * dispextern.h: Change names of renamed functions from dispnew.c
9257 in prototypes.
9258
cc181e95
GM
92592000-04-24 Gerd Moellmann <gerd@gnu.org>
9260
abfcc168
GM
9261 * fileio.c (Fdo_auto_save): Create directories for auto-save
9262 list file if necessary.
9263
cc181e95
GM
9264 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9265 from buffer or frame.
9266 (automatic_hscrolling_p): New variable.
9267 (hscroll_windows): Scroll windows horizontally only if automatic
9268 hscrolling is allowed.
9269 (syms_of_xdisp): New variable `automatic-hscrolling'.
9270
9271 * frame.h (struct frame): Add member extra_line_spacing.
9272
9273 * xfns.c (x_set_line_spacing): New function.
9274 (Fx_create_frame): Set line spacing from resources.
9275 (Qline_spacing): New variable.
9276 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9277
cc181e95
GM
9278 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9279
9280 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9281 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9282 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9283 extra_line_spacing from default value.
9284 (init_buffer_once): Initialize default value of extra_line_spacing.
9285
9286 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9287 and extra3.
9288
9289 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9290 prompt_width. Add extra line spacing.
9291
9292 * term.c (produce_glyphs): Remove reference to struct it's
9293 prompt_width.
9294
9295 * dispextern.h (struct it): Remove member prompt_width, add
9296 extra_line_spacing.
9297
58827478
GM
92982000-04-22 Gerd Moellmann <gerd@gnu.org>
9299
9300 * dispnew.c (update_frame_line): When writing a whole line, make
9301 sure cursor is in the right row afterwards, otherwise a use of
9302 capability `ch' in cmgoto might leave the cursor in the row below.
9303
25a87f42
GM
93042000-04-21 Gerd Moellmann <gerd@gnu.org>
9305
9306 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9307
9308 * keyboard.c (timer_check): Fix typo in comment.
9309
54edf5c2
KH
93102000-04-21 Kenichi Handa <handa@etl.go.jp>
9311
9312 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9313 name change: ch -> character.
9314
3a64eef5
GM
93152000-04-20 Gerd Moellmann <gerd@gnu.org>
9316
9317 * keyboard.c (echo_message_buffer): New variable.
9318 (echo_now): Set echo_message_buffer to the echo area buffer used
9319 to display the echo.
9320 (cancel_echoing): Reset echo_message_buffer to nil.
9321 (read_char): Code rewritten that handles canceling an echo or
9322 echoing a dash, respectively.
9323
9324 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9325 directory doesn't exist.
9326
6142fdcb
DL
93272000-04-19 Dave Love <fx@gnu.org>
9328
9329 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9330 (concat): Don't allow numeric args.
9331 (Fconcat): Doc change.
6142fdcb 9332
ac6b5352
SM
93332000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9334
9335 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9336 instead define end_match(1|2) more carefully.
9337 Use GET_CHAR_BEFORE_2 for `begline'.
9338
cb9215e4
GM
93392000-04-19 Gerd Moellmann <gerd@gnu.org>
9340
5e3dac3f
GM
9341 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9342 on 64-bit systems where NULL is defined as `0'.
9343
9344 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9345 the `variable argument list' to make it work on Alpha.
9346
cb9215e4
GM
9347 * m/alpha.h (_LP64) [!_LP64]: Define.
9348 (ORDINARY_LINK): Define for NetBSD.
9349
9350 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9351
f532dca0
DL
93522000-04-19 Dave Love <fx@gnu.org>
9353
c750667e
DL
9354 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9355 change.
9356
9357 * Makefile.in (LIBS): Don't use.
9358 (GETLOADAVG_OBJ): Define again.
9359 (otherobj): Add GETLOADAVG_OBJ.
9360
f532dca0
DL
9361 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9362
1c7e22fd
GM
93632000-04-18 Gerd Moellmann <gerd@gnu.org>
9364
f6d3257b
GM
9365 * lread.c (read_filtered_event): Cancel and start busy cursor.
9366
427ec082 9367 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9368 that the per-character metrics may be null.
9369
e10f64e7
GM
93702000-04-17 Gerd Moellmann <gerd@gnu.org>
9371
0daee095
GM
9372 * buffer.c (clone_per_buffer_values): New function.
9373 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9374 clone_per_buffer_values if CLONE is not nil.
9375
e10f64e7
GM
9376 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9377
38687d43
DL
93782000-04-16 Dave Love <fx@gnu.org>
9379
9380 * Makefile.in: Remove obsolete localcpp stuff.
9381 (GETLOADAVG_OBJ): Don't define.
9382 (obj): Move LIBOBJS...
9383 (otherobj): ... to here.
9384 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9385 whitespace-only lines after the continuation (Irix).
9386
c21c7262
GM
93872000-04-14 Gerd Moellmann <gerd@gnu.org>
9388
9389 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9390
9391 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9392
314767c0
DL
93932000-04-14 Dave Love <fx@gnu.org>
9394
9395 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9396 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9397 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9398 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9399 NLIST_STRUCT.
9400
9401 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9402 autoconfiscated HAVE_GETLOADAVG.
9403
9404 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9405 BROKEN_MKTIME.
9406
a2522dca
GM
94072000-04-14 Gerd Moellmann <gerd@gnu.org>
9408
9409 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9410 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9411
33744b5d
DL
94122000-04-14 Dave Love <fx@gnu.org>
9413
c21c7262 9414 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9415 (INTERVAL_SRC): Convert to make variable.
9416 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9417 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9418 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9419 add LIBOBJS.
9420 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9421 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9422 (shortlisp): Add facemenu, float-sup, frame.
9423 (SOME_MACHINE_LISP): Remove them from here.
9424 (LIBES): Change unused LDLIBS to autoconf LIBS.
9425
9426 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9427
9d3d5916
KH
94282000-04-14 Kenichi Handa <handa@etl.go.jp>
9429
9430 * composite.c (update_compositions): If FROM and TO are not in a
9431 valid range, do nothing.
9432
198e3c7a
GM
94332000-04-13 Gerd Moellmann <gerd@gnu.org>
9434
52283633 9435 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9436
52283633 9437 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9438
9439 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9440 as TERMCAP_OBJ.
9441
055a28c9
EZ
94422000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9443
9444 * fileio.c (a_write): Remove redundant semi-colons.
9445 (e_write): Return -1 if failed to write all the data.
9446 This fixes the changes made at 1999-12-15.
9447
f5c75033
DL
94482000-04-12 Dave Love <fx@gnu.org>
9449
9450 * fns.c (mapcar1): Test for null vals to support mapc.
9451 (Fmapc): New function.
9452
0c3cfc51
EZ
94532000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9454
9455 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9456 (IT_frame_up_to_date): Support the buffer local value of
9457 cursor-type, if defined.
9458
33465a31
DL
94592000-04-10 Dave Love <fx@gnu.org>
9460
9461 * editfns.c (preceding-char, following-char): Doc fix.
9462
6ed56568
KR
94632000-04-10 Ken Raeburn <raeburn@gnu.org>
9464
9465 * Makefile.in (temacs): Revert 2000-03-12 change.
9466
7cf80d4e
JR
94672000-04-10 Jason Rumney <jasonr@gnu.org>
9468
9469 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9470
34f3f342
GM
94712000-04-10 Gerd Moellmann <gerd@gnu.org>
9472
1a1b1895
GM
9473 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9474 area buffer, if it's not set up yet.
9475
34f3f342
GM
9476 * indent.c (compute_motion): Set immediate_quit.
9477
be0dbdab
GM
94782000-04-09 Gerd Moellmann <gerd@gnu.org>
9479
52283633 9480 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9481 (realize_tty_face): Suppress boldness if colors are the inverse of
9482 the default colors, and tty_suppress_bold_inverse_default_colors_p
9483 is set.
9484 (Ftty_suppress_bold_inverse_default_colors): New function.
9485 (syms_of_xfaces): Defsubr it.
9486
be0dbdab
GM
9487 * buffer.c (Frestore_buffer_modified_p): New function.
9488 (syms_of_buffer): Defsubr it.
9489
e8413c3b
KR
94902000-04-08 Ken Raeburn <raeburn@gnu.org>
9491
87f67317
KR
9492 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9493 charset id (int) argument, not a charset (Lisp_Object).
9494
e8413c3b
KR
9495 * coding.h (code_convert_string): Declare.
9496 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9497 object, as the fourth argument to code_convert_string.
9498
52283633 9499 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9500 (Fset_fontset_font): Use EQ to compare lisp objects.
9501
7c752c80
KR
95022000-04-05 Ken Raeburn <raeburn@gnu.org>
9503
c0333abc
KR
9504 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9505 a pointer that looks like a lisp object.
9506 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9507 zero, instead see whether it's an integer object, since they can't
9508 have intervals.
9509 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9510
52283633
SM
9511 * dispnew.c (allocate_matrices_for_frame_redisplay)
9512 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9513 to convert between (unsigned) int values and lisp integers.
9514 * keyboard.c (read_key_sequence): Likewise.
9515 * lread.c (substitute_object_recurse): Likewise.
9516 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9517 * minibuf.c (do_completion, Fminibuffer_complete_word)
9518 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9519 * term.c (produce_special_glyphs): Likewise.
9520
9521 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9522 * print.c (print_preprocess, print_object): Likewise.
9523
9524 * search.c (compile_pattern): Use NILP when checking for nil.
9525
74e49b38
KR
9526 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9527 __OPTIMIZE__]: Provide a GNU C macro version that handles
9528 lisp-object unions.
9529 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9530 field, to better cope with ENABLE_CHECKING and calls that modify a
9531 Lisp_Object using its old value.
9532
685e5ed2
GM
95332000-04-04 Gerd Moellmann <gerd@gnu.org>
9534
c407c570
GM
9535 * window.c (compare_window_configurations): Signal an error
9536 if parameters C1 or C2 aren't window configurations.
9537
685e5ed2
GM
9538 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9539 AFTER_POTENTIAL_GC calls around calls to functions that can
9540 signal an error and thus invoke the debugger.
9541
587a49ab
GM
95422000-04-03 Gerd Moellmann <gerd@gnu.org>
9543
62f20204
GM
9544 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9545 an error if decoding fails.
9546
587a49ab
GM
9547 * keyboard.c (lispy_mouse_names): Variable removed.
9548 (Vlispy_mouse_stem): New variable.
9549 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9550 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9551 for any mouse button number. Increase size of mouse_syms and
9552 button_down_location as needed. Call modify_event_symbol with
9553 different arguments.
9554 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9555 Call modify_event_symbol with different arguments.
9556 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9557 for any button number. Call modify_event_symbol with different
9558 arguments.
9559 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9560 Accept a string for NAME_ALIST_OR_STEM.
9561
9562 * lisp.h (larger_vector): Add prototype.
9563
9564 * fns.c (larger_vector): Make externally visible.
9565
9566 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9567
2d1675e4
SM
95682000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9569
9570 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9571 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9572 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9573 we are between str1 and str2.
9574 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9575 (PATFETCH): Use `TRANSLATE'.
9576 (PATFETCH_RAW): Fetch multibyte char if applicable.
9577 (PATUNFETCH): Remove.
9578 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9579 When writing a char, write it directly into the pattern buffer rather
9580 than going needlessly through a temp char-array.
9581 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9582 multibyte magic and remove the useless `#ifdef emacs'.
9583 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9584 buffer.
9585
9586 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9587 conditional on `emacs'.
9588
9589 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9590
cc2d8c6b
KR
95912000-04-01 Ken Raeburn <raeburn@gnu.org>
9592
9593 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9594 non-union-type versions of XMARK and friends here, because XMARK
9595 and friends won't work on an integer field if NO_UNION_TYPE is not
9596 defined.
52283633 9597 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9598
52283633 9599 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9600 (syms_of_composite): Delete local var NARGS, pass an int as first
9601 argument to Fmake_hash_table.
9602
2387b382
KR
9603 * editfns.c (text_property_stickiness): Use NILP to test
9604 Lisp_Object boolean value.
9605 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9606 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9607 problems reading from and changing the same lisp value in an
9608 XSETSTRING call.
9609
27660e89
GM
96102000-04-01 Gerd Moellmann <gerd@gnu.org>
9611
9612 * term.c (TN_no_color_video): New variable.
9613 (term_init): Intitialize TN_no_color_video.
9614 (enum no_color_bit): New enumeration.
9615 (MAY_USE_WITH_COLORS_P): New macro.
9616 (turn_on_face): Use it to determine if attributes may be used
9617 combined with colors.
9618
3578db3c
KR
96192000-04-01 Ken Raeburn <raeburn@gnu.org>
9620
9621 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9622 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9623 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9624 proper accessor macros.
9625 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9626 (grow_mini_window): Fix typo getting int value of root->height.
9627
6fc556fd
KR
9628 * xdisp.c (compute_string_pos): Fix order of arguments to
9629 string_pos_nchars_ahead.
9630 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9631 count arg to variable-arg routines like Frun_hook_with_args and
9632 Fformat.
587a49ab
GM
9633 (back_to_previous_visible_line_start)
9634 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9635 fixed-arg routines like Fget_char_property and Fmake_string.
9636 (reconsider_clip_changes): Use XINT when comparing integer lisp
9637 objects, or passing them as int arguments.
587a49ab
GM
9638 (mark_window_display_accurate, insert_left_trunc_glyphs)
9639 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9640 storing or passing integer values as lisp objects.
9641 (set_cursor_from_row, highlight_trailing_whitespace): Use
9642 INTEGERP, not implicit test against zero, for glyph object.
9643 (try_window_id): Don't use make_number when we want an int value.
9644
9645 * xfaces.c (xlfd_symbolic_value): Make last argument a
9646 Lisp_Object, to be consistent with callers.
9647 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9648 (lface_hash): Apply XFASTINT to lisp values before folding in.
9649
9650 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9651 fill in window width and height. Pass an int, not a lisp object,
9652 as first arg to Finsert.
9653
6e7b2457
GM
96542000-04-01 Gerd Moellmann <gerd@gnu.org>
9655
610d841e
GM
9656 * xfaces.c (realize_basic_faces): Block input while realizing
9657 the faces.
9658
6e7b2457
GM
9659 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9660
9661 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9662
aa110c0c
GM
96632000-03-31 Gerd Moellmann <gerd@gnu.org>
9664
9665 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9666 or ASCII, handle case that per-char metric is null.
aa110c0c 9667
8801a864
KR
96682000-03-30 Ken Raeburn <raeburn@gnu.org>
9669
c6129d7e
KR
9670 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9671
52283633
SM
9672 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9673 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9674 pointer, using eassert.
9675 * frame.h (XFRAME): Likewise.
9676
52283633
SM
9677 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9678 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9679 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9680 * data.c (set_internal): Likewise.
52283633
SM
9681 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9682 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9683 * fileio.c (auto_save_1): Likewise.
9684 * insdel.c (check_markers): Likewise.
9685 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9686 * undo.c (record_insert): Likewise.
9687 * vmsproc.c (child_sig): Likewise.
9688 * window.c (unshow_buffer, window_loop): Likewise.
9689 * xterm.c (x_erase_phys_cursor): Likewise.
9690
8e7af858
GM
96912000-03-30 Gerd Moellmann <gerd@gnu.org>
9692
9693 * xfns.c (free_image_cache): Free the cache structure itself
9694 last, after all its members have been freed.
9695
9696 * lisp.h (xstrdup): Add prototype.
9697
9698 * alloc.c (xstrdup): Moved here from xfaces.c.
9699 (allocating_for_lisp): Variable removed.
52283633 9700 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9701
9702 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9703 of Fsymbol_value.
9704 (xstrdup): Moved to alloc.c.
9705
e0b8c689
KR
97062000-03-29 Ken Raeburn <raeburn@gnu.org>
9707
b96f9fb7
KR
9708 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9709
9710 * emacs.c (main): Fix sense of no-loadup test.
9711
e0b8c689
KR
9712 * config.in (ENABLE_CHECKING): Undef.
9713
9714 * lisp.h (struct interval): Replace "parent" field with a union of
9715 interval pointer and Lisp_Object; add new bitfield to use as
9716 discriminant. Change other flag fields to bitfields.
9717 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9718 is defined and the supplied test fails, print a message and abort.
9719 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9720
9721 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9722 pointers; abort if the value looks like a lisp object.
52283633
SM
9723 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9724 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9725 Modify for new interval parent definition.
9726
52283633
SM
9727 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9728 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9729 addressable lisp object in the interval structure.
9730 (die): New function.
9731 (suppress_checking): New variable.
9732
9733 * intervals.c (interval_start_pos): Just return 0 if there's no
9734 parent object.
9735
f83c5440
GM
97362000-03-29 Gerd Moellmann <gerd@gnu.org>
9737
9738 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9739 and earlier Emacs versions.
9740
9741 * keyboard.c (Ftop_level): Cancel busy-cursor.
9742
9743 * eval.c (call_debugger): Cancel busy-cursor.
9744
fdce64ff
KH
97452000-03-29 Kenichi Handa <handa@etl.go.jp>
9746
9747 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9748 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9749
f6a3f532
SM
97502000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9751
9752 * regex.c (analyse_first): New function obtained by ripping out most
9753 of re_compile_fastmap and generalizing it a little bit so that it
9754 can also just return whether a given (sub)pattern can match the empty
9755 string or not.
9756 (regex_compile): Use `analyse_first' to decide whether the loop-check
9757 needs to be done or not for *, +, *? and +? (the loop check is costly
9758 for non-greedy repetition).
9759 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9760
e9b309ac
DL
97612000-03-28 Dave Love <fx@gnu.org>
9762
52283633 9763 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9764
e9b309ac
DL
9765 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9766
ed0767d8
SM
97672000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9768
9769 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9770 an expression.
9771 (enum re_opcode_t): Update description of succeed_n.
9772 (PATFETCH): Always define.
9773 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9774 operators, char classes, shy-groups and intervals).
9775 Optimize special cases of intervals so as to only use succeed_n and
9776 jump_n when really needed.
9777 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9778 that we don't have to handle the special cases any more.
9779 Simplify on_failure_jump handling as well.
9780
e11e7e46
JR
97812000-03-28 Jason Rumney <jasonr@gnu.org>
9782
9783 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9784
88faab89
GM
97852000-03-27 Gerd Moellmann <gerd@gnu.org>
9786
182ff242
GM
9787 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9788
9789 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9790
182ff242
GM
9791 * alloc.c (mark_maybe_object): New function.
9792 (mark_memory): Use it.
9793 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9794 (setjmp_tested_p, longjmp_done): New variables.
9795 (test_setjmp): New function.
9796 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9797 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9798
c1005d06
GM
9799 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9800 to DEC_TEXT_POS and INC_TEXT_POS.
9801
9802 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9803 with parameter MULTIBYTE_P.
9804
52283633 9805 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9806
7439e5b9 9807 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9808 buffers because it looks for multibyte character byte sequences
9809 which don't exist in unibyte text.
7439e5b9 9810
d9c545da
GM
9811 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9812
11fd416e 9813 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9814 [DEBUG_X_COLORS]: New functions.
9815 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9816
9817 * xfns.c (x_set_cursor_color): Get color reference counts right.
9818
9819 * xterm.c (x_copy_color): New function.
9820 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9821
9822 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9823 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9824 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9825 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9826 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9827 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9828 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9829 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9830 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9831 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9832
11fd416e
GM
9833 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9834 names for handling per-buffer variables.
d9c545da
GM
9835
9836 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9837 instead of MAX_BUFFER_LOCAL_VARS.
9838 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9839
9840 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9841
88faab89
GM
9842 * xfns.c (x_specified_cursor_type): New function.
9843 (x_set_cursor_type): Use it.
9844
9845 * buffer.h (struct buffer): Add cursor_type.
9846
d80f42b7
SM
98472000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9848
9849 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9850 (print_partial_compiled_pattern, re_compile_fastmap):
9851 Handle new opcode.
d80f42b7
SM
9852 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9853 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9854 executing it as well as when popping it off the stack to find infinite
9855 loops in non-greedy repetition operators.
9856
89e80928
GM
98572000-03-26 Gerd Moellmann <gerd@gnu.org>
9858
3d4ff2dd
GM
9859 * doc.c (Qfunction_documentation): New variable.
9860 (syms_of_doc): Initialize Qfunction_documentation.
9861 (Fdocumentation): If FUNCTION is a symbol with non-nil
9862 `function-documentation' property, return a documentation derived
9863 from that.
9864
bd96bd79
GM
9865 * buffer.c (syms_of_buffer): Add default-cursor-type.
9866 (init_buffer_once): Don't let cursor_type have a local value
9867 in every buffer.
9868
19d1bc27
GM
9869 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9870 on buffer-local value of cursor_type.
9871 (x_draw_bar_cursor): Add parameter WIDTH.
9872
9873 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9874 (init_buffer_once): Set default cursor_type value to t.
9875 Mark cursor_type as local everywhere.
9876 (syms_of_buffer): New per-buffer variable cursor-type.
9877
89e80928
GM
9878 * buffer.h (struct buffer): Remove member local_var_flags,
9879 add local_flags.
9880 (MAX_BUFFER_LOCAL_VARS): New macro.
9881 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9882 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9883 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9884 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9885
52283633 9886 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9887
9888 * category.c (Fset_category_table): Use new macros for per-buffer
9889 variables.
9890
9891 * buffer.c (buffer_permanent_local_flags): Make a char array.
9892 (max_buffer_local_idx): New variable.
9893 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9894 for new handling of per-buffer variables.
9895 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9896 (init_buffer_once): Initialize per-buffer vars differently.
9897 Set max_buffer_local_idx.
9898
9899 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9900 variables.
9901
52283633 9902 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9903
9904 * data.c (do_symval_forwarding, store_symval_forwarding)
9905 (find_symbol_value, set_internal, default_value, Fset_default)
9906 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9907 per-buffer variables.
9908
9909 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9910
9a0dd3dc
GM
99112000-03-24 Gerd Moellmann <gerd@gnu.org>
9912
b68c375f
GM
9913 * xterm.c (x_term_init): Unblock input around call1 of
9914 Qvendor_specific_keysyms.
9915
9a0dd3dc
GM
9916 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9917 (find_defun_start): Consider an open parenthesis in column 0
9918 a defun start only if open_paren_in_column_0_is_defun_start is set.
9919 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9920
7973e637
SM
99212000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9922
9923 * eval.c (Fautoload): Add entry in load-history (if after dump).
9924 * lread.c (load-history): Update docstring.
9925
39210e90
GM
99262000-03-24 Gerd Moellmann <gerd@gnu.org>
9927
9928 * indent.c (Fvertical_motion): Always use the current buffer.
9929 Temporarily change the window's buffer, if necessary.
9930
72db3ab5
GM
99312000-03-23 Gerd Moellmann <gerd@gnu.org>
9932
9933 * xterm.c (fast_find_position): Make sure not to consider rows
9934 not visible in the window.
9935
990b2375
SM
99362000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9937
9938 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9939 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9940
ff4df011
JR
99412000-03-22 Jason Rumney <jasonr@gnu.org>
9942
9943 * w32menu.c (single_submenu): Set help string to NULL if none.
9944 (w32_menu_show): Set help string correctly.
9945 (add-menu-item): Set help string in MIIM_DATA for menu item.
9946 Load SetMenuItemInfoA explicitly.
9947 (w32_menu_display_help): New function.
427ec082 9948
ff4df011
JR
9949 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9950 (QCdata): Moved to xdisp.c.
9951
9952 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9953 (Vw32_charset_to_codepage_alist): Removed.
9954 (Vw32_charset_info_alist): New variable.
52283633
SM
9955 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9956 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9957 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9958 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9959 with TODO comment.
9960 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9961 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9962 Define Vw32_charset_info_alist and w32_charset symbols.
9963
99642000-03-22 Jason Rumney <jasonr@gnu.org>
9965
9966 * makefile.nt (w32bdf.obj): Update dependencies.
9967
9968 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9969
9970 * w32fns.c: Include fontset.h after dispextern.h.
9971 (Fx_create_frame): Do not create fontset.
9972 (w32_load_system_font): Doc fix.
9973 (Fx_close_connection): Free full_name if it is not shared.
9974
9975 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9976 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9977 Callers updated.
ff4df011
JR
9978 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9979 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9980 (w32_font_is_double_byte): New function, needs body.
9981 (x_append_glyph): Set glyph->glyph_not_available_p.
9982 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9983 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9984 character, convert it to a unibyte character.
9985 (struct glyph_string): Delete member `charset'.
9986 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9987 calculating it is found.
9988 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9989 the case that per char metric is not available correctly.
9990 (x_fill_glyph_string): Handle the case that the specific glyph is
9991 not available correctly.
9992 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9993 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9994 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9995 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9996 fontset. Don't call FS_LOAD_FONT.
9997
439d5cb4
KR
99982000-03-22 Ken Raeburn <raeburn@gnu.org>
9999
10000 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10001 (INT_LISPLIKE): New macro.
10002 (NULL_INTERVAL_P): Use it.
52283633
SM
10003 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10004 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10005 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10006
10007 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10008 explicit references to "parent" field of struct interval and
10009 associated unclean type conversions.
52283633
SM
10010 * intervals.c (create_root_interval, root_interval, rotate_right)
10011 (rotate_left, balance_possible_root_interval, split_interval_right)
10012 (split_interval_left, interval_start_pos, find_interval)
10013 (next_interval, previous_interval, update_interval)
10014 (adjust_intervals_for_insertion, delete_node, delete_interval)
10015 (adjust_intervals_for_deletion, merge_interval_right)
10016 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10017 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10018 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10019 Likewise.
10020 * syntax.c (update_syntax_table): Likewise.
10021
10022 * intervals.c (reproduce_tree_obj): New function, like
10023 reproduce_tree but takes a Lisp_Object for the parent. Declare
10024 with prototype.
10025 (graft_intervals_into_buffer): Use it when appropriate.
10026 (reproduce_tree): Declare with prototype.
10027 (balance_possible_root_interval): Check that the parent is a lisp
10028 object before trying to examine its type.
10029
ee1c5b21
GM
100302000-03-22 Gerd Moellmann <gerd@gnu.org>
10031
10032 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10033 as strings only if both are known to be strings.
10034
10035 * s/openbsd.h (LIBS_TERMCAP): Undef.
10036
1fb352e0
SM
100372000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10038
10039 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10040 definitions for non-Emacs compilation.
10041 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10042 outside of `#ifdef emacs'.
10043 (print_partial_compiled_pattern): Update.
10044 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10045 (re_compile_fastmap): Merge handling of charset and charset_not (for
10046 emacs and non-emacs compilation as well).
10047 Similarly for (not)categoryspec and (not)syntaxspec.
10048 Don't use the fastmap when reaching `anychar' since the added
10049 complexity is not justified.
10050 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10051 and (not)syntaxspec. Merge (not)categoryspec.
10052
fdaa1f77
KH
100532000-03-22 Kenichi Handa <handa@etl.go.jp>
10054
52283633
SM
10055 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10056 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10057 --without-x.
fdaa1f77 10058
d152fb46
DL
100592000-03-21 Dave Love <fx@gnu.org>
10060
10061 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10062 doc string.
10063
d2cafc8c
GM
100642000-03-21 Gerd Moellmann <gerd@gnu.org>
10065
10066 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10067 (lface_fully_specified_p): Don't check contents of
10068 LFACE_FONT_INDEX because that attribute is optional.
10069 (realize_x_face): Remove now unwarranted xassert.
10070
9111d4b5
KH
100712000-03-21 Kenichi HANDA <handa@etl.go.jp>
10072
10073 The following changes are to make font selection based on
10074 characters, not charset. In addition, they recover fontset
10075 facilities while utilizing the new font selection mechanism.
10076
6c4bfdc0
KH
10077 * Makefile.in (fontset.o): Depend on dispextern.h.
10078
10079 * alloc.c (mark_face_cache): Don't mark face->registry.
10080
9111d4b5
KH
10081 * dispextern.h (struct glyph): New member glyph_not_available_p.
10082 Use 22 bits for face_id.
10083 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10084 (struct face): Delete member registry, new member ascii_face.
10085 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10086 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10087 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10088 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10089
10090 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10091 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10092 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10093 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10094 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10095 (fs_free_face_fontset, fontset_font_pattern)
10096 (face_suitable_for_char_p, face_for_char)
10097 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10098 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10099 (FS_LOAD_FACE_FONT): New macro.
10100
10101 * fontset.c: All codes rewritten or adjusted for the change of
10102 fontset implementation. Now fontset is represented by char table.
52283633
SM
10103 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10104 Variables removed.
9111d4b5 10105 (my_strcasecmp): Function removed.
52283633 10106 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10107 (AREF, ASIZE): New macros.
52283633
SM
10108 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10109 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10110 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10111 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10112 (fontset_id_valid_p, font_family_registry, fontset_name)
10113 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10114 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10115 New functions.
10116 (fs_load_font): New arg FACE. Caller changed.
10117 (fs_query_fontset): Argument changed. Caller changed.
10118 (Fquery_fontset): call fs_query_fontset.
10119 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10120 Functions removed.
52283633
SM
10121 (clear_fontset_elements, check_registry_encoding)
10122 (check_fontset_name): New functions.
9111d4b5
KH
10123 (syms_of_fontset): Set char-table-extra-slots property of fontset
10124 to 3. Staticpro and initialize Vfontset_table and
10125 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10126
10127 * frame.h (struct frame): Member `fontset_data' removed.
10128 (FRAME_FONTSET_DATA): Macro removed.
10129
10130 * frame.c (make_frame): Don't allocate f->fontset_data.
10131 (Fdelete_frame): Don't free f->fontset_data.
10132
6c4bfdc0
KH
10133 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10134
9111d4b5
KH
10135 * xdisp.c (charset_at_position): Function removed.
10136 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10137 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10138 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10139 Likewise.
10140 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10141 FACE_FOR_CHARSET.
52283633
SM
10142 (get_next_display_element, append_space)
10143 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10144
10145 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10146 Variables removed.
10147 (clear_font_table, frame_update_line_height, load_face_font):
10148 Adjusted for the change of fontset implementation.
10149 (load_face_fontset_font): Function removed.
10150 (pixel_point_size): New function.
10151 (font_list): Argument type changed. Caller changed.
10152 (LFACE_FONT): New macro.
10153 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10154 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10155 Lisp_Object. Determine the font name by actually loading a font
10156 by the specified pattern. Set LFACE_FONT (lface) to the specified
10157 pattern. Even if a font is not found, don't try alternatives.
10158 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10159 (set_font_frame_param): If `font' is specified in lface, use it.
10160 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10161 (lface_same_font_attributes_p): Likewise.
10162 (make_realized_face): Arguent changed. Caller changed. Set
10163 face->ascii_face to face itself.
10164 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10165 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10166 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10167 (free_realized_multibyte_face): New function.
10168 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10169 changed. Caller changed.
10170 (try_font_list): Argument type changed.
10171 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10172 (choose_face_font): Argument changed. Handle fontset properly.
10173 (choose_face_fontset_font): Function removed.
10174 (realize_default_face, realize_named_face): Don't remove the
10175 former face here.
10176 (realize_face): Argument changed. Caller changed. Remove face
52283633 10177 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10178 (realize_x_face): Argument changed. Caller changed. For a
10179 multibyte character, share fontset with base_face. For a single
52283633 10180 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10181 (realize_tty_face): Argument changed. Caller changed.
10182 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10183 (face_at_buffer_position): Don't check multibyte_p for returning
10184 DEFAULT_FACE_ID.
10185 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10186 FACE_SUITABLE_FOR_CHARSET_P.
10187 (syms_of_xfaces): Remove code for Qx_charset_registry and
10188 Vface_default_registry.
10189
6c4bfdc0
KH
10190 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10191 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10192 (x_per_char_metric): Don't try FONT->default_char. Even if
10193 pcm->width is zero, glyph bits may exist.
10194 (x_encode_char): Always initialize char2b->byte1.
10195 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10196 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10197 (x_append_glyph): Set glyph->glyph_not_available_p.
10198 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10199 it->charset. Handle the case that per char metric is not
10200 available. If it->multibyte_p is zero and it->c is a multibyte
10201 character, convert it to a unibyte character.
10202 (struct glyph_string): Delete member `charset'.
10203 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10204 the case that per char metric is not available correctly.
10205 (x_fill_glyph_string): Handle the case that the specific glyph is
10206 not available correctly.
10207 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10208 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10209 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10210 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10211 fontset. Don't call FS_LOAD_FONT.
10212
10213 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10214 (x_create_tip_frame): Likewise.
10215 (Fx_close_connection): Free full_name of font_info.
10216
10217 * fns.c (optimize_sub_char_table): New function.
10218 (Foptimize_char_table): New function.
10219 (syms_of_fns): Defsubr Soptimize_char_table.
10220
b33dd3b0
GM
102212000-03-20 Gerd Moellmann <gerd@gnu.org>
10222
10223 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10224 only if buffer is displayed in some window.
10225
10226 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10227 (try_window_reusing_current_matrix): Don't call scroll run
10228 function if run's current and desired position are the same;
10229 this prevents cursor flickering.
10230
4e8a9132
SM
102312000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10232
10233 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10234
10235 * regex.c (RE_STRING_CHAR): New macro.
10236 (GET_CHAR_AFER_2): Remove.
10237 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10238 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10239 (print_partial_compiled_pattern, re_compile_fastmap)
10240 (re_match_2_internal): Remove on_failure_jump_exclusive.
10241 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10242 optimization only need to work for * (ie. can use of_keep_string_jump).
10243 Remove the special case for .*\n since it is now covered by the general
10244 optimization.
10245 (re_search_2): Don't bother with `room'.
10246 (skip_one_char): New function.
10247 (skip_noops): Simplify since `memory' is not needed any more.
10248 (mutually_exclusive_p): Restructure slightly to use `switch' and
10249 add handling for "all" remaining cases.
10250 (re_match_2_internal): Change on_failure_jump_smart to use
10251 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10252 rather than on_failure_jump_exclusive.
10253
2136fdd4
GM
102542000-03-19 Gerd Moellmann <gerd@gnu.org>
10255
10256 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10257 number of bits per RGB because it's everywhere used as the depth
10258 of the visual.
10259
10260 * term.c (calculate_costs): Remove code dealing with X frames.
10261
18e21ce8 102622000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10263
10264 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10265
d7b511c4
GM
102662000-03-18 Gerd Moellmann <gerd@gnu.org>
10267
10268 * lread.c (read_integer): Unread the last char not consumed.
10269
16b5d424
GM
102702000-03-17 Gerd Moellmann <gerd@gnu.org>
10271
10272 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10273 which are in the process of being deleted.
16b5d424 10274
1fa28578
GM
102752000-03-16 Gerd Moellmann <gerd@gnu.org>
10276
83488cce
GM
10277 * Makefile.in (mostlyclean): Add `*.core'.
10278 (clean): Add `bootstrap-emacs'.
10279
1fa28578
GM
10280 * lread.c (read_integer): New function.
10281 (read1): Support read syntax #o, #x, #b, #r.
10282
99633e97
SM
102832000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10284
1fa28578
GM
10285 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10286 make sure POINTER_TO_OFFSET gives the same value before and after
10287 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10288 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10289 (debug): Now only active if > 0 rather than if != 0.
10290 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10291 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10292 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10293 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10294 (store_op1, store_op2, insert_op1, insert_op2)
10295 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10296 (group_in_compile_stack): Move to after its arg's types are
10297 declared and add a prototype.
99633e97 10298 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10299 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10300 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10301 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10302 indentation of the greedy-op and shy-group code.
99633e97
SM
10303 (at_(beg|end)line_loc_p): Fix argument's types.
10304 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10305 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10306 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10307 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10308 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10309 QUIT unconditionally.
99633e97 10310
699238d9
GM
103112000-03-15 Gerd Moellmann <gerd@gnu.org>
10312
10313 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10314 a sole completion.
10315
10316 * process.c (send_process): Add a hint that the function
10317 can call Lisp code to its comment.
10318
10319 * lread.c (load_dangerous_libraries): New variable.
10320 (Vbytecomp_version_regexp): New variable.
10321 (safe_to_load_p): New function.
10322 (Fload): Handle files not compiled with Emacs specially.
10323 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10324
34e23e5a
GM
103252000-03-14 Gerd Moellmann <gerd@gnu.org>
10326
9c763cca
GM
10327 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10328
10329 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10330 support functions only if HAVE_X11R6_XIM is defined.
10331 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10332
10333 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10334
10335 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10336 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10337 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10338
10339 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10340 (HAVE_X11R6_XIM): Define.
10341
10342 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10343
34e23e5a
GM
10344 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10345 If set, call XSynchronize.
10346
66f0296e
SM
103472000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10348
34e23e5a
GM
10349 * regex.c: Declare a new type `re_char' used throughout the code
10350 for the string char type. It's `const unsigned char' to match the
10351 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10352 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10353 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10354 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10355 code duplication.
66f0296e
SM
10356
10357 * charset.h (GET_CHAR_AFTER_2): Remove.
10358 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10359
854a025c
KR
103602000-03-12 Ken Raeburn <raeburn@gnu.org>
10361
10362 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10363 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10364 of them try to use backquotes.
10365
b9d2c7e2
DL
103662000-03-12 Dave Love <fx@gnu.org>
10367
10368 * unexelf.c: Restore changes of 1999-10-19.
10369 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10370 fix its type and alignment; copy it from current process.
10371
5e5dff44
GM
103722000-03-12 Gerd Moellmann <gerd@gnu.org>
10373
9b2f3c38
GM
10374 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10375 has been found. Fix bug not computing timer's predecessor.
10376
427ec082 10377 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10378 file name.
10379
e1cff360
GM
10380 * window.c (Fsave_window_excursion): Doc fix.
10381
52283633 10382 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10383
e411ce4b
EZ
103842000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10385
10386 * msdos.c (vga_installed): New function, code moved from
10387 dos_set_window_size.
10388 (Qbar, Qcursor_type, outside_cursor): New variables.
10389 (syms_of_msdos): Intern and staticpro them.
10390 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10391 shape used outside Emacs when called for the first time.
10392 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10393 cursor shape used outside Emacs.
10394 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10395 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10396 type has changed.
10397 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10398 parameters specify the cursor. Make qreverse a global
10399 variable (renamed to Qreverse).
10400
80460654
GM
104012000-03-09 Gerd Moellmann <gerd@gnu.org>
10402
10403 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10404
95cd4c40
SM
104052000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10406
10407 This is a big redesign of failure-stack and register handling, prompted
10408 by bugs revealed when trying to add shy-groups. Overall, what happened
10409 is that loops are now structured a little differently, groups can be
10410 shy and the code is a little simpler.
10411
10412 * regex.h: Update the copyright.
10413 (RE_SHY_GROUPS): New value.
10414 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10415 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10416
80460654
GM
10417 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10418 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10419 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10420 for (start|stop)_memory since they now only take one argument (the
10421 second has becomes unnecessary).
52283633 10422 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10423 (print_compiled_pattern): Use %ld to printf long ints and flush to
10424 make debugging a little easier.
95cd4c40
SM
10425 (union fail_stack_elt): Make the integer unsigned.
10426 (struct fail_stack_type): Add a `frame' element.
10427 (INIT_FAIL_STACK): Init `frame' as well.
10428 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10429 (DEBUG_PUSH, DEBUG_POP): Remove.
10430 (NUM_REG_ITEMS): Remove.
10431 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10432 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10433 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10434 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10435 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10436 New macros.
80460654
GM
10437 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10438 address pushed is not the destination of the jump but the source
10439 of it instead.
95cd4c40
SM
10440 (NUM_FAILURE_ITEMS): Remove.
10441 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10442 registers before the actual failure point). Don't hardcode any
10443 meaning for str==NULL anymore.
95cd4c40 10444 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10445 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10446 Remove.
95cd4c40
SM
10447 (REG_UNSET_VALUE): Use NULL (why not?).
10448 (compile_range): Remove declaration since it doesn't exist.
10449 (struct compile_stack_elt_t): Remove inner_group_offset.
10450 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10451 (regex_grow_registers): Remove dead code.
10452 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10453 (regex_compile): Add shy-groups Change loops to use
10454 on_failure_jump_smart&jump instead of
10455 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10456 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10457 variable to me). Use `jump' instead of `jump_past_alt' and don't
10458 bother with push_dummy_failure in alternatives since it is now
10459 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10460 emacs' for (re)allocating the stack.
10461 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10462 from loop when bufp->can_be_null rather than jumping to `done'.
10463 Avoid jumping backwards so as to ensure termination. Use
10464 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10465 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10466 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10467 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10468 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10469 (lowest_active_reg, highest_active_reg)
10470 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10471 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10472 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10473 variables. Push register (in `start_memory') on the stack rather
10474 than storing it in old_reg(start|end). Remove the cycle detection
10475 from `stop_memory', replaced by the use of on_failure_jump_loop
10476 for greedy loops. Add code for the new on_failure_jump_<foo>.
10477 Remove ad-hoc code in `on_failure_jump' to push more registers in
10478 the case of a loop. Take out code from `maybe_pop_jump' into
10479 separate functions and adapt it to the semantics of
10480 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10481 and push_dummy_failure. Remove dummy_failure handling and
10482 handling of `failures to jump to on_failure_jump' (this last one
10483 was already dead code, it seems).
10484 (group_match_null_string_p, alt_match_null_string_p)
10485 (common_op_match_null_string_p): Remove.
95cd4c40 10486
7397acc4
DL
104872000-03-08 Dave Love <fx@gnu.org>
10488
10489 * config.in: Don't depend on __STDC__ for volatile.
10490 Add POINTER_TYPE, PTR, PROTOTYPES.
10491
10492 * hftctl.c, strftime.c: Use PROTOTYPES.
10493 * eval.c (find_handler_clause): Likewise.
10494
10495 * mem-limits.h: Use POINTER_TYPE.
10496
10497 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10498 (memory_warnings): Declare using POINTER_TYPE.
10499
5e91ff9e
GM
105002000-03-08 Gerd Moellmann <gerd@gnu.org>
10501
feab4fba
GM
10502 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10503
52283633 10504 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10505
5e91ff9e
GM
10506 * xfns.c: Remove obsolete code in #if 0.
10507 (Fx_focus_frame): New function.
10508
a735b7e1
KH
105092000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10510
10511 * coding.c (coding_category_name): Add coding-category-utf-8,
10512 coding-category-utf-16-be, coding-category-utf-16-le.
10513 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10514 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10515 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10516 (detect_coding_utf_8): New function.
10517 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10518 UTF_16_LOW_SURROGATE_P): New macros.
10519 (detect_coding_utf_16): New function
10520 (detect_coding_mask): When priorities are specified, skip any
10521 categories that have `nil' coding-system. Fix bug of returning
10522 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10523 returns a mask not set in PRIORITIES.
10524 (detect_eol_type_in_2_octet_form): New function.
10525 (detect_eol): selects detect_eol_type_XXX to call according to
10526 cooding->category_idx.
10527 (detect_coding_system): Remove `nil' coding-system in the result.
10528 (Fupdate_coding_systems_internal): Update all coding-categories.
10529
52283633
SM
10530 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10531 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10532 New macros.
10533 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10534 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10535 (CODING_CATEGORY_IDX_UTF_16_LE)
10536 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10537 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10538 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10539 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10540
9994cc69
GM
105412000-03-07 Gerd Moellmann <gerd@gnu.org>
10542
e9b4e5ff
GM
10543 * doc.c (Fdocumentation_property): If value is not a string,
10544 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10545
f7daf1e1
GM
10546 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10547 close the display with XtCloseDisplay. This caused a bus error
10548 on OpenWindows.
10549
9994cc69
GM
10550 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10551 complete but not unique.
10552
4336c705
GM
105532000-03-06 Gerd Moellmann <gerd@gnu.org>
10554
18bb0684
GM
10555 * process.c (send_process): Remove local variable `procname' that
10556 might become invalid when a GC happens. Instead, access the
10557 process name slot directly.
10558
4336c705
GM
10559 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10560 orig_height if set.
10561
10562 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10563 orig_height if set.
10564
515d0d0e
EZ
105652000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10566
10567 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10568 glyph matrices have been freed.
10569
100b3cbb
GM
105702000-03-05 Gerd Moellmann <gerd@gnu.org>
10571
50df5e5a 10572 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10573 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10574
10575 * xfns.c (QCdata): Moved to xdisp.c.
10576
10577 * xdisp.c (QCdata): Moved here from xfns.c.
10578 (syms_of_xdisp): Initialize QCdata.
10579
10580 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10581
10582 * window.c (coordinates_in_window): Use
10583 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10584 FRAME_INTERNAL_BORDER_WIDTH.
10585
100b3cbb 10586 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10587 it is obviously invalid.
100b3cbb
GM
10588
10589 * xterm.c (x_term_init): Create a colormap if not using the
10590 default visual.
10591
10592 * xterm.h (select_visual): Change prototype.
10593
10594 * xfns.c (select_visual): Rewritten. Recognize user-specified
10595 visual classes.
10596 (visual_classes): New variable.
10597
64d739c4
GM
105982000-03-04 Gerd Moellmann <gerd@gnu.org>
10599
10600 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10601 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10602 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10603 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10604 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10605 XtNcolormap resources.
10606 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10607 (Fx_create_frame): Initialize color members of x_output structure.
10608 (xpm_load): Pass colormap to XPM lib.
10609
10610 * xfaces.c (x_free_colors): Access colormap of frame using
10611 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10612 when default colormap is used.
10613
10614 * xterm.c (x_term_init): Set Colormap member of x_display_info
10615 structure. Copy colormap if resource `privateColormap' is
10616 specified (PseudoColor only).
10617 (x_setup_relief_color): Access colormap of frame using
10618 FRAME_X_COLORMAP.
10619
10620 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10621 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10622
c3cee013
JR
106232000-03-04 Jason Rumney <jasonr@gnu.org>
10624
10625 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10626 other non-platform-specific equivalents.
64d739c4 10627 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10628 specific functions and macros as their w32 equivalents where
10629 non-platform-specifics are not available.
10630 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10631 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10632 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10633 (frame_update_line_height): Use macros to access f->output_data.
10634 (defined_color): Remove FIXME comments; fixed.
10635 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10636 into #ifdef blocks. Add WINDOWSNT blocks.
10637 (Fx_list_fonts): Use macros for accessing font data.
10638 (set_lface_from_font_name): Different default fonts for X and
10639 WINDOWSNT.
10640 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10641 scalable for backward compatibility.
64d739c4 10642 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10643 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10644
64d739c4 10645 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10646 syms_of_w32faces.
10647
10648 * makefile.nt (w32faces.obj): Remove.
10649 (xfaces.obj): Add.
10650
807cc41c
JR
106512000-03-03 Jason Rumney <jasonr@gnu.org>
10652
10653 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10654 correct parameters.
10655
0007072a
KR
106562000-03-03 Ken Raeburn <raeburn@gnu.org>
10657
10658 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10659 standard ELF definitions here if the system header does not.
10660
71a6ba55
GM
106612000-03-03 Gerd Moellmann <gerd@gnu.org>
10662
10663 * xterm.c (PER_CHAR_METRIC): Removed.
10664 (x_per_char_metric_1, x_default_char): New functions.
10665 (x_per_char_metric): If font's default char is invalid, return
10666 metrics of a suitably chosen usable default char.
10667 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10668 char, replace occurrences of unprintable chars with a suitably
10669 chosen usable default char.
71a6ba55 10670
900fa1f1
GM
106712000-03-02 Gerd Moellmann <gerd@gnu.org>
10672
42f55fe0
GM
10673 * xterm.c (note_mouse_highlight): Return quickly if frame's
10674 glyph matrices have been freed.
10675
10676 * dispnew.c (free_glyphs): Block input while freeing matrices.
10677
900fa1f1
GM
10678 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10679
52283633
SM
10680 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10681 Use x_free_colors.
900fa1f1
GM
10682
10683 * dispextern.h (x_free_colors): Add prototype.
10684
10685 * xfaces.c (x_free_colors): New function.
10686 (unload_color, free_face_colors): Use it.
10687
2f950292
EZ
106882000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10689
10690 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10691
10692 * window.c [MSDOS]: Include msdos.h.
10693
54d04320
DL
106942000-03-02 Dave Love <fx@gnu.org>
10695
10696 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10697
10698 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10699 set C_OPTIMIZE_SWITCH for gcc.
10700
0ba93ac4
KH
107012000-03-02 Kenichi Handa <handa@etl.go.jp>
10702
10703 * coding.c (coding_save_composition): Be sure to allocate
10704 composition data area in coding even if there's no composition in
10705 the current run.
10706
a2bc11d4
JR
107072000-03-01 Jason Rumney <jasonr@gnu.org>
10708
10709 * w32term.c: Equivalent changes to those made to xterm.c on
10710 2000-02-25 and 2000-02-24.
10711
10712 * w32fns.c: Equivalent changes to those made to xfns.c on
10713 2000-02-25 and 2000-02-21.
10714
10715 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10716 correct line-end convention is followed.
10717
10718 * w32menu.c [HAVE_BOXES]: Remove #undef.
10719 (single_keymap_panes): Remove code for simulating checkmarks.
10720 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10721 Remove code for drawing simulated checkmarks.
10722 (w32_menu_show): make unibyte help string correctly.
10723 (add_menu_item): draw standard Windows checkmarks. Draw radio
10724 buttons as radio buttons if possible.
10725
72d19d75
GM
107262000-03-01 Gerd Moellmann <gerd@gnu.org>
10727
2df636f4
GM
10728 * sysdep.c (start_of_text): Don't define this function for NetBSD
10729 with ELF.
10730
427ec082 10731 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10732 Don't define.
10733 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10734 (LINKER): Don't undef if __NetBSD__ is defined.
10735
10736 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10737
10738 * fileio.c [__NetBSD__]: Define `unix'.
10739
72d19d75
GM
10740 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10741
ed4d0512
GM
107422000-02-29 Gerd Moellmann <gerd@gnu.org>
10743
50b1039f
GM
10744 * atimer.c (start_atimer): Don't abort when timers are stopped.
10745 (append_atimer_lists): New function.
10746 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10747 arbitrary lists of stopped and running atimers.
10748
ed4d0512
GM
10749 * atimer.c (cancel_atimer): Handle canceling an atimer when
10750 some timers are stopped.
10751
10752 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10753 after canceling it.
10754
10755 * fns.c (maybe_resize_hash_table): Handle case of new size
10756 coming out as being the same as old size.
10757
387023ee
JR
107582000-02-27 Jason Rumney <jasonr@gnu.org>
10759
10760 * makefile.nt: Add atimer.h to dependencies.
10761 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10762 * w32console.c: Only disable window system features for dispextern.h
10763 (initialize_w32_display): Build a display info for the console.
10764 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10765 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10766 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10767 as 2 button mice.
10768 * w32gui.h (struct W32FontStruct): Revert last change after change
10769 to xdisp.c.
10770 * w32menu.c (single_submenu): Set up help string.
10771 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10772 (w32_dialog_show): Set up help string.
10773 * w32term.c (w32_display_info_for_display): Remove unused function.
10774 (w32_draw_bitmap): Use pre-built bitmaps.
10775 (w32_initialize_display_info): New function to initialize parts of
10776 display info that are common to both GUI and console frames.
10777 (w32_term_init): Use w32_initialize_display_info. Do not set
10778 Vw32_num_mouse_buttons here, as it is not called for console
10779 frames. Build bitmaps for indicating truncated lines etc.
10780 (x_delete_display): Destroy pre-built bitmaps.
10781 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10782 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10783
4516715a
DL
107842000-02-27 Dave Love <fx@gnu.org>
10785
10786 * lisp.h: Add a bunch of prototypes.
10787
171ca836
KH
107882000-02-26 Kenichi Handa <handa@etl.go.jp>
10789
10790 * keyboard.c (read_char): Set `usec' correctly.
10791
4013921d
KH
107922000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10793
10794 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10795 `lambda', set reg[RRR] to the map index.
10796 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10797 reg[RRR] to 0. Otherwise, set it to -1.
10798
9244a058
GM
107992000-02-25 Gerd Moellmann <gerd@gnu.org>
10800
2df636f4 10801 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10802
18e21ce8 108032000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10804
f43d79c1
GM
10805 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10806 and contains a `:', prepend `/:'.
10807
10808 * window.c (select_window_1): If selected_window is nil,
10809 don't "swap out" the buffer's point.
10810 (Fset_window_configuration): Set selected_window to nil
10811 before calling Fselect_window.
10812 (unshow_buffer): Don't set point in buffer from window's point
10813 if another more recently selected window also shows the buffer.
10814
bed0c171
GM
108152000-02-25 Gerd Moellmann <gerd@gnu.org>
10816
449c3c52
GM
10817 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10818
f5b58615
GM
10819 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10820 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10821 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10822 New variables.
f5b58615
GM
10823 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10824 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10825 (hide_busy_cursor): New functions.
10826 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10827
10828 * minibuf.c (read_minibuf): Cancel busy-cursor.
10829
10830 * keyboard.c (command_loop_1): Call start_busy_cursor before
10831 Fcommand_execute and cancel_busy_cursor after it.
10832 (timer_check): Remove busy-cursor code.
10833 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10834 cursor timer.
10835
10836 * process.c (wait_reading_process_input): Remove busy-cursor code.
10837
10838 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10839 Fx_hide_busy_cursor.
10840
10841 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10842 Remove prototyoes.
10843 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10844
10845 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10846
10847 * xterm.c (XTread_socket): Remove busy-cursor code.
10848
4eb8436f
GM
10849 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10850 (build_frame_matrix_from_leaf_window): Put code handling
10851 glyph row's not being a slice of a frame row in #if 0.
10852 (sync_window_with_frame_matrix_rows): New function.
10853 (frame_row_to_window): New function.
10854 (mirror_line_dance): Handle copies between windows.
10855
3cb65b0e
GM
10856 * lread.c (Fload): Use `xfree' instead of `free'.
10857 (init_obarray): Use `xmalloc' instead of `malloc'.
10858
bed0c171
GM
10859 * window.c (Fset_window_buffer): Set WINDOW to the window
10860 after decoding.
2add4349
GM
10861 (coordinates_in_window): Take frame's internal border width
10862 into account.
bed0c171 10863
42088c12
GM
108642000-02-24 Gerd Moellmann <gerd@gnu.org>
10865
10866 * xterm.c (x_display_and_set_cursor): Display cursor of
10867 non-selected windows depending on the setting of
10868 cursor_in_non_selected_windows.
10869
10870 * xdisp.c (cursor_in_non_selected_windows): New variable.
10871 (syms_of_xdisp): DEFVAR_BOOL it.
10872
d1e103b2
GM
108732000-02-23 Gerd Moellmann <gerd@gnu.org>
10874
723e779c
GM
10875 * data.c (Fstring_to_number): If number is greater than what
10876 fits into an integer, return a float.
10877
d1e103b2
GM
10878 * eval.c (specbind): Remove references to
10879 keyword_symbols_constant_flag.
10880
10881 * data.c (keyword_symbols_constant_flag): Removed.
10882 (Fmakunbound, set_internal, syms_of_data): Remove references to
10883 keyword_symbols_constant_flag.
10884
10885 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10886
214f877f
KH
108872000-02-23 Kenichi Handa <handa@etl.go.jp>
10888
10889 * syntax.c (multibyte_syntax_as_symbol): New variable.
10890 (syms_of_syntax): Declare it as a Lisp variable.
10891 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10892 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10893 nonzero, treat all multibyte characters as symbol.
52283633 10894 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10895
130adcb7
EZ
108962000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10897
3cb65b0e 10898 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10899 a deleted frame.
130adcb7 10900
17cbbf95
GM
109012000-02-21 Gerd Moellmann <gerd@gnu.org>
10902
10903 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10904
10905 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10906 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10907
beb0bc36
DL
109082000-02-21 Dave Love <fx@gnu.org>
10909
10910 * frame.c (Vmouse_position_function): New variable.
10911 (Fmouse_position): Use it.
10912 (syms_of_frame): Install it.
10913
10914 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10915
1d92afcd
GM
109162000-02-20 Gerd Moellmann <gerd@gnu.org>
10917
10918 * fileio.c (Finsert_file_contents): Unbind the binding of
10919 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10920
10921 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10922 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10923 (specbind, unbind_to): Handle most common case of non-constant
10924 symbol with trivial value specially.
10925
10926 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10927
18e21ce8 109282000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10929
10930 * data.c (Fmake_variable_buffer_local): Doc fix.
10931 Init found_for_buffer to 0.
10932 (Fmake_variable_frame_local): If the variable has already
10933 been buffer-local, set the check_frame field.
10934
1d4311c3
EZ
109352000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10936
10937 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10938 produced for CODING_MODE_LAST_BLOCK requires.
10939
2dc95ddd
DL
109402000-02-18 Dave Love <fx@gnu.org>
10941
10942 * keyboard.c (echo_keystrokes): Remove declaration.
10943 (Vecho_keystrokes) New variable.
10944 (read_char, record_menu_key, read_key_sequence): Use it to allow
10945 use of float value.
10946 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10947
10948 * lread.c: Undef feature selection macros before defining.
10949
f0930f35
GM
109502000-02-18 Gerd Moellmann <gerd@gnu.org>
10951
10952 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10953 for symbols other than the symbol in question.
10954
e3d4de90
DL
109552000-02-17 Dave Love <fx@gnu.org>
10956
10957 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10958
0b378936
GM
109592000-02-17 Gerd Moellmann <gerd@gnu.org>
10960
d621caf7
GM
10961 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10962
0b378936
GM
10963 * alloc.c (enum mem_type): Compile unconditionally.
10964
3b451f74
EZ
109652000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10966
10967 * xfaces.c (tty_defined_color): Don't return faulire indication
10968 for unspecified-fg and unspecified-bg pseudo-colors.
10969
10689a01
GM
109702000-02-17 Gerd Moellmann <gerd@gnu.org>
10971
1216f5e4
GM
10972 * alloc.c (mark_object): Don't mark symbol names in pure space.
10973 (gc_sweep): Don't unmark symbol names in pure space.
10974
10975 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10976 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10977 [GC_MARK_STACK]: New defines.
427ec082 10978 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10979 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10980
10981 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10982
10983 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10984 allocate_buffer instead of xmalloc.
10985
10986 * alloc.c (toplevel): Include setjmp.h.
10987 (PURE_POINTER_P): New define.
10988 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10989 (Vdead) [GC_MARK_STACK]: New variable.
10990 (lisp_malloc): Add parameter TYPE, call mem_insert if
10991 GC_MARK_STACK is defined.
10992 (allocate_buffer): New function.
427ec082 10993 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10994 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10995 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10996 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10997 (MEM_NIL) [GC_MARK_STACK]: New define.
10998 (struct mem_node) [GC_MARK_STACK]: New structure.
10999 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11000 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11001 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11002 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11003 (mark_stack) [GC_MARK_STACK]: New functions.
11004 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11005 (clear_marks): Removed.
11006 (gc_sweep): Set free conses' car, free floats' type, free
11007 symbols' function to Vdead. Use lisp_free to free buffers.
11008 (init_alloc_once): Initialize Vdead.
11009 (survives_gc_p): Return non-zero for pure objects.
11010
11011 * alloc.c: Add comments throughout the file.
11012
2503c8b1
GM
11013 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11014 that unblocks alarms.
11015
8389e1e2
GM
11016 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11017 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11018 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11019
10689a01 11020 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11021
bfc17d18
KH
110222000-02-17 Kenichi Handa <handa@etl.go.jp>
11023
4a09dee0
KH
11024 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11025 avoid infinite error signaling. Allocate sufficient memory for
11026 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11027
2b927d02
SM
110282000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11029
11030 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11031 depends on the previous behavior.
11032
b49cb764
GM
110332000-02-16 Gerd Moellmann <gerd@gnu.org>
11034
11035 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11036
99e95407
GM
110372000-02-15 Gerd Moellmann <gerd@gnu.org>
11038
11039 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11040
11041 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11042 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11043 write(2).
11044
6ffd3cf7
RS
110452000-02-15 Richard M. Stallman <rms@gnu.org>
11046
11047 * data.c (set_internal): Don't make variable buffer-local
11048 if within a let-binding for the same buffer.
11049 (let_shadows_buffer_binding_p): New function.
11050
11051 * eval.c (specbind): For buffer-local value,
11052 record the current buffer also.
11053 (unbind_to): Cope with that change.
11054
cad53475
GM
110552000-02-15 Gerd Moellmann <gerd@gnu.org>
11056
11057 * window.c (Fsave_window_excursion): Doc fix.
11058
1aa963c8
SM
110592000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11060
11061 * syntax.c (back_comment): Make sure we only consider comment-starters
11062 of the relevant style and return -1 in case of a failure to find the
11063 beginning of the comment.
11064 (Fforward_comment): If back_comment fails, go back to the position just
11065 after the comment-end.
11066 (scan_lists): Add comment describing a very minor bug.
11067
b9b84fd3
SM
110682000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11069
11070 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11071 `completion-regexp-list' in the docstring.
11072
3a28db80
DL
110732000-02-14 Dave Love <fx@gnu.org>
11074
11075 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11076
fb4a568d
SM
110772000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11078
11079 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11080 to Emacs' syntax. Also fix the comment about set/not-set meanings
11081 since Emacs syntax is not the value 0 any more.
11082 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11083 since it's now part of RE_SYNTAX_EMACS.
11084
1063ebb5
DL
110852000-02-12 Dave Love <fx@gnu.org>
11086
52283633 11087 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11088
fb07a302
GM
110892000-02-12 Gerd Moellmann <gerd@gnu.org>
11090
11091 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11092
aaf2320c
DL
110932000-02-12 Dave Love <fx@gnu.org>
11094
11095 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11096
11097 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11098 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11099 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11100
11101 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11102
11103 * s/nextstep.h: Don't define HAVE_ALLOCA.
11104
11105 * config.in: Add vfork bits.
11106
eedf8bde
GM
111072000-02-12 Gerd Moellmann <gerd@gnu.org>
11108
11109 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11110 unwind function to undo the effect of stopping atimers.
11111
52283633 11112 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11113
11114 * atimer.c (stopped_atimers): New variable.
11115 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11116 New functions.
11117
11118 * atimer.h (stop_other_atimers, run_all_atimers)
11119 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11120
eedf8bde
GM
11121 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11122
8476c2f8
KR
111232000-02-11 Ken Raeburn <raeburn@gnu.org>
11124
11125 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11126 library may depend on jpeg.
11127 (atimer.o): Depends on atimer.c.
11128
0e85e4a3
KH
111292000-02-11 Kenichi Handa <handa@etl.go.jp>
11130
11131 * insdel.c (del_range_1): Call update_compositions.
11132 (del_range_both): Call update_compositions just once..
11133
97fa0cc8
DL
111342000-02-10 Dave Love <fx@gnu.org>
11135
11136 * xfns.c (create_frame_xic): Fix initialization of automatic
11137 aggregates for pcc.
11138
25566a3c
KH
111392000-02-09 Kenichi Handa <handa@etl.go.jp>
11140
11141 * ccl.c (CCL_MAKE_CHAR): New macro.
11142 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11143 registers by CCL_MAKE_CHAR before calling translate_char.
11144 <CCL_TranslateCharacterConstTbl> Likewise.
11145
69da54ba
DL
111462000-02-08 Dave Love <fx@gnu.org>
11147
11148 * lread.c (__EXTENSIONS__): Define.
11149
f7136ee8
GM
111502000-02-08 Gerd Moellmann <gerd@gnu.org>
11151
11152 * puresize.h (BASE_PURESIZE): Increase to 650000.
11153
7768790b
EZ
111542000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11155
11156 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11157 the help message.
11158
38fd211b
EZ
111592000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11160
11161 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11162 md, mh, mb, mr, and me to the fake termcap entry.
11163
66e4690f
KR
111642000-02-06 Ken Raeburn <raeburn@gnu.org>
11165
11166 * sound.c (sound_cleanup): Don't call device close routine if the
11167 function pointer is null.
11168
a75dfea0
AI
111692000-02-06 Andrew Innes <andrewi@gnu.org>
11170
11171 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11172 around image definitions and prototypes.
11173 (gamma_correct) [WINDOWSNT]: New prototype.
11174
11175 * w32term.c (x_make_frame_visible): Replace call to
11176 input_poll_signal with poll_for_input.
11177
11178 * window.c [WINDOWSNT]: Include w32term.h.
11179
11180 * xdisp.c [WINDOWSNT]: Include w32term.h.
11181
11182 * makefile.nt: Add dependencies on w32gui.h.
11183 (OBJ1): Include atimer.obj.
11184 ($(BLD)\atimer.obj): New dependency rule.
11185
11186 * w32.c (sigmask): New function (does nothing).
11187 (sigunblock): Ditto.
11188
11189 * frame.c [WINDOWSNT]: Include w32term.h.
11190
11191 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11192
11193 * lread.c (syms_of_lread): Fix literal newlines.
11194
11195 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11196 the string constant limit (2048 bytes) in MSVC.
11197 (main): Ditto.
11198
59ddecde
GM
111992000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11200
52283633 11201 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11202 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11203 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11204 dispatch the event.
11205
07590973
DL
112062000-02-04 Dave Love <fx@gnu.org>
11207
11208 * fileio.c: Remove some unused vars.
11209 (_GNU_SOURCE): Define (for euidaccess).
11210
11211 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11212
11213 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11214 gcpro1, gcpro2.
11215 (read_minibuf): Deal with allow_props correctly.
11216
649351f9
EZ
112172000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11218
11219 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11220
66e4690f 112212000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11222
11223 * search.c (compile_pattern): If a cache entry has a nil regexp,
11224 fill in that entry instead of clobbering a previously cached
11225 string regexp.
11226
66e4690f 112272000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11228
11229 * puresize.h (BASE_PURESIZE): Increase to 610000.
11230
d240a249
GM
112312000-02-02 Gerd Moellmann <gerd@gnu.org>
11232
11233 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11234 can GC.
11235
ca91fb26
KH
112362000-02-02 Kenichi Handa <handa@etl.go.jp>
11237
25660570
KH
11238 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11239 instead of incrementing ic directly.
11240 <CCL_WriteExprConst> Likewise.
11241 <ccl_set_expr>: Set ic to jump_address.
11242
ca91fb26
KH
11243 * fileio.c (e_write): Fix the handling of
11244 CODING_FINISH_INSUFFICIENT_SRC.
11245
2ede9689
DL
112462000-02-01 Dave Love <fx@gnu.org>
11247
11248 * editfns.c (Fpropertize): Doc fix.
11249
11250 * process.c (Fstart_process): Doc fix.
11251
11252 * eval.c: Fix various doc strings not to duplicate information
11253 from help-manyarg-func-alist.
11254
52283633 11255 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11256
11257 * doc.c (Vhelp_manyarg_func_alist): New variable.
11258 (Fdocumentation): Use it.
11259 (syms_of_doc): Define it.
11260
b6680a0e
GM
112612000-01-31 Gerd Moellmann <gerd@gnu.org>
11262
2cb750ba
GM
11263 * xterm.c (xim_open_dpy): Remove unused local variable.
11264
52283633 11265 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11266
11267 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11268 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11269
b6680a0e
GM
11270 * fns.c (sweep_weak_table): New function.
11271 (sweep_weak_hash_tables): Use it. Keep on marking until there
11272 is no more change.
11273
994c5afe
GM
112742000-01-30 Gerd Moellmann <gerd@gnu.org>
11275
11276 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11277 that XTread_socket does not crash by trying to call XNoOp on a
11278 closed display.
427ec082 11279
f00276e3
JR
112802000-01-30 Jason Rumney <jasonr@gnu.org>
11281
11282 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11283 Change selected_frame to SELECTED_FRAME ().
11284 (w32_console_mouse_position): Remove #ifndef MULE from around
11285 `insist' parameter.
11286
11287 * makefile.nt: Remove dosfns.obj.
11288
11289 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11290
11291 * w32fns.c (w32_defined_color): Check for valid frame before
11292 applying gamma correction. Eliminate dependency on frame elsewhere.
11293 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11294 (w32_to_x_font): Use resx and resy not height_in and width_in.
11295 (x_to_w32_font): Doc fix.
11296 (xlfd_strip_height): New function to strip and return font height.
11297 (w32_font_match): Compare height separately from rest of xlfd
11298 spec, using xlfd_strip_height.
11299
11300 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11301 width_in. Use w32_defined_color in place of defined_color.
11302
11303 * w32faces.c: Merge more of DOS and X specifics in preparation for
11304 merge with xfaces.c.
11305 (defined_color): Remove FIXME comment.
11306 (tty_color_name): Provide w32-specific function.
11307 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11308
11309 * w32console.c (turn_on_face, turn_off_face): Removed.
11310 (w32_face_attributes): New function.
11311 (Global_variables): Reduce scope where possible.
11312 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11313 fill attribute.
11314 (hl_mode): Don't modify text attributes.
11315 (write_glyphs): Don't do anything if len <= 0. Use
11316 w32_face_attributes to get attributes for drawing. Write
11317 terminating codes using char_attr_normal.
11318 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11319 (update_begin, update_end): Likewise.
11320 (vga_stdcolor_name): New function.
11321 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11322 (Fset_screen_color): Remove char_attr_reverse.
11323
b08e8bb2
GM
113242000-01-29 Gerd Moellmann <gerd@gnu.org>
11325
11326 * xfns.c (xic_set_preeditarea): Take window parameter and
11327 window-relative pixel-positions.
11328
11329 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11330 is its frame's selected window.
11331 (xim_instantiate_callback): Likewise.
11332
11333 * xfns.c (x_create_im): Removed.
11334 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11335 (supported_xim_styles): Renamed from supported_styles.
11336 (best_xim_style): Renamed from best_style.
11337 (create_frame_xic): Renamed from xic_create_frame.
11338 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11339
b08e8bb2
GM
113402000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11341
11342 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11343 our frames, call XFilterEvent with 2nd parameter `None'.
11344 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11345 returning XBufferOverflow.
52283633 11346 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11347 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11348 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11349 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11350 (xim_initialize, xim_close)
11351 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11352 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11353 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11354 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11355
11356 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11357 and `xim_styles'.
11358 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11359 `xic_style' and `xic_xfs'.
11360 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11361 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11362 (FRAME_XIM): Removed.
11363
11364 * xfns.c (supported_styles): New variable.
11365 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11366 (xic_create_xfontset, best_style, xic_create_frame)
11367 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11368 (xic_set_xfontset): New functions.
11369
142e109c
DL
113702000-01-28 Dave Love <fx@gnu.org>
11371
11372 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11373
11374 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11375
b02786f9
GM
113762000-01-28 Gerd Moellmann <gerd@gnu.org>
11377
d060bc9f
GM
11378 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11379 for *scratch* if it already existed.
11380
b02786f9
GM
11381 * emacs.c (USAGE): New macro.
11382 (main): Use it to display usage information.
11383
2c52d7e4
EZ
113842000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11385
11386 Support for the menu-help feature:
11387
52283633 11388 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11389
11390 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11391 part of the line to the termscript file.
11392 (IT_clear_to_end): Clear the entire line, not just its beginning.
11393 (menu_help_message, prev_menu_help_message): New variables.
11394 (IT_menu_make_room): Make room for the help_text member.
11395 (IT_menu_display): New argument disp_help; all callers changed.
11396 If disp_help is non-zero, store the help text of the active menu
11397 item in menu_help_message.
11398 (XMenuAddPane): Initialize the help_text member to NULL.
11399 (XMenuAddSelection): New argument help_text. Store it in the
11400 XMenu structure.
11401 (XMenuActivate): New argument help_callback. If the value of
11402 menu_help_message has changed since the last time, display the
11403 menu help message text while waiting for the mouse to move. Clear
11404 the echo area before exiting.
11405 (XMenuDestroy): Free the help_text member.
11406
ffe0bcd1
GM
114072000-01-27 Gerd Moellmann <gerd@gnu.org>
11408
11409 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11410 XMenuAddSelection. Pass help callback to XMenuActivate.
11411 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11412
50dbd23f
EZ
114132000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11414
11415 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11416 and EMACS_SET_USECS.
11417
f5941bf8
GM
114182000-01-26 Dave Love <fx@gnu.org>
11419
6c67ddee
DL
11420 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11421
f5941bf8
GM
11422 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11423 an error may be signalled.
11424
9e49c990
GM
114252000-01-26 Gerd Moellmann <gerd@gnu.org>
11426
fc3cb460
GM
11427 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11428 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11429
9e49c990
GM
11430 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11431
d0c037d8
GM
114322000-01-25 Gerd Moellmann <gerd@gnu.org>
11433
11434 * charset.c (Fstring): If there is a multibyte char among
11435 the args, always return a multibyte string.
11436
e12489f9
GM
114372000-01-25 Gerd Moellmann <gerd@gnu.org>
11438
11439 * sysdep.c (sys_select): Turn atimers off and on instead of
11440 recording and restoring old alarm handler
11441
11442 * process.c (toplevel): Include atimer.h.
11443 (create_process_1): Rewritten.
11444 (create_process): Use atimers instead of alarm.
11445 (wait_reading_process_input) [hpux]: Turn atimers off instead
11446 of turning off SIGALRM.
11447 (wait_reading_process_input): Turn off atimers instead off
11448 calling stop_polling.
11449
11450 * emacs.c (main): Call init_atimer.
11451
11452 * keyboard.c (toplevel): Include systime.h and atimer.h.
11453 (polling_for_input): Removed because unused.
11454 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11455 (poll_timer): New variable.
11456 (poll_for_input, poll_for_input_1): New functions.
11457 (start_polling, stop_polling): Rewritten.
11458
11459 * keyboard.h (polling_for_input): Removed.
427ec082 11460
e12489f9
GM
11461 * atimer.h, atimer.c: New files.
11462
11463 * Makefile.in (obj): Add atimer.o.
11464 (atimer.o): New target.
11465
11466 * blockinput.h (pending_atimers): Add extern declaration.
11467 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11468
11469 * lisp.h (popup_activated_flag): Add extern declaration.
11470
11471 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11472 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11473 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11474
11475 * xterm.c (toplevel): Include atimer.h.
11476 (toolkit_scroll_bar_interaction): New variable.
11477 (Fxt_process_timeouts): Removed.
11478 (x_process_timeouts): New function.
11479 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11480 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11481 (x_make_frame_visible): Call poll_for_input_1 instead of
11482 input_poll_signal. Don't call alarm.
11483 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11484
1e5279b9
DL
114852000-01-24 Dave Love <fx@gnu.org>
11486
6c67ddee 11487 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11488 Don't use -cckr -- apparently not now necessary.
11489
edf6aeb8
EZ
114902000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11491
11492 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11493 screen boundary.
11494
9badad41
JR
114952000-01-23 Jason Rumney <jasonr@gnu.org>
11496
11497 * w32fns.c (w32_defined_color): Apply gamma correction before
11498 trying to map to the palette.
11499 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11500 to w32_clear_rect.
11501
11502 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11503 here. Callers changed to always pass real device context.
11504 (w32_draw_bitmap): Likewise.
11505 (w32_get_glyph_overhangs): Likewise.
52283633 11506 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11507 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11508 pfnSetScrollInfo and SetScrollRange.
11509 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11510 back into MULE characters after decoding them.
11511 (x_get_glyph_face_and_encoding): Likewise.
11512 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11513 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11514 (x_produce_glyphs): Calculate per char metrics for a character
11515 that we know exists in default font when font_not_found_p is true.
11516
63bd786b
JR
115172000-01-22 Jason Rumney <jasonr@gnu.org>
11518
11519 * makefile.nt (intervals.obj, composite.obj): New modules.
11520 (composite.h): Added as dependency where appropriate.
11521
11522 * w32gui.h (XGCValue): New struct for emulating X GCs.
11523
11524 * w32term.h (XCharStruct): New struct for emulating X.
11525
11526 * w32console.c (turn_on_face, turn_off_face): New functions.
11527 (change_line_highlight): New prototype for new redisplay.
11528 (write_glyphs): Support multibyte text. Support faces.
11529
52283633 11530 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11531
11532 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11533 throughout. struct frame * in place of FRAME_PTR.
11534 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11535 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11536 (w32_get_arg): Renamed from x_get_arg.
11537 (Fx_file_dialog): New function.
11538 (w32_list_fonts): Check cache before asking system.
11539 (Vw32_enable_synthesized_fonts): New variable.
11540 (Vw32_enable_italics): Obsolete, removed.
11541
11542 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11543 Use SELECTED_FRAME macro.
11544
11545 * w32menu.c: Add skeleton support for help strings on menus.
11546 (add_menu_item): Native checkbox and radio support added, but not
11547 yet enabled due to bugs.
11548 (push_menu_item): Add parameters type, selection and help.
11549 Callers updated.
11550 Formatting changes to reduce unnecessary diffs with xmenu.c.
11551
11552 * w32select.c (Fw32_set_clipboard_data): Update call to
11553 find_charset_in_str.
11554
11555 * w32term.c: Complete rewrite for new redisplay based on new
11556 xterm.c with necessary sections merged back in from old w32term.c.
11557
6ffd3cf7 115582000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11559
11560 * data.c (set_internal): Further fix in same criterion.
11561
6ffd3cf7 115622000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11563
11564 * data.c (set_internal): Fix the criteria for whether
11565 to swap out the old cached binding.
11566
60af03f1
DL
115672000-01-19 Dave Love <fx@gnu.org>
11568
11569 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11570
f9be074f
KH
115712000-01-18 Kenichi Handa <handa@etl.go.jp>
11572
11573 * regex.c (re_compile_fastmap): While checking a range table for
11574 `charset', skip flag bits for a character class correctly.
11575
52b8dbf9
GM
115762000-01-17 Gerd Moellmann <gerd@gnu.org>
11577
d36100c9
GM
11578 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11579
52283633 11580 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11581
11582 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11583 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11584
11585 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11586 MENU_ITEMS_ITEM_.*.
11587 (MENU_ITEMS_ITEM_HELP): New enumerator.
11588 (push_menu_item): Add parameter HELP. Record help in menu_items.
11589 (single_menu_item, single_submenu, list_of_items): Call
11590 push_menu_item with new parameter.
11591 (single_submenu): Set help string in widget value.
11592 (menu_highlight_callback): New function.
11593 (set_frame_menubar): Call lw_create_widget with new
11594 parameter list.
11595 (xmenu_show, xdialog_show): Ditto.
11596
3139018f
GM
115972000-01-13 Gerd Moellmann <gerd@gnu.org>
11598
11599 * sound.c (Fplay_sound): Improve doc string.
11600
83c8f461
RS
116012000-01-11 Richard M. Stallman <rms@gnu.org>
11602
11603 * lisp.h (set_internal): Enter the new arg.
11604
11605 * eval.c (specbind): Record buffer-local variables specially,
11606 indicating which buffer's binding was saved.
11607 (unbind_to): Restore buffer-local variables specially
11608 in the proper buffer.
11609
11610 * data.c (set_internal): New arg BUF.
427ec082 11611
83c8f461
RS
11612 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11613 * data.c (Fset): Pass new arg to set_internal.
11614 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11615
1fab1775
GM
116162000-01-11 Gerd Moellmann <gerd@gnu.org>
11617
52283633 11618 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11619
83c8f461 116202000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11621
11622 * minibuf.c (Ftry_completion): Doc fix.
11623
7a85e4df
GM
116242000-01-11 Gerd Moellmann <gerd@gnu.org>
11625
11626 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11627 vector, too.
11628
a970dae4
AS
116292000-01-11 Andreas Schwab <schwab@suse.de>
11630
11631 * coding.c (code_convert_region): Initialize total_skip.
11632
c65d14ee
DL
116332000-01-08 Dave Love <fx@gnu.org>
11634
11635 * eval.c (Fuser_variable_p): Check customizability too.
11636
834938d2
GM
116372000-01-07 Gerd Moellmann <gerd@gnu.org>
11638
11639 * minibuf.c (Fcompleting_read): Doc fix.
11640
e0303cd6
GM
116412000-01-05 Gerd Moellmann <gerd@gnu.org>
11642
8a26744b
GM
11643 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11644 -L /usr/local/lib.
11645
e0303cd6
GM
11646 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11647 Check that input style is supported before trying to create an
11648 IC for it.
11649 (x_window): Call x_create_im.
427ec082 11650
2e471eb5
GM
116512000-01-04 Gerd Moellmann <gerd@gnu.org>
11652
560a7bd2
GM
11653 * xfns.c (current_gif_memory_src): New variable.
11654 (gif_load): Record the address of the current memory source
11655 in current_gif_memory_src.
11656 (gif_read_from_memory): Use current_gif_memory_src.
11657
f9ee84a3
GM
11658 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11659 macros statement form.
11660
d1299cde
GM
11661 * sound.c (struct sound): Renamed from struct sound_file.
11662 (struct sound): Add members `data' and `header_size'.
11663 (enum sound_attr): Add SOUND_DATA.
11664 (current_sound, current_sound_device): Variables renamed from
11665 sound_file and sound_device.
11666 (parse_sound): Parse :data.
11667 (parse_sound): Handle sound data in strings.
11668 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11669 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11670 needed header size.
11671 (wav_play, au_play): Play sounds from string data.
11672
2e471eb5
GM
11673 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11674
11675 * lisp.h: Add prototype for allocate_string_data.
11676
52283633 11677 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11678
11679 * alloc.c (mark_buffer): Remove code in #if 0.
11680 (gc_sweep): Ditto.
11681 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11682 (strings_consed): New variable.
11683 (allocate_string): Set it.
11684 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11685 (Fmemory_use_counts): Return strings_consed. Use Flist.
11686
11687 * alloc.c: General cleanup in comments etc. Remove conditional
11688 compilation for `standalone'.
11689
11690 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11691
11692 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11693 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11694 (DONT_COPY_FLAG): Removed.
11695 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11696 (struct sdata, struct sblock): New
11697 (struct string_block): Rewritten.
11698 (STRINGS_IN_STRING_BLOCK): New macro.
11699 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11700 (large_sblocks, string_blocks, string_free_list): New variables.
11701 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11702 (init_strings): Rewritten.
11703 (allocate_string, allocate_string_data, compact_small_strings)
11704 (free_large_strings, sweep_strings): New functions.
11705 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11706 (struct string_block_head, current_string_block)
11707 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11708 (STRING_PAD): Removed.
11709 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11710 (Fgarbage_collect): Don't set mark bit in large strings.
11711 (mark_object): Mark strings differently. Mark symbol names
11712 differently.
11713 (survives_gc_p): Test marked strings differently.
427ec082 11714 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11715 symbol names.
11716 (compact_strings): Removed.
11717
42608ba8
EZ
117182000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11719
11720 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11721 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11722
e0a09e1a
KH
117232000-01-04 Kenichi Handa <handa@etl.go.jp>
11724
dd9f0750 11725 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11726 in a non-empty buffer.
dd9f0750 11727
3c0f3b15 11728 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11729
44cd3ae5
GM
117302000-01-03 Gerd Moellmann <gerd@gnu.org>
11731
11732 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11733 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11734
11735 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11736
c182a70f
EZ
117372000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11738
11739 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11740 need to test for MSDOS frames.
11741
24480d5b
EZ
117422000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11743
11744 * dosfns.c (unspecified_colors): Remove.
11745 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11746 unspecified_bg.
11747 (msdos_stdcolor_name): Return strings for unspecified fore- and
11748 back-ground colors.
11749
11750 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11751 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11752 (tty_color_name): Return Lisp strings for unspecified fore- and
11753 back-ground colors.
11754 (Finternal_set_lisp_face_attribute): Remove the special treatment
11755 for Qunspecified_{f,b}g.
52283633 11756 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11757
047f434a
GM
117582000-01-03 Gerd Moellmann <gerd@gnu.org>
11759
11760 * xdisp.c (reseat_at_next_visible_line_start): Position before
11761 newline only if ending up on a newline.
11762 (next_element_from_ellipsis): Return success. Handle case of
52283633 11763 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11764 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11765 returns 0.
11766
d684c676
EZ
117672000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11768
11769 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11770 (Fcolor_supported_p): Renamed from face-color-supported-p.
11771
5fe1d139
EZ
117722000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11773
11774 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11775 list of colors renamed to tty-defined-color-alist.
11776 (tty_color_name): Pass the frame to tty-color-by-index.
11777 (realize_tty_face): tty-color-alist is now a function which
11778 accepts the frame as argument.
11779
52283633 11780 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11781
816be8b8
EZ
117822000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11783
11784 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11785 encode_terminal_code.
11786
b635321e
EZ
117872000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11788
11789 * dispnew.c (mode_line_string): Support termcap frames as well.
11790
9b784e96
GM
117912000-01-01 Gerd Moellmann <gerd@gnu.org>
11792
27189709
GM
11793 * syntax.c (Fforward_word): Undo previous change.
11794
11795 * editfns.c (Fconstrain_to_field): Don't constrain if
11796 inhibit-field-text-motion is non-nil.
11797 (Fline_beginning_position): Undo previous change.
11798 (Fline_end_position): Ditto.
11799
11800 * syntax.c (Fforward_word): Notice field boundaries only if
11801 inhibit-field-text-motion is nil.
11802
11803 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11804
11805 * editfns.c (Vinhibit_field_text_motion): New variable.
11806 (inhibit-field-text-motion): New DEFVAR_LISP.
11807 (Fline_beginning_position, Fline_end_position): Notice field
11808 boundaries only if inhibit-field-text-motion is nil.
11809
45158a91
GM
11810 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11811 All calls adjusted.
11812 (x_build_heuristic_mask): Likewise.
11813 (xbm_load_image_from_file): Change error output.
11814 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11815 (gif_load, gs_load, x_kill_gs_process): Ditto.
11816
9b784e96
GM
11817 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11818 color indices when accessing raster pixels.
63cec32f
GM
11819 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11820 one of :file or :data.
11821 (enum pbm_keyword_index): Add PBM_DATA.
11822 (pbm_format): Add :data.
11823 (pbm_image_p): Allow either :file or :data.
11824 (pbm_read_file): New function.
11825 (pbm_scan_number): Rewritten to read from string.
11826 (pbm_load): Support :data.
9b784e96 11827
2cb085db 11828See ChangeLog.8 for earlier changes.
6922b018
KH
11829
11830;; Local Variables:
49b3bd82 11831;; coding: iso-2022-7bit
6922b018 11832;; End: