(x-colors): Add colors from the recent rgb.txt file.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
b5cb1ada
GM
12001-06-27 Gerd Moellmann <gerd@gnu.org>
2
a5d3ec3f
GM
3 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
4 SIGIO around the code where Xt might wait for a
5 ConfigureNotifyEvent.
6 (toplevel): Include <signal.h> and syssignal.h.
7
b5cb1ada
GM
8 * sound.c (vox_configure, vox_close): Turn off atimers
9 around ioctls.
10
d9bad487
GM
112001-06-26 Gerd Moellmann <gerd@gnu.org>
12
fdbb67fe
GM
13 * keyboard.c (read_char) <non_reread>: Record the previous idle
14 start time before calling timer_stop_idle.
15 (read_char) <reread_first>: After processing a help-echo event,
16 restore the previous idle start time.
17
d9bad487
GM
18 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
19 the start of invisible text.
20 (setup_for_ellipsis): New function.
21 (next_overlay_string): After all overlay strings have been
22 processed, display an ellipsis if necessary.
23 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
24 (push_it): Initialize display_ellipsis_p on the iterator's stack.
25
26 * dispextern.h (struct iterator_stack_entry): Add member
27 display_ellipsis_p.
28
2b9c25e0
GM
292001-06-25 Gerd Moellmann <gerd@gnu.org>
30
80de57df
GM
31 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
32 on the value of the wait-for-wm frame parameter.
33
34 * xterm.h (struct x_output): Add member wait_for_wm.
35
36 * xfns.c (Qwait_for_wm): New variable.
37 (x_frame_parms): Add entry for `wait-for-wm".
38 (x_set_wait_for_wm): New function.
39 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
40 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
41
2b9c25e0
GM
42 * xdisp.c (try_window_id) <all changes below window end>: Don't
43 take this shortcut if ZV is visible in the window.
44 (try_window_id): When checking for window start being in changed
45 text, don't check that the buffer's size has changed.
46
f772775c
RS
472001-06-23 Richard M. Stallman <rms@gnu.org>
48
49 * minibuf.c (Fcompleting_read): Doc fix.
50
fa9090b8
GM
512001-06-19 Gerd Moellmann <gerd@gnu.org>
52
53 * composite.c (Ffind_composition_internal): Accept ZV
54 and a string's end position as POS.
55
f6f1beba
GM
562001-06-18 Gerd Moellmann <gerd@gnu.org>
57
58 * composite.c (Ffind_composition_internal): Check POS
59 for validity.
60
0ae83348
EZ
612001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
62
63 * editfns.c (Fmessage_box): If the frame is not under a window
64 system, output the message in the echo area.
65
e4cdc335
RS
662001-06-14 Richard M. Stallman <rms@gnu.org>
67
68 * xdisp.c (try_window_id): When EOB is visible, don't treat
69 insertion at EOB as if it were "off the bottom of the screen."
70
a55a5f3c
AI
712001-06-11 Andrew Innes <andrewi@gnu.org>
72
73 * w32proc.c (create_child): Add new parameter is_gui_app.
74 (w32_executable_type): Add new parameter is_gui_app.
75 (sys_spawnve): Use it.
76 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
77 SIGQUIT. This matches better how the signals are interpreted by
78 MSVC compiled programs.
79 (syms_of_ntproc): Update docstring.
80
1b85dc1c
SM
812001-06-02 Stefan Monnier <monnier@cs.yale.edu>
82
83 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
84 well otherwise note_mouse_highlight might optimize away highlighting
85 if we pass over that same overlay again.
86
b75f8eab
EZ
872001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
88
89 * lread.c (Fload): Document that the argument is run via
90 substitute-in-file-name.
91
94843cc1
GM
922001-05-31 Gerd Moellmann <gerd@gnu.org>
93
b14659e6
GM
94 * Makefile.in (bootstrap-doc): New target.
95 (bootstrap-emacs): Depend on it.
96
0894672f
GM
97 * fileio.c (Fdo_auto_save): Don't try to create the directory of
98 auto-save-list-file-name when shutting down Emacs, because
99 creating the directory might signal an error, and leaves
100 Emacs in a strange state.
101
94843cc1
GM
102 * term.c: (tty_cursor_hidden): New variable.
103 (update_begin): Don't call tty_hide_cursor. Clean up.
104 (update_end, set_terminal_window, set_scroll_region): Clean up.
105 (ring_bell, reset_terminal_modes): Clean up.
106 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
107 on tty_cursor_hidden.
108 (write_glyphs): Call tty_hide_cursor.
109
db3a49a6
SM
1102001-05-30 Stefan Monnier <monnier@cs.yale.edu>
111
112 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
113
8bd189fb
GM
1142001-05-30 Gerd Moellmann <gerd@gnu.org>
115
6f1be3b9
GM
116 * xfns.c (enum image_value_type): New enumerator
117 IMAGE_STRING_OR_NIL_VALUE.
118 (parse_image_spec): Handle it.
119 (xbm_format, pbm_format): Use it for :foreground and :background.
120 (xbm_load, pbm_load): Check for nil color names.
121
8bd189fb
GM
122 * xterm.c (note_mouse_highlight): If an overlapping overlay
123 exists, but we find that we highlight the same overlay as before,
124 don't do the highlighting again.
125
7bdba03c
GM
1262001-05-29 Gerd Moellmann <gerd@gnu.org>
127
4c329aa8
GM
128 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
129 Protect unibyte strings created by replacing their multibyte
130 equivalents in menu_items.
131
e15e2828
GM
132 * keymap.c (Fsingle_key_description): NUL-terminate the string
133 buffer before calling build_string.
134
7bdba03c
GM
135 * callproc.c (Fcall_process): Deal with decode_coding returning
136 CODING_FINISH_INCONSISTENT_EOL.
137
89c8dc6c
GM
1382001-05-28 Gerd Moellmann <gerd@gnu.org>
139
db3a49a6 140 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
141 an item's name with its key description in case the description
142 is a multibyte string.
143
144 * keymap.c (Fsingle_key_description): Create a multibyte string
145 only if necessary.
146
eb04d6cd
GM
147 * macros.c (Fstart_kbd_macro): Doc fix.
148
8bd6307f
GM
149 * xterm.c (cursor_in_mouse_face_p): New function.
150 (x_draw_stretch_glyph_string): Use it to choose a different GC
151 when drawing a cursor within highlighted text.
152
e26c4089
GM
153 * editfns.c (char_property_eq): Put in #if 0.
154
155 * indent.c (string_display_width): Put in #if 0.
156
157 * lread.c (Fload): Remove unused label.
158
89c8dc6c
GM
159 * termcap.c (speeds): Put in #if 0.
160
9a1211f2
GM
1612001-05-18 Gerd Moellmann <gerd@gnu.org>
162
29148a3f
GM
163 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
164
9a1211f2
GM
165 * xfaces.c (xlfd_point_size): Don't divide pixel size from
166 transformation matrix by 10.
167
09393d07
GM
1682001-05-16 Gerd Moellmann <gerd@gnu.org>
169
170 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
171 only if it's equal to the former foreground pixel color.
db3a49a6 172 (x_set_foreground_color, x_set_background_color)
09393d07
GM
173 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
174
460e6bae
GM
1752001-05-16 Dave Love <fx@gnu.org>
176
177 * insdel.c (signal_before_change, signal_after_change): Consider a
178 local change hook which changes the buffer.
99c78ce8
GM
179
180 * process.c (read_process_output): Don't call signal_after_change
181 and update_compositions after insert_from_string_before_markers.
182
dbcf3c03
GM
1832001-05-16 Gerd Moellmann <gerd@gnu.org>
184
a90b3d3c
GM
185 * xfaces.c (split_font_name): Use the right field when
186 checking for `[...]' syntax.
187
1b7818b4
GM
188 * buffer.c (copy_overlays): New function.
189 (clone_per_buffer_values): Use it.
190
191 * buffer.h (OVERLAY_PLIST): New macro.
192
9bae8781
GM
193 * keymap.c (Fsingle_key_description): Replace a build_string with
194 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
195
dbcf3c03
GM
196 * fontset.c (Ffontset_info): Check that face is non-null
197 before accessing its fields.
198
8a1ae4dd
GM
1992001-05-15 Gerd Moellmann <gerd@gnu.org>
200
18a0a39e
GM
201 * keyboard.c (read_key_sequence): Prevent generating a fake
202 prefix key twice.
203
e335b66a
GM
204 * xfaces.c (split_font_name): Handle `[...]' for the right
205 font name fields.
206
8a1ae4dd
GM
207 * ccl.c (ccl_driver): Don't copy remaining bytes in case
208 of CCL_STAT_INVALID_CMD.
209
3cf80731
SM
2102001-05-14 Stefan Monnier <monnier@cs.yale.edu>
211
33568849
SM
212 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
213 in <var> has no default value yet.
214
3cf80731
SM
215 * xfaces.c (try_alternative_families): First try the FAMILY.
216 And if nothing is found in the end, try again with scalable fonts.
217 (try_font_list): Let try_alternative_families do a bit more of
218 the work. Only use FAMILY if it is not nil.
219 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
220
933b0249
GM
2212001-05-14 Gerd Moellmann <gerd@gnu.org>
222
58e5af83
GM
223 * xterm.c (note_mouse_highlight): Avoid changing the mouse
224 pointer shape when show_mouse_face has already done it.
33568849 225
58e5af83 226 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
227 full-width rows.
228
7b16a6bf
GM
229 * xfaces.c (split_font_name): Make sure to leave the loop
230 with the right value of `i'.
3cf80731 231
933b0249
GM
232 * xfaces.c (split_font_name): Handle matrix transformations
233 in the pixel and point size fields of XLFD font names.
234 (xlfd_point_size): Likewise.
235
dddcbf00
EZ
2362001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
237
3cf80731 238 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
239 (x_to_w32_font): Add prototype.
240
7689ef0b
EZ
241 * regex.c (malloc, realloc, free) [emacs]: Undefine before
242 redefining, to avoid compiler warnings.
243
e7c15bba
EZ
244 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
245
dddcbf00
EZ
246 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
247 (w32_get_bdf_glyph): Cast between unsigned char and char when
248 passing arguments to subroutines, to shut up compiler warnings.
249 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
250 GET_HEX_VAL.
251
252 * xfaces.c: Include keyboard.h before frame.h, not after it.
253
254 * widget.c: Include keyboard.h before frame.h.
255
256 * w32term.h (struct image, struct face): Forward declaration, to
257 avoid compiler warnings.
258
7bd2d083
GM
2592001-05-11 Gerd Moellmann <gerd@gnu.org>
260
47e72862
GM
261 * keyboard.c (read_key_sequence): Don't modify events when
262 generating fake prefix keys (mode-line, scroll-bar, ...) since
263 this prevents proper processing of such events when pushed back
264 into unread-command-events.
265
dd5f324b
GM
266 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
267 actually redrawn. Make the function static.
268 (note_mouse_highlight): Fix a case where the mouse cursor
269 was changed back to the text cursor.
270
271 * xterm.h (clear_mouse_face): Remove prototype.
272
d88a79d4
GM
273 * xdisp.c (try_window_id): Fix the fix and set the right
274 window_end_vpos.
275
276 * xdisp.c (try_window_id): Fix computation of window end in the
277 case that lines were deleted at the end of the window. Add some
278 more debug_method_adds.
0416532f 279
7bd2d083
GM
280 * xfaces.c (try_alternative_families): New function.
281 (try_font_list): Use it. If ATTRS specifies a family, check
282 fonts from that family first.
283 (choose_face_font): Remove code setting the family part of
284 the pattern to nil.
285
23fca891
GM
2862001-05-10 Gerd Moellmann <gerd@gnu.org>
287
ff9aa2ca
GM
288 * xdisp.c (try_window_id): Fix case of all changes before
289 the window start.
7b2654b5 290
23fca891
GM
291 * xdisp.c (try_window_id): Add some xasserts.
292
e9726794
GM
2932001-05-09 Gerd Moellmann <gerd@gnu.org>
294
295 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
296
9e53a675
GM
2972001-05-09 Dave Love <fx@gnu.org>
298
299 * xdisp.c (GIVE_UP): Fix for K&R C.
300
0d487c52
GM
3012001-05-09 Gerd Moellmann <gerd@gnu.org>
302
fe88d421
GM
303 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
304
0d487c52
GM
305 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
306 back to the text cursor shape without need.
307
1e9fc92e
GM
3082001-05-07 Gerd Moellmann <gerd@gnu.org>
309
a2a6232e
GM
310 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
311
312 * dispextern.h (inverse_video): Declare extern.
313
1e9fc92e
GM
314 * keyboard.c (delete_kboard): Handle the case that selected_frame
315 has been deleted in the course of x_connection_closed.
316
12949a7f
EZ
3172001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
318
7b2654b5
SM
319 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
320 Fix the change from 2001-04-30.
12949a7f 321
2fa2f461
GM
3222001-05-03 Gerd Moellmann <gerd@gnu.org>
323
a779d213
GM
324 * xfns.c (file_dialog_unmap_cb): New function.
325 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
326 where a dialog is closed via the window manager.
327
7b2654b5 328 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
329 the window start or all below the window end mostly rewritten.
330 (redisplay_window): Move the tests if try_window_id is
331 applicable to try_window_id.
332 (GIVE_UP): New macro.
333
3356df63
GM
3342001-05-02 Gerd Moellmann <gerd@gnu.org>
335
a39202f6 336 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
337 currently being updated, mark the frame garbaged.
338 Fix computation of rows intersecting the exposed rectangle.
a39202f6 339 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 340
3356df63
GM
341 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
342 again if it has already been drawn.
343
a9d2fd1d
SM
3442001-05-01 Stefan Monnier <monnier@cs.yale.edu>
345
346 * syntax.c (update_syntax_table): Check that oldi has the same
347 properties as old_prop before deciding not to invalidate.
348
c95fc5f1
GM
3492001-04-30 Gerd Moellmann <gerd@gnu.org>
350
a9793e45
GM
351 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
352 read-only text that is so because of text properties.
353
c95fc5f1 354 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 355 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
356 windows that are components of a Lucid menu bar.
357
5a5d9185
GM
3582001-04-27 Gerd Moellmann <gerd@gnu.org>
359
360 * term.c (turn_on_face): Fix reverse video handling on terminals
361 that don't support colors.
362
ba973f7a
GM
3632001-04-26 Gerd Moellmann <gerd@gnu.org>
364
365 * editfns.c (save_excursion_restore): Don't use XBUFFER on
366 a non-buffer.
367
8c56a983
GM
3682001-04-25 Gerd Moellmann <gerd@gnu.org>
369
a728644c
GM
370 * term.c (toggle_highlight): New function.
371 (turn_on_face): Change handling of reverse video.
372
7b2654b5
SM
373 * process.c (wait_reading_process_input):
374 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 375
bfd8410f
GM
376 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
377 of the number of overlays to check.
378
be2488ca
GM
379 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
380
8c56a983
GM
381 * xdisp.c (try_window_id): Fix a case where window_end_pos
382 and window_end_bytepos were not adjusted.
383
522d42f7
GM
3842001-04-23 Gerd Moellmann <gerd@gnu.org>
385
386 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
387 zero instead of -1.
388
78c1afb6
EZ
3892001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
390
a9d2fd1d
SM
391 * process.c (wait_reading_process_input) [!subprocesses]:
392 Don't reference waiting_for_user_input_p, it's not defined in the
393 branch without async subprocesses support.
78c1afb6 394
a2fab450
GM
3952001-04-19 Gerd Moellmann <gerd@gnu.org>
396
a122a38e
GM
397 * keyboard.c (delete_kboard): Prevent a dangling reference
398 from current_kboard to KB, which is freed.
399
a9d2fd1d
SM
400 * process.c (wait_reading_process_input):
401 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
402 read_key_sequence aware of buffer changes from under it.
403
0f8d6dc7
GM
4042001-04-18 Gerd Moellmann <gerd@gnu.org>
405
eeffb293
GM
406 * xfaces.c (Qscalable_fonts_allowed): New variable.
407 (realizing_basic_faces_p): Removed.
2fa2f461
GM
408 (x_face_list_fonts): Special handling for realizing_basic_faces_p
409 removed.
eeffb293 410 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
411 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
412 for scalable-fonts-allowed to t.
eeffb293 413
0f8d6dc7
GM
414 * fileio.c (Finsert_file_contents): If the file size returned from
415 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 416 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 417
eec2d1de
EZ
4182001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
419
420 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
421 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
422 (__memalign_hook): Make the two prototypes consistent.
423
f4f480bd
GM
4242001-04-17 Gerd Moellmann <gerd@gnu.org>
425
426 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
427 matrix of mini-windows.
428
52283633
SM
4292001-04-12 Stefan Monnier <monnier@cs.yale.edu>
430
431 * intervals.c (find_interval): Don't rebalance during signal handling.
432
ec2423c9
GM
4332001-04-11 Gerd Moellmann <gerd@gnu.org>
434
30cb0001 435 * fns.c: Include blockinput.h.
52283633 436
ec2423c9
GM
437 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
438
719d83ad
GM
4392001-04-10 Gerd Moellmann <gerd@gnu.org>
440
60f8d735
GM
441 * fns.c (Fcompare_strings): Fix return values.
442
afffeb57
GM
443 * window.c (window_scroll): Change the meaning of N to mean
444 N screen-fulls or N lines.
445 (window_scroll_pixel_based, window_scroll_line_based)
446 (scroll_command, Fscroll_other_window): Change accordingly.
447
52283633
SM
448 * window.c (window_scroll_pixel_based, Frecenter):
449 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
450 height of the window.
451
452 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
453 instead of using it.last_visible_y for the height of the window.
52283633 454
719d83ad 455 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 456 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
457
458 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
459 able to write to hidden and system files. From Dan Holmsand
460 <dan@eyebee.com>.
719d83ad 461
8ddf3ee1
GM
462 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
463 Holmsand <dan@eyebee.com>.
719d83ad 464
522ed7fb
GM
4652001-04-09 Gerd Moellmann <gerd@gnu.org>
466
9170e5d4
GM
467 * fns.c (Fplist_get, Fplist_put): Add QUITs.
468
522ed7fb
GM
469 * window.c (window_internal_height): Return 1 less if the
470 window has a header line.
471
472 * xdisp.c (try_window_id): When scrolling on a terminal, take
473 the change of window_internal_height into account.
474
ceeb3d7d
EZ
4752001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
476
477 * gmalloc.c (align): If the argument SIZE would overflow
478 __malloc_ptrdiff_t, fail right away.
479
63685b9d
GM
4802001-04-06 Gerd Moellmann <gerd@gnu.org>
481
482 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
483 Make sure the tooltip is completely visible.
484 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
485
486 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
487
488 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
489
3ffb33bb
DL
4902001-04-06 Dave Love <fx@gnu.org>
491
52283633
SM
492 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
493 Fix test of `from'.
3ffb33bb 494
869fb12c
GM
4952001-04-06 Gerd Moellmann <gerd@gnu.org>
496
52283633 497 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 498
869fb12c
GM
499 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
500
441bf856
GM
5012001-04-05 Gerd Moellmann <gerd@gnu.org>
502
4d664b04
GM
503 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
504
52283633 505 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 506
30ca89f5
GM
507 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
508 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
509
510 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
511 shell widget's position only if it is non-null.
512
52283633
SM
513 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
514 Set f->output_data.x->widget to null after destroying it.
30ca89f5 515
81a81c0f
GM
516 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
517 FILENAME to bring it in synch with the documentation.
518
441bf856
GM
519 * xfaces.c (realizing_basic_faces_p): Renamed from
520 realize_default_face_p.
521 (realize_basic_faces): Set/clear realizing_basic_faces_p.
522 (realize_default_face): Don't set the flag.
523
702a1e8e
GM
5242001-04-04 Gerd Moellmann <gerd@gnu.org>
525
1013f4e3
GM
526 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
527
52283633
SM
528 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
529
1013f4e3
GM
530 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
531 the buffer that was used for echoing.
532
702a1e8e
GM
533 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
534 (first_font_matching): Removed unused function.
535 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
536 (may_use_scalable_font_p): Remove parameter FONT; rename
537 parameter NAME to FONT.
538 (x_face_list_fonts): Fix missing bounds check.
539 (realizing_default_face_p): New variable.
540 (realize_default_face): Set and clear that flag.
541 (x_face_list_fonts): When called during the realization of the
542 default face, and no matching fonts are found when ignoring
543 scalable fonts and fonts matching a regexp from
544 face-ignored-fonts, try without ignoring fonts.
545
f9dbcda4
GM
5462001-04-03 Gerd Moellmann <gerd@gnu.org>
547
ad18ffb1
GM
548 * xfns.c (postprocess_image): New function.
549 (lookup_image): Call it for all image types except PostScript.
550 (x_kill_gs_process): Call postprocess_image.
551
f9dbcda4
GM
552 * xterm.c (x_use_underline_position_properties): New variable.
553 (x_draw_glyph_string): Use it.
554 (syms_of_xterm): DEFVAR_BOOL it.
555
651f03b6
GM
5562001-04-02 Gerd Moellmann <gerd@gnu.org>
557
558 * xterm.c (x_alloc_nearest_color_1): New function.
559 (x_alloc_nearest_color): Use it.
560 (x_color_cells): Take a Display as argument, instead of a frame.
561 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
562 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
563 (x_initialize): Register cvt_string_to_pixel as resource converter
564 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
565
73d75a62
GM
5662001-03-30 Gerd Moellmann <gerd@gnu.org>
567
b2046df8
GM
568 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
569 (set_iterator_to_next): If a string from a display property ends,
570 consider the case that this might also be the end of an
571 overlay string having the display property.
572
52283633 573 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 574
87d8eba4
GM
575 * xdisp.c (reseat_to_string): Undo last change.
576
73d75a62
GM
577 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
578 matrix of a window when the header line changes, when
579 new rows are allocated, or when the width changes.
580
911a2406
EZ
5812001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
582
52283633 583 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 584
aea51abe
EZ
5852001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
586
587 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
588 deprecated.
589
176bc847
GM
5902001-03-29 Gerd Moellmann <gerd@gnu.org>
591
ed31fabf
GM
592 * data.c (Fsubr_interactive_form): New function.
593 (syms_of_data): Defsubr it.
594
176bc847
GM
595 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
596 (live_float_p, live_misc_p): Return 1 only if the offset of the
597 pointer in its block is >= 0.
598
e59d0e9d
GM
5992001-03-28 Paul Eggert <eggert@twinsun.com>
600
601 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
602 microseconds calcuation. Avoid double-rounding problem.
603 In doc string, warn that the result is approximate.
604
f827b862
GM
6052001-03-28 Gerd Moellmann <gerd@gnu.org>
606
30a3f61c
GM
607 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
608 bind `inhibit-eval-during-redisplay' to t.
609
610 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
611
612 * xdisp.c (inhibit_eval_during_redisplay)
613 (Qinhibit_eval_during_redisplay): New variables.
614 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
615 don't eval, return nil instead.
616 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
617 Initialize Qinhibit_eval_during_redisplay.
618
e719f5ae
GM
619 * xdisp.c (reseat_to_string): If STRING is multibyte, set
620 the iterator's multibyte_p flag.
621
deb2613a
GM
622 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
623 instead of setting it to zero; it's incremented for each frame
624 where the menu face is changed.
625
52283633
SM
626 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
627 change bottom shadow accordingly.
628
629 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
630 intersections here.
631 (expose_window): Do it here instead.
52283633 632 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 633
f827b862
GM
634 * bytecode.c (BYTE_CODE_QUIT): New macro.
635 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
636
4bde0ebb
GM
6372001-03-27 Gerd Moellmann <gerd@gnu.org>
638
607ec83c
GM
639 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
640 Give up if matrix starts in an ellipsis.
641 (init_from_display_pos): Do nothing if POS doesn't specify
642 a dpvec_index but the iterator has such a position.
643
0245398f
GM
644 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
645
aba25348
GM
646 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
647 x/y position is (0, 0) after destroying the menu bar, restore
648 its original position.
649
4bde0ebb
GM
650 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
651 (init_from_display_pos): Use it.
652 (try_window_reusing_current_matrix): Don't use cursor_row_p.
653
8cdb267e
GM
6542001-03-26 Gerd Moellmann <gerd@gnu.org>
655
656 * xdisp.c (try_window_id): Undo last change.
657
9948db79
EZ
6582001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
659
660 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
661
662 * buffer.c (syms_of_buffer): Doc fix.
663
2eddf899
GM
6642001-03-26 Gerd Moellmann <gerd@gnu.org>
665
666 * xfaces.c (x_update_menu_appearance): Use local variable
667 popup_path for setting font resources.
668
6c145d35
EZ
6692001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
670
6a65b1b5
EZ
671 * frame.c (Fframe_list): Don't reference tip_frame if
672 HAVE_WINDOW_SYSTEM is not defined.
673
6c145d35
EZ
674 * emacs.c (main): Update the copyright year. From Werner LEMBERG
675 <wl@gnu.org>.
676
d74c1900
GM
6772001-03-25 Gerd Moellmann <gerd@gnu.org>
678
20fbd925
GM
679 * xdisp.c (init_from_display_pos): Test invisible property
680 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 681
927c5b3b
GM
682 * xdisp.c (redisplay_internal) <update one window>: Make sure
683 last_arrow_position and last_arrow_string are set.
684
d74c1900
GM
685 * frame.c (Fframe_list): Don't return a tooltip frame.
686
091f8878
GM
6872001-03-23 Gerd Moellmann <gerd@gnu.org>
688
52283633
SM
689 * xdisp.c (mark_window_display_accurate_1): New function,
690 extracted from mark_window_display_accurate.
691 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
692 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
693 (mark_window_display_accurate): Use it.
694 (redisplay_internal): Use it for the selected window.
695 (redisplay_internal): Avoid duplicate mark_window_display_accurate
696 for the selected frame.
697
ac90c44f
GM
698 * xdisp.c Use make_number, for readability.
699 (try_window_id): Disable rows below the window end.
700 (try_window_reusing_current_matrix): Use cursor_row_p.
701 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
702 of rows.
703 (init_from_display_pos): If POS specifies a position in a display
704 vector, maybe get the iterator set up for that ellipsis.
43c09969 705
091f8878
GM
706 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
707
991786dd
EZ
7082001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
709
710 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
711
6c29b43c
GM
7122001-03-23 Gerd Moellmann <gerd@gnu.org>
713
714 * xfaces.c (x_update_menu_appearance): Use a different path
715 for Lucid popup menus.
716
d8731202
SM
7172001-03-22 Stefan Monnier <monnier@cs.yale.edu>
718
719 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
720
721 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
722 (string_buffer_position): Use `make_number'.
723
f61a541b
GM
7242001-03-22 Gerd Moellmann <gerd@gnu.org>
725
3c9e997b
GM
726 * xfaces.c (x_update_menu_appearance): Renamed from
727 x_set_menu_face_resources. Use different resources for popups.
728
729 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
730 (GC_CHECK_STRING_BYTES): Don't define.
731
364cd450
GM
732 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
733 Removed, together with subroutines.
734 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 735 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 736
d8731202
SM
737 * dispextern.h (x_set_menu_resources_from_menu_face):
738 Remove prototype.
364cd450 739
d8731202 740 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
741 Remove calls to x_set_menu_resources_from_menu_face.
742
d8731202
SM
743 * xfaces.c (xm_set_menu_resources_from_menu_face):
744 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
745
746 * xmenu.c: Include widget.h.
747 (single_submenu): Return int. Some cleanup.
748 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
749
140330de
GM
7502001-03-21 Gerd Moellmann <gerd@gnu.org>
751
752 * xterm.c (x_update_window_end): Handle overwritten mouse face
753 also for tool bar windows.
754 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
755 DRAW is DRAW_IMAGE_RAISED.
756
1741905c
GM
7572001-03-20 Gerd Moellmann <gerd@gnu.org>
758
fa88947e
GM
759 * print.c (syms_of_print): Doc fixes.
760
1741905c
GM
761 * fns.c (Fmd5): Doc fix.
762
ade0bee1
GM
7632001-03-19 Gerd Moellmann <gerd@gnu.org>
764
357e7376
GM
765 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
766 Clear area of the frame not occupied by the scroll bar.
767
c2c097cc
GM
768 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
769 tip frame's root window buffer to *tip* right after creating
770 the frame.
771
ade0bee1
GM
772 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
773 is an integer don't have to be for space characters.
774
88c6e37e
GM
7752001-03-16 Gerd Moellmann <gerd@gnu.org>
776
52283633
SM
777 * indent.c (current_column, current_column_1, Fmove_to_column)
778 (compute_motion): Handle characters from display vectors differently.
88c6e37e 779
c62eed76
KH
7802001-03-15 Kenichi Handa <handa@etl.go.jp>
781
782 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
783 drawing glyph string.
784
c899e7e6
GM
7852001-03-15 Gerd Moellmann <gerd@gnu.org>
786
d0bbfc99
GM
787 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
788 (command_loop_1): Undo last change.
789
03d1a189
GM
790 * xterm.c (fast_find_position): Return the correct vpos.
791
c899e7e6 792 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 793 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
794 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
795 Call store_symval_forwarding with BUF null.
796 (set_internal): Call store_symval_forwarding with the BUF
797 parameter passed to set_internal. Formerly, the value was always
798 set in the current buffer; the buffer recorded in specbind for
799 this case wasn't used.
800 (arith_driver): Reindent.
801
52283633
SM
802 * buffer.c (swap_out_buffer_local_variables):
803 Call store_symval_forwarding with BUF null.
c899e7e6
GM
804
805 * lisp.h (store_symval_forwarding): Change prototype.
806
807 * eval.c (specbind): Call store_symval_forwarding with BUF null.
808
57ac7c81
GM
8092001-03-14 Gerd Moellmann <gerd@gnu.org>
810
697617d9
GM
811 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
812 FOR_DELETION. Avoid resizing the mini-window of the selected
813 frame if FOR_DELETION is set.
814 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
815 (Fmake_frame_invisible): Change calls to do_switch_frame for new
816 signature.
817
818 * window.c (Fset_window_configuration): Change call to
819 do_switch_frame to new format.
820
821 * keyboard.c (quit_throw_to_read_char): Change call to
822 do_switch_frame to new format.
823
824 * lisp.h (do_switch_frame): Change prototype.
825
819dce0f
GM
826 * frame.c (Fframe_parameters): In the `buffer-list' frame
827 parameter, store the buffer list of FRAME, not the list of the
828 selected frame.
829
57ac7c81
GM
830 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
831 box just because the glyph row's full_width_p flag is set.
832
65008712
GM
8332001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
834
835 * xdisp.c (highlight_trailing_whitespace): On character terminals,
836 skip the padding blanks inserted in extend_face_to_end_of_line,
837 before checking for trailing whitespace.
838
159cf431
GM
8392001-03-13 Gerd Moellmann <gerd@gnu.org>
840
52283633 841 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
842 Remove special handling for LessTif/Motif.
843 (toplevel): Don't include Xm/Xm.h.
844
52283633
SM
845 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
846 Remove workaround code for LessTif; it doesn't work anymore.
847
2564ea1b 848 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 849 Xm/ScrollBarP.h.
afcdc0a1 850
52283633
SM
851 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
852 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
853 contemporary LessTif.
854
52283633
SM
855 * xfaces.c (xm_set_menu_resources_from_menu_face):
856 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 857
159cf431
GM
858 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
859 removing button grabs.
860
c6f7429a
KH
8612001-03-13 Kenichi Handa <handa@etl.go.jp>
862
cb82d767
KH
863 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
864 and clip-large-size-font as obsolete.
865
c6f7429a
KH
866 * lread.c (read_multibyte): Check the validity of multibyte
867 sequence. If invalid, return the first byte.
868
760cefb5
GM
8692001-03-12 Gerd Moellmann <gerd@gnu.org>
870
871 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
872 before running the command; timer functions or process
873 filters may have set it.
874
5141f9d0
EZ
8752001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
876
877 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
878 Doc fix.
879
b6a15240
GM
8802001-03-12 Gerd Moellmann <gerd@gnu.org>
881
882 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
883 to sprintf.
884
95522746
GM
8852001-03-09 Gerd Moellmann <gerd@gnu.org>
886
db14cfc5
GM
887 * dispextern.h (string_buffer_position): Add prototype.
888
52283633 889 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
890 (single_display_prop_string_p): New functions.
891
892 * xterm.c (note_mouse_highlight): If there's no help-echo on
893 a string, look at the buffer text ``under'' it.
894
895 * keyboard.c (make_lispy_event): Add string info to the event,
896 analogous to what's done on mode lines.
897 (read_key_sequence): For a click on a string, consider `local-map'
898 and `keymap' of that string.
899
52283633
SM
900 * keyboard.c (make_lispy_event, make_lispy_movement):
901 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
902
903 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
904
905 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
906 POS; return void.
907
95522746
GM
908 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
909 flags argument to emacs_open; it seems to conflict with O_EXCL.
910
898a399d
KH
9112001-03-09 Kenichi Handa <handa@etl.go.jp>
912
28cd4910
KH
913 * composite.h (struct composition): Change types of members;
914 glyph_len to unsigned, width to unsigned short.
898a399d 915
4cdf6a6c
AI
9162001-03-08 Andrew Innes <andrewi@gnu.org>
917
918 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
919 menu titles.
920
129004d3
GM
9212001-03-08 Gerd Moellmann <gerd@gnu.org>
922
221dd3e7
GM
923 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
924 instead of nil.
925
52283633 926 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
927 help-echo in strings.
928 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
929 (fast_find_string_pos): New function.
930
52283633
SM
931 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
932 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
933
934 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
935 Handle `mouse-face'.
936
937 * dispextern.h (face_at_string_position): Change prototype.
938
52283633 939 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 940
129004d3
GM
941 * keyboard.c (make_lispy_event): Avoid generating drag events
942 if the mouse hasn't actually moved to another buffer position.
52283633 943
80c8ab8c
DL
9442001-03-08 Dave Love <fx@gnu.org>
945
129004d3 946 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 947
989521fd
GM
9482001-03-08 Gerd Moellmann <gerd@gnu.org>
949
950 * process.c (Fset_process_window_size): Fix a typo.
951
bb5c338d
KH
9522001-03-08 Kenichi Handa <handa@etl.go.jp>
953
954 * coding.c (detect_coding_sjis): Do more rigid check.
955 (detect_coding_big5): Likewise.
956 (decode_coding_sjis_big5): Likewise.
957 (Fdetect_coding_region): Call detect_coding_system with tailing
958 anchor byte `\0' for more rigid detection.
52283633 959 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
960 (Fdetect_coding_string): Likewise.
961
8b8f9197
SM
9622001-03-07 Stefan Monnier <monnier@cs.yale.edu>
963
964 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
965 a string before extracting its data.
966
3bdf2660
GM
9672001-03-07 Gerd Moellmann <gerd@gnu.org>
968
969 * window.c (Frecenter): Rewrite code handling negative values
970 of ARG on graphical frames.
971
9722001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
973
974 * window.c (displayed_window_lines): If W->start is outside the
975 accessible portion of the buffer, call start_display with BEGV or
976 ZV instead of W->start.
977
471f86b9
GM
9782001-03-07 Gerd Moellmann <gerd@gnu.org>
979
2ab62c6c
GM
980 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
981
471f86b9
GM
982 * process.c (Fset_process_filter): Don't crash if the input
983 file descriptor of PROCESS is closed.
984 (Fset_process_window_size): Likewise.
985
101922c3
GM
9862001-03-06 Kenichi Handa <handa@etl.go.jp>
987
988 * xterm.c (XTflash): Make the timeout of select shorter, and call
989 select repeatedly until the desired time expires.
990
45d051a7
GM
9912001-03-06 Gerd Moellmann <gerd@gnu.org>
992
993 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
994
995 * xfns.c (Fx_create_frame): Clear Vwindow_list.
996
997 * lisp.h (Vwindow_list): Declare extern.
998
8f372c46
EZ
9992001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1000
1001 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1002
f16a7aa5
GM
10032001-03-06 Gerd Moellmann <gerd@gnu.org>
1004
157ae273
GM
1005 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1006 to detect a case where we have to highlight a different region
1007 despite not having left the currently highlighted region.
1008 Set mouse_face_overlay in the x_display_info.
45d051a7 1009 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1010
1011 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1012
1013 * buffer.c (mouse_face_overlay_overlaps): New function.
1014
1015 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1016 (Qmouse_face): Declare extern.
1017
f16a7aa5
GM
1018 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1019 if face_change_count is non-zero.
1020
827afcac
KH
10212001-03-06 Kenichi Handa <handa@etl.go.jp>
1022
1023 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1024 that the source is unibyte.
1025
14c7242e
DL
10262001-03-05 Dave Love <fx@gnu.org>
1027
827afcac 1028 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1029
c28b847b
GM
10302001-03-05 Gerd Moellmann <gerd@gnu.org>
1031
1032 * minibuf.c (read_minibuf): Clean up the binding stack if
1033 called noninteractively.
1034
b86644f2
KH
10352001-03-05 Kenichi Handa <handa@etl.go.jp>
1036
1037 * coding.c (syms_of_coding): Docstring modified.
1038
203682cc 10392001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1040
1041 * charset.c (char_to_string): If a single byte char has modifier
1042 bits that can't be reflected to the character code, ignore them
45d051a7 1043 instead of signaling an error.
b86644f2 1044
e30bd7b7
EZ
10452001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1046
1047 * s/msdos.h: Update copyright notice.
1048
1049 * dosfns.h: Update copyright notice.
1050
1051 * dosfns.c: Update copyright notice.
1052
1053 * msdos.c: Update copyright notice.
1054
b52b65bd
GM
10552001-03-02 Gerd Moellmann <gerd@gnu.org>
1056
1057 * xterm.c (glyph_rect): New function.
1058 (XTmouse_position): Use it to raise the threshold for mouse
1059 movement event generation.
1060
53c4b1e6
EZ
10612001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1062
1063 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1064 specifies (reverse . t), reverse the initial screen colors.
1065 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1066 but we are reversing the colors, set bg_set, not fg_set.
1067 Likewise for setting background-color and reversing: set fg_set.
1068 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1069 in effect.
1070
1071 * xfaces.c (Finternal_set_lisp_face_attribute)
1072 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1073 parameters alist.
1074
f964b4d7
GM
10752001-03-02 Gerd Moellmann <gerd@gnu.org>
1076
ef53d75e
GM
1077 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1078 to a single slash in the middle of file names.
1079
52283633 1080 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1081 Accept only alphanumeric time zone names.
1082
f964b4d7
GM
1083 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1084 or width area.
1085 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1086 a widget to zero height.
52283633 1087
c3c45f65
GM
10882001-03-01 Gerd Moellmann <gerd@gnu.org>
1089
1090 * window.c (Fwindow_end): Call move_it_past_eol only if
1091 ending up on a partially visible line.
1092
028d739a
DL
10932001-03-01 Dave Love <fx@gnu.org>
1094
1095 * ccl.c (Fccl_execute): Doc fix.
1096
57c5889c
GM
10972001-03-01 Gerd Moellmann <gerd@gnu.org>
1098
35f59f6b
GM
1099 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1100 of the tool bar before calling x_figure_window_size.
1101
f84ff02c
GM
1102 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1103 NULL after destroying it, otherwise XTread_socket can access a
1104 destroyed widget when input is unblocked.
1105
8b8f9197 1106 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1107
57c5889c
GM
1108 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1109 same name as before, although there was a change in fontsets.
1110
224227d1
KR
11112001-02-28 Ken Raeburn <raeburn@gnu.org>
1112
4560730a
KR
1113 * lisp.h (Fframe_parameter): Declare.
1114
224227d1 1115 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1116 Lisp_Object.
224227d1 1117
ece93c02
GM
11182001-02-28 Gerd Moellmann <gerd@gnu.org>
1119
11ef99b9
GM
1120 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1121 NULL instead.
1122
1123 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1124 NULL instead.
1125
ece93c02
GM
1126 * alloc.c (toplevel): Include process.h.
1127 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1128 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1129 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1130 (allocate_vector, allocate_hash_table, allocate_window)
1131 (allocate_frame, allocate_process, allocate_other_vector):
1132 New functions.
ece93c02
GM
1133 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1134 (mark_maybe_pointer): New function.
52283633 1135 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1136 remain and not Lisp_Objects.
1137 (min_heap_address, max_heap_address): New variables.
1138 (mem_find): Return MEM_NIL if START is below min_heap_address or
1139 above max_heap_address.
1140 (mem_insert): Compute min_heap_address and max_heap_address.
1141
1142 * process.c (make_process): Use allocate_process.
1143
1144 * frame.c (make_frame): Use allocate_frame.
1145
1146 * window.c (make_window, make_dummy_parent): Use allocate_window.
1147 (Fcurrent_window_configuration): Use allocate_other_vector.
1148
1149 * lisp.h (allocate_vectorlike): Remove prototype.
1150 (allocate_vector, allocate_other_vector, allocate_frame)
1151 (allocate_window, allocate_process, allocate_hash_table):
1152 Add prototypes.
1153
1154 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1155 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1156
063af457
KH
11572001-02-27 Kenichi Handa <handa@etl.go.jp>
1158
1159 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1160 treat the produced bytes as a valid multibyte sequence.
1161
1162 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1163 (ccl_driver) <CCL_WriteMultibyteChar2>:
1164 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1165 <ccl_finish>: Set ccl->eight_bit_control properly.
1166
1167 * ccl.h (struct ccl_program): New member eight_bit_control.
1168
f58c6494
SM
11692001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1170
1171 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1172 accessible_keymaps_char_table.
1173 (accessible_keymaps_char_table): Obey `is_metized'.
1174 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1175 Lisp_Object.
1176
c596c392
GM
11772001-02-26 Gerd Moellmann <gerd@gnu.org>
1178
1179 * dispnew.c: Check HAVE_TERM_H before including term.h.
1180
425de386
AI
11812001-02-24 Andrew Innes <andrewi@gnu.org>
1182
1183 * makefile.w32-in: Update copyright notice.
1184
2ba11bbd
SM
11852001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1186
1187 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1188
66c56ed1
KH
11892001-02-24 Kenichi Handa <handa@etl.go.jp>
1190
4c1593ce
KH
1191 * Makefile.in (lisp): Add international/utf-8.elc.
1192
66c56ed1
KH
1193 * fontset.c (Fnew_fontset): Fix handling of the case that an
1194 element of FONTLIST is a cons of family and registry.
1195
796ead7e
JR
11962001-02-23 Jason Rumney <jasonr@gnu.org>
1197
1198 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1199 to height unconditionally.
1200
1201 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1202 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1203 (x_insert_glyphs): Call window_box_left to obtain the left
1204 x-coordinate of the area to shift.
1205
1206 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1207 safe_run_hooks.
1208
f6839838
AI
12092001-02-22 Andrew Innes <andrewi@gnu.org>
1210
52283633 1211 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1212 ($(BLD)\dispnew.obj):
1213 ($(BLD)\editfns.obj):
1214 ($(BLD)\fileio.obj):
1215 ($(BLD)\filelock.obj):
1216 ($(BLD)\keyboard.obj):
1217 ($(BLD)\w32proc.obj):
1218 ($(BLD)\process.obj):
1219 ($(BLD)\sysdep.obj): Ditto.
1220
1221 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1222 header files.
52283633
SM
1223 ($(BLD)/dispnew.$(O)):
1224 ($(BLD)/editfns.$(O)):
1225 ($(BLD)/fileio.$(O)):
1226 ($(BLD)/filelock.$(O)):
1227 ($(BLD)/keyboard.$(O)):
1228 ($(BLD)/w32proc.$(O)):
1229 ($(BLD)/process.$(O)):
f6839838
AI
1230 ($(BLD)/sysdep.$(O)): Ditto.
1231
c224f70b
GM
12322001-02-22 Gerd Moellmann <gerd@gnu.org>
1233
51695746
GM
1234 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1235 at the start of the function, check that the \n in it->c is
1236 from the iterator's current position.
52283633 1237
a61b7058
GM
1238 * xdisp.c (handle_single_display_prop): Add parameter
1239 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1240 properties which replace the display of text with something else.
1241 (handle_display_prop): Call handle_single_display_prop with
1242 additional argument saying if we already replaced text display
1243 with something else. Use AREF.
52283633 1244 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1245 (decode_mode_spec_coding): Use AREF and ASIZE.
1246
3473f362
GM
1247 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1248 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1249 * vmstime.h: Files removed.
52283633 1250
2bb58df3
GM
1251 * unexencap.c, unexfx2800.c: Files removed.
1252
c224f70b
GM
1253 * dispnew.c (direct_output_for_insert): Give up if we are showing
1254 a message or just cleared the message because we might need to
1255 resize the echo area window or display an empty echo area.
1256
ffc9ff0c
GM
12572001-02-21 Gerd Moellmann <gerd@gnu.org>
1258
0528abe1
GM
1259 * xdisp.c (redisplay_internal): Do the
1260 mark_window_display_accurate after all windows have been
1261 redisplayed because this call resets flags in buffers which are
1262 needed for proper redisplay.
1263
52283633
SM
1264 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1265 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1266 the old names.
1267
52283633
SM
1268 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1269 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1270
1271 * msdos.h (struct x_output): Rename busy_window to
1272 hourglass_window, busy_p to hourglass_p.
1273
52283633
SM
1274 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1275 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1276
1277 * xfns.c: Rename everything containing *busy_cursor* and similar
1278 to *hourglass*.
1279 (syms_of_w32fns): Rename x-busy-pointer-shape to
1280 x-hourglass-pointer-shape, display-busy-cursor to
1281 display-hourglass, busy-cursor-delay to hourglass-delay.
1282
1283 * w32fns.c: Rename everything containing *busy_cursor* and similar
1284 to *hourglass*.
1285 (syms_of_w32fns): Rename x-busy-pointer-shape to
1286 x-hourglass-pointer-shape, display-busy-cursor to
1287 display-hourglass, busy-cursor-delay to hourglass-delay.
1288
1289 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1290 of its busy_p flag.
1291
1292 * dispextern.h (start_hourglass, cancel_hourglass)
1293 (display_hourglass_p): Renamed from *busy_cursor*.
1294
ab2c5f0a
GM
12952001-02-20 Gerd Moellmann <gerd@gnu.org>
1296
d17e49a8
GM
1297 * keyboard.c (read_char): When an event from unread-command-events
1298 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1299
fa97adf6
GM
1300 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1301 equal to the current buffer.
1302
ab2c5f0a
GM
1303 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1304 nil, otherwise we're left with truncate_lines t when a message
1305 is printed with message-truncate-lines bound to t.
1306
aeac019e
GM
13072001-02-19 Gerd Moellmann <gerd@gnu.org>
1308
c8bc6f65
GM
1309 * window.c (Fmove_to_window_line): Undo last change.
1310 (displayed_window_lines): Call line_bottom_y to determine
1311 the line's bottom position.
1312
1313 * dispextern.h (line_bottom_y): Add prototype.
1314
52283633 1315 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1316 (pos_visible_p): Use it.
1317
980a2d69
GM
1318 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1319 set redisplaying_p to 0 here instead of in Frecursive_edit.
1320 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1321 set redisplaying_p.
1322
52283633 1323 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1324 New variables.
1325 (syms_of_xdisp): Initialize new variables.
1326 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1327 Specbind `inhibit-menubar-update' when updating the menu bar.
1328
65048e97
GM
1329 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1330 safe_run_hooks.
1331
1332 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1333 safe_run_hooks.
1334
a57c4026
GM
1335 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1336 is null.
1337
aeac019e
GM
1338 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1339 to the start of the file.
1340
76846b31
GM
13412001-02-16 Gerd Moellmann <gerd@gnu.org>
1342
f3f053f3 1343 * window.c (set_window_buffer): Fix last change.
52283633 1344
f3f053f3
GM
1345 * window.c (set_window_buffer): Set window's vscroll to 0.
1346
dad75588
GM
1347 * window.c (coordinates_in_window): Increase width of area
1348 where the vertical line can be dragged.
1349
c220b753
GM
1350 * xterm.c (x_set_glyph_string_background_width): Extend the
1351 background face to the end of the drawing area in the text
1352 area, only.
1353
c56b1c1b
GM
1354 * xdisp.c (handle_single_display_prop): Set iterator's position
1355 to where the `display' property starts, like for images.
1356 (dump_glyph): New function.
1357 (dump_glyph_row): Use it. Dump info about marginal areas.
1358
1359 * dispnew.c (direct_output_for_insert): Recognize more cases where
1360 glyphs can be written instead of being inserted.
1361
1362 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1363 the left x-coordinate of the area to shift.
1364
76846b31
GM
1365 * dired.c (directory_files_internal): Set result list to nil
1366 before retrying.
1367
0fc71a77
KH
13682001-02-15 Kenichi Handa <handa@etl.go.jp>
1369
1370 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1371 invalid multibyte sequence, treat *SRC as a character of
1372 eight-bit-graphic.
1373
25078b54
EZ
13742001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1375
1376 * textprop.c (Fset_text_properties): Doc fix.
1377
8399f8a0
GM
13782001-02-15 Gerd Moellmann <gerd@gnu.org>
1379
1380 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1381
9a2a6f73
DL
13822001-02-14 Dave Love <fx@gnu.org>
1383
1384 * coding.c: Doc and message fixes.
1385
bf853fee
AI
13862001-02-14 Andrew Innes <andrewi@gnu.org>
1387
1388 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1389 Emacs frame above the screen size.
1390
78c663d8
GM
13912001-02-14 Gerd Moellmann <gerd@gnu.org>
1392
1393 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1394
7cc9f69f
GM
13952001-02-13 Gerd Moellmann <gerd@gnu.org>
1396
0a411995
GM
1397 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1398 case that TO ends up beyond ZV after running before-change-functions.
1399
5ddc1b75
GM
1400 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1401 the selected window if it is showing the buffer in question.
1402
7cc9f69f
GM
1403 * dired.c (directory_files_internal): Initialize errno.
1404 (toplevel): Include errno.h.
1405
2e6621ca
GM
14062001-02-13 Kenichi Handa <handa@etl.go.jp>
1407
1408 * xfaces.c (best_matching_font): New parameter width_ratio.
1409 Multiply avgwidth by width_ratio.
1410 (choose_face_font): Call best_matching_font with width_ratio
1411 calculated from the column width of C.
1412
60222d69
AI
14132001-02-12 Andrew Innes <andrewi@gnu.org>
1414
1415 The following changes are to draw box lines inside characters area
1416 if line-width is negative.
52283633 1417
60222d69
AI
1418 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1419 face->box_line_width is negative.
1420 (x_produce_stretch_glyph): Likewise.
1421 (x_produce_glyphs): Likewise.
1422 (x_estimate_mode_line_height): Likewise.
1423 (x_draw_glyph_string_background): Likewise.
1424 (x_draw_glyph_string_foreground): Likewise.
1425 (x_draw_composite_glyph_string_foreground): Likewise.
1426 (x_draw_glyph_string_box): Likewise.
1427 (x_draw_image_foreground): Likewise.
1428 (x_draw_image_relief): Likewise.
1429 (x_draw_image_foreground_1): Likewise.
1430 (x_draw_image_glyph_string): Likewise.
1431
9804b846
KH
14322001-02-09 Kenichi Handa <handa@etl.go.jp>
1433
1434 The following changes are to draw box lines inside characters area
1435 if line-width is negative.
52283633 1436
9804b846
KH
1437 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1438 face->box_line_width is negative.
1439 (x_produce_stretch_glyph): Likewise.
1440 (x_produce_glyphs): Likewise.
1441 (x_estimate_mode_line_height): Likewise.
1442 (x_draw_glyph_string_background): Likewise.
1443 (x_draw_glyph_string_foreground): Likewise.
1444 (x_draw_composite_glyph_string_foreground): Likewise.
1445 (x_draw_glyph_string_box): Likewise.
1446 (x_draw_image_foreground): Likewise.
1447 (x_draw_image_relief): Likewise.
1448 (x_draw_image_foreground_1): Likewise.
1449 (x_draw_image_glyph_string): Likewise.
1450
1451 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1452 and :line-width can be negative.
52283633 1453 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1454
49be9f70
JR
14552001-02-09 Jason Rumney <jasonr@gnu.org>
1456
1457 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1458 characters the same as ASCII and latin-1.
1459 (x_display_and_set_cursor): Check for the focus frame's selected
1460 window instead of selected_window.
1461 (x_after_update_window_line): Don't clear if frame's internal
1462 border width is zero.
1463 (x_new_font): Don't change a tooltip's size.
1464 (w32_initialize): Set char_ins_del_ok to 1.
1465
1466 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1467 (x_set_font): If font hasn't changed, avoid recomputing
1468 faces and other things.
52283633
SM
1469 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1470 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1471 (x_create_tip_frame): Prevent changing the tooltip's
1472 background color by specifying a color for the default font
1473 in .Xdefaults.
1474 (Qcancel_timer): New variable.
1475 (syms_of_w32fns): Initialize and staticpro it.
1476 (Fx_hide_tip, Fx_show_tip): Use it.
1477 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1478 the timer.
1479 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1480
1481 * w32.c (init_environment): Duplicate local string before putenv.
1482
555e35d2
SZ
14832001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1484
1485 * charset.c (Fstring): A typo.
1486
19c92c94
KH
14872001-02-09 Kenichi Handa <handa@etl.go.jp>
1488
e47a1c33
KH
1489 * charset.c (Fstring): If all arguments are less than 256, return
1490 a unibyte string.
1491
1492 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1493 return a unibyte string.
1494
19c92c94
KH
1495 * coding.c (code_convert_region): After detecting a coding, if
1496 nothing found, set coding->composing to COMPOSITION_NO.
1497 (decode_coding_string): Likewise.
1498
d8e675f5
SM
14992001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1500
1501 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1502 to avoid overflow.
1503
bd503487
KH
15042001-02-07 Kenichi Handa <handa@etl.go.jp>
1505
1506 * charset.c (parse_str_to_multibyte): New function.
1507
1508 * charset.h (parse_str_to_multibyte): Extern it.
1509
1510 * print.c (print_string): If we are going to print a unibyte
1511 string into a multibyte buffer, convert the string to multibyte by
1512 str_to_multibyte.
1513
a8370d72
AI
15142001-02-06 Andrew Innes <andrewi@gnu.org>
1515
1516 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1517 been created. It seems we can get sent window messages such as
1518 WM_ERASEBKGND before we properly update a frame.
1519
c363a1d6
GM
15202001-02-06 Gerd Moellmann <gerd@gnu.org>
1521
1522 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1523 Avoid some unnecessary cursor positioning.
1524
a08332c0
GM
15252001-02-05 Gerd Moellmann <gerd@gnu.org>
1526
52283633 1527 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1528 (LFACE_AVGWIDTH): New macro.
1529 (LFACEP): Use AREF.
1530 (check_lface_attrs): Check LFACE_AVGWIDTH.
1531 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1532 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1533 (merge_face_vectors): Check LFACE_AVGWIDTH.
1534 (Finternal_make_lisp_face): Use AREF.
1535 (xm_set_menu_resources_from_menu_face)
1536 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1537 (Finternal_lisp_face_empty_p): Use AREF.
1538 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1539 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1540 Compare average widths..
1541 (best_matching_font): Arrange for comparing average widths.
1542
52283633
SM
1543 * dispextern.h (enum lface_attribute_index):
1544 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1545
5cb3c8d4
DL
15462001-02-05 Dave Love <fx@gnu.org>
1547
1548 * puresize.h: Revert last change following loadup.el change.
1549
193fba87
AI
15502001-02-05 Andrew Innes <andrewi@gnu.org>
1551
1552 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1553 invocation of temacs, to work with Windows 2000.
1554 (bootstrap-emacs): Ditto.
1555
e16f52ce
GM
15562001-02-05 Gerd Moellmann <gerd@gnu.org>
1557
7a58ab59
GM
1558 * xterm.c (x_display_and_set_cursor): Check for the focus
1559 frame's selected window instead of selected_window.
1560
e89aaabd
GM
1561 * xdisp.c (try_scrolling): If point is in the line below the
1562 window, make sure to move the iterator at least a canonical
1563 char height down.
1564
52283633 1565 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1566
789ce875
KH
15672001-02-05 Kenichi Handa <handa@etl.go.jp>
1568
52283633
SM
1569 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1570 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1571 (ccl_driver): If the CCL program is terminated because of
1572 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1573 destination instead of throwing them away.
1574
20b28f82
GM
15752001-02-02 Gerd Moellmann <gerd@gnu.org>
1576
79fb38c0
GM
1577 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1578 faces and other things.
1579
20b28f82
GM
1580 * xdisp.c (get_next_display_element): Fix case of empty
1581 display table entry.
1582
5a72551e
EZ
15832001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1584
eb24d0bf
EZ
1585 * editfns.c (Fconstrain_to_field): Doc fix.
1586
6a3f48c7
EZ
1587 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1588 into `thoroughly', to make it consistent with the doc string.
1589
5a72551e
EZ
1590 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1591
01acdb05
GM
15922001-02-01 Gerd Moellmann <gerd@gnu.org>
1593
0353b28f
GM
1594 * search.c (search_buffer): Call set_search_regs with a byte
1595 position, not a character position.
1596
01acdb05
GM
1597 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1598 minibuffer-only,
1599
e86b5133
EZ
16002001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1601
1602 * frame.c (Fmodify_frame_parameters): Doc fix.
1603
7442878f
GM
16042001-01-31 Gerd Moellmann <gerd@gnu.org>
1605
01acdb05
GM
1606 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1607 identifier which is not reserved by Standard C.
52283633 1608
7442878f
GM
1609 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1610
1611 * window.c (enum window_part): New enumeration.
1612 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1613 Qright_bitmap_area.
1614 (coordinates_in_window): Return an enumerator from enum
1615 window_part. Fix handling of right scroll bar.
1616 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1617 `right-fringe' instead of `left-bitmap-area' and
1618 `right-bitmap-area'. Use enumerators from enum window_part
1619 instead of hard-coded integers.
52283633
SM
1620 (check_window_containing, window_from_coordinates):
1621 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1622 (syms_of_window): Replace Qleft_bitmap_area and
1623 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1624
7c132cba
EZ
16252001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1626
1627 * editfns.c (Fformat_time_string): Doc fix.
1628
c359dd9e
SM
16292001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1630
1631 * keymap.c (Fwhere_is_internal): Use the first valid binding
1632 if no ascii binding is found (when firstonly is t).
1633
ce070307
GM
16342001-01-31 Gerd Moellmann <gerd@gnu.org>
1635
b4f30ec5
GM
1636 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1637 instead of Finteractive_p.
1638
1639 * lisp.h (interactive_p): Add prototype.
1640
1641 * eval.c (interactive_p): New function.
1642 (Finteractive_p): Use it.
1643
ce070307
GM
1644 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1645
f57b6e64
DL
16462001-01-31 Dave Love <fx@gnu.org>
1647
d61c7afe
DL
1648 * .gdbinit (hook-run): Define to run xreload.
1649
f57b6e64
DL
1650 * textprop.c (Fset_text_properties): Fix newline in doc string.
1651
eef93f99
GM
16522001-01-30 Gerd Moellmann <gerd@gnu.org>
1653
52283633
SM
1654 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1655 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1656
1657 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1658 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1659 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1660
1661 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1662 height.
1663
d9c1f6f9
DL
16642001-01-30 Dave Love <fx@gnu.org>
1665
1666 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1667 AFTER_POTENTIAL_GC.
1668
e8f044a0
GM
16692001-01-29 Gerd Moellmann <gerd@gnu.org>
1670
52283633
SM
1671 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1672 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1673
8e1db7b3
EZ
16742001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1675
1676 * textprop.c (Fset_text_properties): Doc fix.
1677
4eefd9d2
GM
16782001-01-29 Gerd Moellmann <gerd@gnu.org>
1679
1680 * xdisp.c (forward_to_next_line_start): Remove xassert.
1681
fccb8288
EZ
16822001-01-29 Jason Rumney <jasonr@gnu.org>
1683
4eefd9d2 1684 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1685 returning without releasing it.
1686
76581eab
KH
16872001-01-29 Kenichi Handa <handa@etl.go.jp>
1688
1689 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1690 for '^', '$', and '\0'.
1691
83a96b4d
AC
16922001-01-28 Andrew Choi <akochoi@i-cable.com>
1693
5604ec34
AC
1694 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1695 regex for '^', '$', and '\0'.
1696
83a96b4d
AC
1697 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1698 only if current_sblock has been initialized.
1699
1700 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1701 terminal frame even if it is the only visible frame.
1702
c09a6440
KH
17032001-01-28 Kenichi Handa <handa@etl.go.jp>
1704
1705 * fontset.c (font_family_registry): Even if FONTNAME conform to
1706 XLFD, if it specifies other fields than family and registry,
52283633 1707 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1708 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1709 a signle byte character. Don't set FAMILY part to nil here.
1710 It is handled by the caller choose_face_font.
c09a6440
KH
1711 (Fnew_fontset): Call font_family_registry with FORCE 0.
1712 (Fset_fontset_font): Likewise.
1713
4dcd74e6
GM
17142001-01-27 Gerd Moellmann <gerd@gnu.org>
1715
1716 * xdisp.c (display_line): Don't treat a newline as fitting
1717 on the line.
1718
d2906bf8
GM
17192001-01-26 Gerd Moellmann <gerd@gnu.org>
1720
0130fe1a
GM
1721 * window.c (size_window): Set the window's orig_top to nil when
1722 changing heights, so that a future shrink_mini_window won't
1723 restore a bogus height.
1724
550f0e6a
GM
1725 * frame.c (do_switch_frame): If selected frame has a mini-window,
1726 resize that to exact size.
1727
b7b20fbd
GM
1728 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1729
a47b7816
GM
1730 * xdisp.c (display_line): Simplify check for glyphs fitting
1731 entirely in the line.
1732
d2906bf8
GM
1733 * xfns.c (xic_style): New variable.
1734 (create_frame_xic): Move static variable to global scope for
550f0e6a 1735 the case that `static' gets defined away.
d2906bf8 1736
73df2b1e
KH
17372001-01-26 Kenichi Handa <handa@etl.go.jp>
1738
1739 * coding.c (decode_coding): Set a flag for inhibiting
1740 inconsistent eol.
1741 (code_convert_region): Always set saved_coding_symbol.
1742 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1743 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1744
6613cfc4
GM
17452001-01-25 Gerd Moellmann <gerd@gnu.org>
1746
c5e6e06b
GM
1747 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1748 XClearArea.
1749
1750 * xterm.c (x_after_update_window_line): Don't clear if frame's
1751 internal border width is zero.
1752 (x_clear_area): New function.
1753 (x_after_update_window_line, x_clear_end_of_line)
1754 (x_scroll_bar_create, x_scroll_bar_set_handle)
1755 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1756 instead of XClearArea.
1757
1758 * xterm.h (x_clear_area): Add prototype.
1759
6613cfc4
GM
1760 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1761 which doesn't seem necessary anymore with Lesstif 0.92.
1762
650cc6cc
DL
17632001-01-25 Dave Love <fx@gnu.org>
1764
34ac3367
DL
1765 * puresize.h (BASE_PURESIZE): Up to 720000.
1766
650cc6cc
DL
1767 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1768
5e37dc22
GM
17692001-01-25 Gerd Moellmann <gerd@gnu.org>
1770
e1e441f9
GM
1771 * xdisp.c (echo_area_display): Don't call redisplay_internal
1772 when Emacs is shutting down. We can't run hooks etc. that
1773 would be necessary to do a redisplay.
1774
5e37dc22
GM
1775 * lread.c (read_integer): Use type EMACS_INT instead of int.
1776
0fb94c7f
EZ
17772001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1778
1779 * ccl.c (ccl_driver): Fix last change.
1780
e3778624
KH
17812001-01-25 Kenichi Handa <handa@etl.go.jp>
1782
1783 * ccl.h (sturct ccl_program): New member suppress_error.
1784
bb264518 1785 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1786 insert error message to the output.
1787 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1788
1789 * coding.h (struct coding_system): New member suppress_error.
1790
1791 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1792 (Fset_terminal_coding_system_internal): Set the member
1793 suppress_error to 1.
1794 (Fset_safe_terminal_coding_system_internal): Likewise.
1795
245ed2b1
SM
17962001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1797
1798 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1799 as if it was a `charset'.
1800
f9aaedb6
GM
18012001-01-24 Gerd Moellmann <gerd@gnu.org>
1802
1803 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1804 value in where_is_cache; the next lookup in the cache returns
1805 something bogus if we do.
1806
c3902c3e
EZ
18072001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1808
1809 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1810 if HAVE_WINDOW_SYSTEM isn't defined.
1811
3497f73e
GM
18122001-01-24 Gerd Moellmann <gerd@gnu.org>
1813
e7e41584
GM
1814 * fns.c (sweep_weak_table): Fix code taking items out of
1815 the hash collision chain. Some cleanup.
1816
3497f73e
GM
1817 * xterm.c (x_new_font): Don't change a tooltip's size.
1818
1819 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1820 background color by specifying a color for the default font
1821 in .Xdefaults.
1822
3d48e687
KH
18232001-01-24 Kenichi Handa <handa@etl.go.jp>
1824
96531b20
KH
1825 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1826 a workaround for SunOS 4's cc.
1827 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1828 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1829 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1830 statement.
3d48e687 1831
a30629d2
GM
18322001-01-23 Gerd Moellmann <gerd@gnu.org>
1833
1834 * xterm.c (x_set_window_size_1): New function extracted from
1835 x_set_window_size.
1836 (x_set_window_size): Use it.
1837 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1838 doesn't have a widget, like tooltips.
1839
5a43decf
EZ
18402001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1841
52283633 1842 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1843
b0e98867
KH
18442001-01-23 Kenichi Handa <handa@etl.go.jp>
1845
1846 * fns.c (Fset_char_table_default): Fix to make sub char-table
1847 correctly.
1848
50606b4c
GM
18492001-01-22 Gerd Moellmann <gerd@gnu.org>
1850
cb2ddc53 1851 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1852 a desired tool bar string, even if there are no tool bar items.
1853
57c28064
GM
1854 * xdisp.c (Ftool_bar_lines_needed): New function.
1855 (syms_of_xdisp): Defsubr it.
1856
50606b4c
GM
1857 * editfns.c (Fformat): Don't extend text properties from arguments
1858 to padding chars in the result.
1859
2f169c38
EZ
18602001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1861
1862 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1863
0f32f023
AI
18642001-01-20 Andrew Innes <andrewi@gnu.org>
1865
52283633 1866 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1867 (w32_initialize): Don't set term hooks that aren't actually needed
1868 in windowed mode.
1869
1870 * xfaces.c (realize_default_face):
1871 (realize_face):
1872 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1873
1874 * xdisp.c (handle_single_display_prop): Remove references to
1875 FRAME_W32_CONSOLE_P.
1876
52283633 1877 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1878
1879 * frame.h (output_method): Remove output_w32_console method.
1880 (FRAME_W32_CONSOLE_P): Remove macro.
1881
1882 * frame.c (Qw32_console): Remove variable.
1883 (Fframep): Remove references to it.
1884 (syms_of_frame): Ditto.
1885 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1886
1887 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1888 redefinition.
1889
7173eada
KH
18902001-01-20 Kenichi Handa <handa@etl.go.jp>
1891
1892 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1893
755b45ce
AI
18942001-01-19 Andrew Innes <andrewi@gnu.org>
1895
1896 * w32.c (init_environment): Add a version-independent site-lisp
1897 directory to EMACSLOADPATH, after the version dependent one.
1898
0a949811
GM
18992001-01-19 Gerd Moellmann <gerd@gnu.org>
1900
8501998a
GM
1901 * editfns.c (Fbuffer_substring): Doc fix.
1902
52283633
SM
1903 * xdisp.c (message_dolog, message2, message2_nolog):
1904 Rename parameter LEN to NBYTES.
0a949811 1905
e6ebcbbe
KH
19062001-01-19 Kenichi Handa <handa@etl.go.jp>
1907
200ecca2
KH
1908 * charset.c (strwidth): Use c_string_width.
1909 (c_string_width): New function.
1910 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1911 Caller changed.
1912
1913 * charset.h (c_string_width, lisp_string_width): Extern them.
1914
52283633 1915 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1916
e6ebcbbe
KH
1917 * indent.c (check_composition): Check validity of composition.
1918
200ecca2
KH
1919 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1920 characters by calling c_string_width.
1921 (x_consider_frame_title): Get byte length of frame tile string
1922 correctly.
1923 (display_mode_element): Pay attention to width of non-ASCII
1924 characters by calling strwidth.
1925
8692ca92
GM
19262001-01-18 Gerd Moellmann <gerd@gnu.org>
1927
8962e303
GM
1928 * xfns.c (Qcancel_timer): New variable.
1929 (syms_of_xfns): Initialize and staticpro it.
1930 (Fx_hide_tip, Fx_show_tip): Use it.
1931 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1932 the timer.
1933 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1934
91523be9
GM
1935 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1936
1937 * window.h (WINDOW_LIVE_P): New macro.
1938
b0b7ed0e
GM
1939 * window.c (window_size_fixed): New variable.
1940 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1941 the doc string.
1942
06bccf8e
GM
1943 * eval.c (specbind): If binding a per-buffer variable which
1944 doesn't have a buffer-local value in the current buffer, change
1945 the global value by changing the value of the symbol bound in all
1946 buffers not having their own value, to make it consistent with
1947 what happens with other buffer-local variables.
1948
8692ca92
GM
1949 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1950
1951 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1952 when searching for a newline.
1953
bb3a3b50
KH
19542001-01-18 Kenichi Handa <handa@etl.go.jp>
1955
1956 * xdisp.c (display_string): Fix previous change.
1957
c2cc16fa
JR
19582001-01-18 Jason Rumney <jasonr@gnu.org>
1959
1960 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1961 GLYPH_DEBUG is defined.
1962 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1963 true for images with `:ascent 100'.
1964 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1965 meantime, use face MOUSE_FACE_ID.
1966 If first glyph isn't a character glyph, use the ASCII NUL
1967 character to determine the face.
1968 (expose_area): Do not treat left margin specially.
1969 (note_mode_line_highlight): If no local_map, check global keymap.
1970 (note_mouse_highlight): Initialize overlay.
52283633 1971 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1972 (show_scroll_bars): Remove unused function.
1973 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1974 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1975 Clip to row.
52283633 1976 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1977 (x_free_frame_resources): Unload relief colors.
1978
9c11f79e
GM
19792001-01-17 Gerd Moellmann <gerd@gnu.org>
1980
3aec8722 1981 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1982 get_next_display_element when the newline is already found.
1983 This may change the iterator's position, when its current position is
3aec8722
GM
1984 equal to the iterator's stop_charpos.
1985
f3ffc2c3
GM
1986 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1987 zero, use this method only at the end of a line.
1988
52283633 1989 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1990 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1991 if SCALABLE_FONTS_P is set.
52283633 1992
d26d6fd9
GM
1993 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1994 so that scalable fonts are included.
1995
9c11f79e
GM
1996 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1997 In the cache, use a key containing the information if scalable
1998 fonts are included.
1999 (x_load_font): Adapt to change of keys in the font cache.
2000
20012001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2002
d26d6fd9
GM
2003 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2004 XListFonts to take advantage of font caching.
2005
9c11f79e
GM
2006 * xterm.c (x_list_fonts): Ensure caching font information when
2007 called for a null frame, which is the case frequently when Emacs
2008 starts.
2009
51446987
GM
20102001-01-17 Gerd Moellmann <gerd@gnu.org>
2011
f864120f
GM
2012 * xfns.c (QCconversion): Replaces QCalgorithm.
2013
2014 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2015
2016 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2017 of :algorithm.
52283633 2018
e37d1417
GM
2019 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2020 not everything could be displayed.
2021
51446987
GM
2022 * line.h, x-list-font.c: Files removed because unused.
2023
9ad4f3e5
AI
20242001-01-17 Andrew Innes <andrewi@gnu.org>
2025
2026 * dired.c (directory_files_internal): Convert result from readdir
2027 to a unibyte string initially, to avoid possible misinterpretation
2028 of some bytes as the internal form of Emacs characters.
2029
2eda09b5
KH
20302001-01-17 Kenichi Handa <handa@etl.go.jp>
2031
2032 * fns.c (concat): Be sure to avoid putting the same `composition'
2033 property on the adjacent regions.
2034
826f3788
GM
20352001-01-16 Gerd Moellmann <gerd@gnu.org>
2036
52283633 2037 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2038 (Fscroll_right, Fscroll_left): Set it here instead, if called
2039 interactively.
2040
d57b83b3
GM
2041 * buffer.c (Fset_buffer_modified_p): Set buffer's
2042 prevent_redisplay_optimizations_p flag.
2043
826f3788 2044 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2045 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2046 with additional arg.
2047
2048 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2049 Change prototype.
826f3788 2050
826f3788
GM
2051 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2052 FROM_WHERE, for debugging.
2053
261d788b
KH
20542001-01-16 Kenichi Handa <handa@etl.go.jp>
2055
2056 * ccl.c (Fregister_ccl_program): Handle the return value of
2057 resolve_symbol_ccl_program correctly.
52283633 2058 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2059
bccee4f2
GM
20602001-01-15 Gerd Moellmann <gerd@gnu.org>
2061
e4ded23c
GM
2062 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2063 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2064
2065 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2066 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2067 the display; we didn't open it.
2068
bccee4f2
GM
2069 * dispnew.c (save_or_restore_current_matrices): Function removed.
2070 (save_current_matrix, restore_current_matrix): New functions.
2071 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2072 restore the frame's current matrix. Due to the glyph pointer
2073 setup done in adjust_glyph_matrix, there is no easy way to make
2074 saving the current matrix in the desired matrix generally correct,
2075 so don't try it.
2076
ebeccffa
KH
20772001-01-15 Kenichi Handa <handa@etl.go.jp>
2078
2079 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2080 truncation glyphs.
2081 (display_line): Optimize for wide characters.
e4ded23c 2082 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2083 partially. On ttys, produce more than one truncation glyph for
2084 multi-column characters that don't fit on the line.
2085
64388126
KH
20862001-01-13 Kenichi Handa <handa@etl.go.jp>
2087
52283633
SM
2088 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2089 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2090
8edb0a6f
JR
20912001-01-13 Jason Rumney <jasonr@gnu.org>
2092
2093 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2094 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2095 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2096 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2097
52283633
SM
2098 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2099 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2100 (x_draw_image_glyph_string): Adapt to change of image margins.
2101
2102 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2103 variables.
2104
2105 * w32bdf.c (search_file_line, get_cached_font_char)
2106 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2107
2108 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2109
2110 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2111 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2112 (Fw32_send_sys_command): Remove unused variables.
2113 (w32_msg_pump): Add parentheses.
2114
2115 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2116 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2117 Add parentheses.
2118
4956d1ef
GM
21192001-01-12 Gerd Moellmann <gerd@gnu.org>
2120
b30623be
GM
2121 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2122 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2123 being a pair of margins.
2124 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2125 to DEFVAR_LISP. Extend doc.
2126
2127 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2128 margins.
2129 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2130 pair of integers `(X . Y)', use X for the horizontal and Y for the
2131 vertical margin.
2132 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2133 (parse_image_spec): Check it.
52283633
SM
2134 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2135 (tiff_format, gif_format, gs_format):
2136 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2137
52283633
SM
2138 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2139 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2140 (x_draw_image_glyph_string): Adapt to the change of image margins.
2141
2142 * dispextern.h (struct image): Replace member `margin' with
2143 `hmargin' and `vmargin'.
2144
4554cc79
GM
2145 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2146 and GLYPHS.
2147
2148 * dispnew.c (update_text_area): Put code which decrements the
2149 stop position when the row's face extends to the end of the
3bffc665 2150 line in #if 0.
4554cc79 2151
3cccce8d
GM
2152 * xfns.c (x_set_mouse_color): Fix color allocation.
2153
4956d1ef
GM
2154 * keyboard.c: Call get_local_map with new argument list.
2155
2156 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2157
2158 * intervals.h (enum map_property): Removed.
2159 (get_local_map): Change prototype.
2160
2161 * keymap.c: Call get_local_map with new argument list.
2162 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2163
2c2ff7f2
GM
21642001-01-11 Gerd Moellmann <gerd@gnu.org>
2165
a23887b9
GM
2166 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2167 of the size needed for the tool bar string. For the last image,
2168 use a `display' property that reaches to the end of the string.
2169
a7ee2d2e
GM
2170 * xselect.c (selection_request_dpyinfo): New variable.
2171 (x_handle_selection_request): Set it.
2172 (x_selection_request_lisp_error): Don't call
2173 x_decline_selection_request if selection request's display has
2174 been closed.
2175
52283633
SM
2176 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2177 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2178
457b792c
GM
21792001-01-10 Dave Love <fx@gnu.org>
2180
2181 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2182 ${SOME_MACHINE_LISP}, not ${lisp}.
2183
c1efd260
GM
21842001-01-10 Gerd Moellmann <gerd@gnu.org>
2185
52283633
SM
2186 * xdisp.c (display_line): On ttys, produce more than one truncation
2187 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2188
ac95a621
GM
2189 * xselect.c (x_reply_selection_request): Add a comment.
2190
c1efd260
GM
2191 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2192 XkbGetNames instead of XkbGetKeyboard.
2193
1bfb1345
DL
21942001-01-10 Dave Love <fx@gnu.org>
2195
2196 * sysdep.c (random): Revert the declaration.
2197
38119822
GM
21982001-01-09 Gerd Moellmann <gerd@gnu.org>
2199
52283633
SM
2200 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2201 Call function string_bytes.
35f464a7
GM
2202 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2203
2204 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2205 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2206 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2207 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2208 the current sblock.
2209 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2210 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2211 after sweeping strings, and at the end.
2212 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2213
38119822
GM
2214 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2215 ensure that pop_message is called.
2216
2217 * keyboard.c (Fexecute_extended_command): Use a
2218 record_unwind_protect to ensure that pop_message is called.
2219
2220 * lisp.h (push_message_unwind): Add prototype.
2221
2222 * xdisp.c (push_message_unwind): New function.
2223
2224 * fileio.c (do_auto_save_unwind): Do the pop_message here
2225 instead of in Fdo_auto_save.
2226 (Fdo_auto_save): Don't call pop_message.
2227
f47a9ec4
KR
22282001-01-08 Ken Raeburn <raeburn@gnu.org>
2229
2230 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2231 in inner block.
2232
a758f97d
GM
22332001-01-08 Gerd Moellmann <gerd@gnu.org>
2234
6d0afc03
GM
2235 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2236 when increasing window's vscroll.
2237
a758f97d
GM
2238 * macros.c (Qkbd_macro_termination_hook): New variable.
2239 (syms_of_macros): Initialize and staticpro it.
2240 (pop_kbd_macro): Run kbd-macro-termination-hook.
2241
2242 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2243
1bfb1345 22442001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2245
2246 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2247 arglist, for documentation's sake.
2248
0dac6924
AI
22492001-01-06 Andrew Innes <andrewi@gnu.org>
2250
2251 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2252 of *.pdb.
2253
8182406a
AI
22542001-01-05 Andrew Innes <andrewi@gnu.org>
2255
2256 * term.c (update_end): Don't check updating_frame; for some reason
2257 this can be 0 sometimes, such as after dismissing a popup menu,
2258 and isn't necessary given the explicit frame argument.
2259
3828218c
GM
22602001-01-05 Gerd Moellmann <gerd@gnu.org>
2261
2262 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2263 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2264
2f5ded21
GM
22652001-01-04 Gerd Moellmann <gerd@gnu.org>
2266
52283633 2267 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2268
2269 * xfns.c (x_create_tip_frame): Preserve the value of
2270 face_change_count around the creation of the tip frame.
52283633 2271
2f5ded21
GM
2272 * xfns.c (last_show_tip_args): New variable.
2273 (compute_tip_xy): New function.
2274 (Fx_show_tip): Reuse an existing tip frame, if possible.
2275 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2276
dfad65fa
DL
22772001-01-04 Dave Love <fx@gnu.org>
2278
64d4ec0f
DL
2279 * editfns.c (Fformat): Doc fix.
2280
dfad65fa
DL
2281 * systime.h (set_file_times): Prototype.
2282
2283 * widget.h (EmacsFrameSetCharSize_): Prototype.
2284
2285 * sysdep.c (random, srandom): Declare explicitly.
2286
2287 * dispextern.h (move_it_vertically_backward): Declare.
2288
85fe3b5e
GM
22892001-01-04 Gerd Moellmann <gerd@gnu.org>
2290
0f2ac578
GM
2291 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2292 like in Fx_create_frame.
2293
482cca61
GM
2294 * xfaces.c (set_font_frame_param): Don't do anything for
2295 non-graphical frames.
2296
85fe3b5e
GM
2297 * window.c (Fdelete_other_windows): Set window's window_end_valid
2298 to nil when changing the window's start. Don't change the
2299 window's start when its top position hasn't changed. If we do,
2300 this will set the window's optional_new_start, which act's like a
2301 force_start during redisplay with C-x 1 M-> under particular
2302 circumstances (see report from Per Starback to emacs-pretest-bug
2303 from 2000-12-13.).
2304
3e99d3b4
GM
23052001-01-03 Gerd Moellmann <gerd@gnu.org>
2306
a77dc1ec
GM
2307 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2308 short cut at the start of the function. Add an assertion.
2309 (reseat_at_next_visible_line_start): Add an assertion.
2310
2f3cad6c
GM
2311 * window.c (Frecenter): When changing the window start, set the
2312 window's window_end_valid to nil.
2313 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2314
2315 * dispextern.h (move_it_past_eol): Add prototype.
2316
2317 * xdisp.c (move_it_past_eol): New function.
2318
3e99d3b4
GM
2319 * window.c (Fwindow_end): Doc fix.
2320
23212001-01-03 Dave Love <fx@gnu.org>
2322
52283633 2323 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2324
bafb434c
GM
23252001-01-03 Gerd Moellmann <gerd@gnu.org>
2326
2327 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2328 the enabled_p flag of the glyph row at window_end_vpos to 0.
2329 (handle_single_display_prop): Fix last change.
2330
5297fb00
RS
23312001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2332
2333 * window.c (Frecenter): Doc fix.
2334
13d6a61c
AI
23352001-01-02 Andrew Innes <andrewi@gnu.org>
2336
2337 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2338
2339 * frame.h (output_method): Add output_w32_console method.
2340 (FRAME_W32_CONSOLE_P): New macro.
2341
2342 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2343 use output_w32_console method.
2344 (Qw32_console): New Lisp_Object.
2345 (Fframep): Return it.
2346 (syms_of_frame): Init it.
52283633 2347 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2348
2349 * xfaces.c (realize_default_face): Set face foreground and
2350 background to unspecified for w32_console frames.
2351 (realize_face): Realize face cache for w32_console frames.
2352 (realize_tty_face): Accept w32_console frames.
2353
52283633 2354 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2355 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2356 necessary, even if running interactively.
2357
2358 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2359 w32_console frames.
2360
52283633
SM
2361 * w32term.c (x_update_begin):
2362 (x_update_end):
2363 (x_clear_frame):
2364 (x_ins_del_lines):
2365 (x_change_line_highlight):
2366 (x_delete_glyphs):
2367 (w32_ring_bell):
2368 (x_update_begin):
2369 (x_update_end):
2370 (w32_reassert_line_highlight):
2371 (w32_frame_rehighlight):
13d6a61c
AI
2372 (w32_frame_raise_lower): Do nothing if not w32 frame.
2373
2374 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2375
2376 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2377 system doesn't tell us directly.
2378 (Fx_display_visual_class): Implement properly.
2379
d6bb0c0d
GM
23802001-01-02 Gerd Moellmann <gerd@gnu.org>
2381
2382 * window.c (Frecenter): Handle centering in graphical frames
2383 specially. Centering on the basis of line counts doesn't work
2384 reliably with variable-height lines.
52283633 2385
315f5865
EZ
23862001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2387
2388 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2389 and al[].
2390
52283633 2391 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2392 (update_compositions): Remove unused variable `hook'.
2393
2394 * intervals.c (get_local_map): Remove unused variable `tem'.
2395
2396 * doprnt.c (doprnt1): Remove unused variable `size'.
2397
2398 * fns.c (Flength): Remove unused variable `tail'.
2399 (Fdelete): Remove unused variable `size'.
2400
2401 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2402 and `gcpro2'.
2403
52283633 2404 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2405
2406 * data.c (find_symbol_value): Remove extra 3rd argument in the
2407 call to swap_in_symval_forwarding.
2408
52283633 2409 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2410
2411 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2412 (trivial_regexp_p): Remove unused variable `c'.
2413 (boyer_moore): Remove unused variable `k'.
2414
2415 * indent.c (current_column): Remove unused variable `stopchar'.
2416 (Fcompute_motion): Remove unused variable `contin'.
2417
2418 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2419
2420 * dired.c (directory_files_internal): Fix a typo in a comment.
2421 Remove an unused variable `handler'.
52283633 2422 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2423 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2424 on BSD4_2.
2425
52283633 2426 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2427
2428 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2429 and `buf'.
2430 (Fmarker_insertion_type): Remove unused variable `buf'.
2431
2432 * insdel.c (make_gap): Remove unused variable `result'.
2433
52283633 2434 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2435 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2436 (menu_bar_items): Remove unused function-scope variable `tem'.
2437
2438 * fontset.c (fontset_ref): Remove unused variable `i'.
2439 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2440 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2441 (make_fontset_for_ascii_face): Remove unused variable `name'.
2442 (fs_load_font): Remove unused variable `font_idx'.
52283633 2443 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2444 (list_fontsets): Remove unused variable `tail'.
2445 (Fnew_fontset): Remove unused variables `family' and `registry'.
2446 (accumulate_font_info): Remove unused variable `tmp'.
2447 (Ffontset_font): Remove unused variable `id'.
2448 (syms_of_fontset): Remove unused variable `i'.
2449
2450 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2451 to x_term_init.
2452 (lookup_image): Remove unused variable `file'.
2453 (xbm_load): Remove unused variables `bitmap_data', `height', and
2454 `width'. Remove function-local variable `i', leave the
2455 block-local one.
2456 (gif_load): Remove unused variable `inc'.
2457
52283633 2458 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2459 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2460 leave only the one in the inner block.
2461
2462 * xfaces.c (face_fontset, realize_default_face): Remove unused
2463 variable `fontset'.
2464 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2465
2466 * term.c (encode_terminal_code): Remove unused variable `c'.
2467
2468 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2469 char *' instead of `char *'.
2470
2471 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2472 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2473 (Fchar_category_set): Remove unused variables `val', `charset',
2474 `c1' and `c2'.
2475
52283633
SM
2476 * coding.c (detect_coding_iso2022, setup_coding_system):
2477 Remove unused variable `i'.
315f5865
EZ
2478 (detect_coding_mask): Remove unused variable `idx'.
2479 (detect_coding): Remove unused variable `i'.
2480 (ccl_coding_driver): Remove unused variable `result'.
2481 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2482 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2483 (encode_coding_string): Remove unused variables `gcpro1' and
2484 `saved_coding_symbol'.
2485 (Ffind_coding_systems_region_internal): Remove function-local
2486 variable args[], leave only the block-local one.
2487 (code_convert_region1): Remove unused variable `len'.
2488
2489 * charset.c (char_printable_p): Remove unused variable `chars'.
2490 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2491 (str_to_multibyte): Remove unused variable `c'.
2492
2493 * window.c (size_window): Remove block-local variable `min_size'.
2494
2495 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2496 `header_line_height'.
2497 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2498 enum display_element_type.
2499
1a8a9daf
GM
25002001-01-02 Gerd Moellmann <gerd@gnu.org>
2501
6dde6abc 2502 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2503 statements that call X. Save away the error message in a local copy.
2504
1883b2c6
GM
2505 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2506 the start.
2507
a13be207
GM
2508 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2509 in or at the start of invisible text.
2510
1a8a9daf
GM
2511 * dispnew.c (update_window): Don't check_current_matrix_flags.
2512
3608c0f9
JR
25132001-01-01 Jason Rumney <jasonr@gnu.org>
2514
2515 * w32fns.c (x_figure_window_size): Do not allow new_height and
2516 new_width of frame to override specified values.
2517
abb1acc4
KH
25182000-12-30 Kenichi Handa <handa@etl.go.jp>
2519
52283633 2520 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2521
762a68ec
GM
25222000-12-29 Gerd Moellmann <gerd@gnu.org>
2523
52283633 2524 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2525 (update_window) [GLYPH_DEBUG]: Call it.
2526 (scrolling_window): Prevent including current rows which are below
2527 what's displayed in the window.
2528
2529 * xdisp.c (try_window_reusing_current_matrix)
2530 <new start <= old start>: Disable rows in the current matrix
2531 which are below the window after scrolling.
52283633 2532
762a68ec
GM
2533 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2534 is zero. It's not worth the complexity.
2535 (invisible_text_between_p): Put in #if 0 because unused.
2536
2d5912c1
GM
25372000-12-28 Gerd Moellmann <gerd@gnu.org>
2538
46f6a258
GM
2539 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2540 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2541
89f93679
GM
2542 * keyboard.c (echo_char): If C is an integer, always call
2543 push_key_description. Former code could signal an invalid
2544 character error.
2545
2546 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2547 If set, print multibyte text.
2548 (Fsingle_key_description): Call push_key_description with
2549 FORCE_MULTIBYTE set.
2550 (describe_buffer_bindings): Likewise.
2551
2552 * lisp.h (push_key_description): Add prototype.
2553
c06017fb
GM
2554 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2555 around the call to redisplay_internal.
2556
f1d2ce7f
GM
2557 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2558
2d5912c1
GM
2559 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2560
9371f831
KH
25612000-12-28 Kenichi Handa <handa@etl.go.jp>
2562
2563 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2564 (ccl_driver): New local variable `extra_bytes'.
2565
2566 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2567
52283633
SM
2568 * coding.c (setup_coding_system):
2569 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2570 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2571
0c80628a
KH
25722000-12-28 Kenichi Handa <handa@etl.go.jp>
2573
2574 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2575 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2576 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2577 (decode_composition_emacs_mule): New function.
2578 (decode_coding_emacs_mule): Decode composition sequence by calling
2579 decode_composition_emacs_mule.
2580 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2581 (encode_coding_emacs_mule): Changed from macro to function.
2582 If a text contains compositions, encode them correctly.
0c80628a
KH
2583 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2584 that decoding and encoding are required.
2585
3e32cc27
GM
25862000-12-27 Gerd Moellmann <gerd@gnu.org>
2587
5e25feee
GM
2588 * xfaces.c (PT_PER_INCH): New macro.
2589 (xlfd_point_size): Compute real point size from font's pixel size.
2590 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2591 instead of 72.
2592
892d8fcd
GM
2593 * .gdbinit: Comment out the line pointing to the Lesstif source
2594 directory.
2595
12c8b416
GM
2596 * window.c (Frecenter): Use displayed_window_lines instead
2597 of window_internal_height.
2598
6061fbf0
GM
2599 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2600 instead of x-toolkit-scroll-bars-p.
2601 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2602
2603 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2604 instead of x-toolkit-scroll-bars-p.
2605 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2606
3e32cc27
GM
2607 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2608 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2609 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2610 New variables.
2611 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2612 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2613 (build_frame_matrix_from_leaf_window): Remove unused code.
2614 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2615 redisplay history.
2616 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2617 (update_window) [GLYPH_DEBUG]: Likewise.
2618 (syms_of_display): Defsubr dump-redisplay-history.
2619
31798cfe
GM
26202000-12-23 Gerd Moellmann <gerd@gnu.org>
2621
f717c2ba
GM
2622 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2623 the end of the prompt. Set echo_after_prompt to the offset
2624 of echoptr in echobuf.
2625
aeb2b8fc
GM
2626 * xdisp.c (init_from_display_pos): Pop until the iterator's
2627 stack is empty; there may be frames for stretch or images
2628 on the stack.
2629
31798cfe
GM
2630 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2631 (save_or_restore_current_matrix): New function for the same
2632 purpose, but more efficient.
2633 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2634
f8156156
EZ
26352000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2636
2637 * xdisp.c (syms_of_xdisp): Fix last change.
2638
bdd6d4e8
GM
26392000-12-23 Gerd Moellmann <gerd@gnu.org>
2640
2641 * xdisp.c (syms_of_xdisp): Doc fix.
2642
2643 * xdisp.c (redisplay_window): Remove label restore_buffers;
2644 use finish_scroll_bars instead to make sure that scroll bars
2645 are redeemed. If we don't do this, flickering can result from
2646 scroll bars being destroyed and recreated.
2647
9436cdf9
JR
26482000-12-22 Jason Rumney <jasonr@gnu.org>
2649
2650 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2651 in the wrong colors when the foreground is not black.
2652 (expose_window): Don't redraw the window that's currently being
2653 updated.
2654
951f9df5
GM
26552000-12-22 Gerd Moellmann <gerd@gnu.org>
2656
856ff7a7
GM
2657 * window.c (size_window): When setting the window's too_small_ok
2658 flag, compare old size with minimum size depending on WIDTH_P,
2659 don't compare with window_min_width.
52283633 2660
951f9df5
GM
2661 * window.c (delete_window): Simplify somewhat.
2662 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2663 freeing window matrices. The flag windows_or_buffers_changed is
2664 set, so the next redisplay will consider all windows; this should
2665 suffice.
2666
886bc933
KH
26672000-12-22 Kenichi Handa <handa@etl.go.jp>
2668
2669 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2670
2671 * ccl.h (struct ccl_program): New member cr_consumed.
2672
2673 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2674 (CCL_READ_CHAR): Handle EOL conversion here.
2675 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2676
177f4e88
GM
26772000-12-21 Gerd Moellmann <gerd@gnu.org>
2678
52283633 2679 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2680
2681 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2682 otherwise tabs of different size compare equal.
2683
2684 * callint.c (Fcall_interactively): Prevent a compiler warning.
2685
2686 * print.c (print_unwind): Return nil.
2687 (PRINTDECLARE): Initialize all local variables.
2688 (print_preprocess): Add a default case.
2689
8e15274f
GM
2690 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2691
2692 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2693
52283633 2694 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2695 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2696
2697 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2698
2699 * dispnew.c (ensure_frame_matrix): Removed.
2700 (save_frame_matrix, restore_frame_matrix): New functions.
2701 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2702
2703 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2704 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2705
99012074
AI
27062000-12-21 Andrew Innes <andrewi@gnu.org>
2707
2708 * w32term.c (x_update_begin): Regenerate the palette here, rather
2709 than for each window.
2710
2711 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2712 palette is NULL, since this corrupts memory! Also get
2713 display_info reference from frame.
2714
29ef7d2d
JR
27152000-12-21 Jason Rumney <jasonr@gnu.org>
2716
2717 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2718
2719 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2720 to avoid returning without releasing it.
3e27fa1f 2721
3f9d67a6
KH
27222000-12-21 Kenichi Handa <handa@etl.go.jp>
2723
587fc3f9
KH
2724 * keymap.c (push_key_description): Don't convert eight-bit-control
2725 and eight-bit-graphic to multibyte character.
2726
3f9d67a6
KH
2727 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2728 generic character and CODE1 is nil, return the smallest character
2729 in CHARSET.
2730
774ba8c9
DL
27312000-12-20 Dave Love <fx@gnu.org>
2732
2733 * s/osf5-0.h (NSIG): Don't redefine.
2734
88416888
SM
27352000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2736
2737 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2738 excluding menu-bar and tool-bar.
2739 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2740 (menu_item_p): Remove.
2741 (where_is_internal_1): Don't ignore menu-items.
2742
a6426c6f
GM
27432000-12-20 Gerd Moellmann <gerd@gnu.org>
2744
03ff8aab
GM
2745 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2746 into account.
2747
2748 * window.c (make_window): Initialize window's min_hscroll.
2749 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2750 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2751 to zero.
2752 (struct saved_window): New member min_hscroll.
2753 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2754 (Fset_window_configuration): Set window's min_hscroll.
2755 (save_window_save): Save window's min_hscroll.
2756 (compare_window_configurations): Compare min_hscroll values.
2757
2758 * window.h (struct window): New member min_hscroll.
2759
2760 * keyboard.c (echo_prompt): Prevent a compiler warning.
2761
8de4aaf8
GM
2762 * xdisp.c (try_cursor_movement): Fix last change. The real
2763 condition is that PT is at the end of the row, and should
2764 be displayed at the start of the next row.
52283633 2765
3f7e3031
GM
2766 * xdisp.c (try_cursor_movement): If we end on a partially
2767 visible line, end we already decided to scroll, return -1.
2768
a6426c6f
GM
2769 * dispextern.h (ensure_frame_matrix): Add prototype.
2770
2771 * window.c (delete_window, Fsplit_window)
2772 (Fset_window_configuration): Call ensure_frame_matrix.
2773
52283633
SM
2774 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2775 New functions.
a6426c6f
GM
2776 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2777 completed, call fake_current_matrices instead of marking frame
2778 garbaged.
2779
57fa2774
JR
27802000-12-20 Jason Rumney <jasonr@gnu.org>
2781
2782 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2783
d925df90
EZ
27842000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2785
2786 * fns.c (Frequire): Doc fix.
2787
7b93a85b
GM
27882000-12-19 Gerd Moellmann <gerd@gnu.org>
2789
52283633 2790 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2791
c74e645b
GM
2792 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2793 currently displaying a message.
2794
7b93a85b
GM
2795 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2796 xterm.h.
2797 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2798
90d97e64
AI
27992000-12-18 Andrew Innes <andrewi@gnu.org>
2800
2801 * w32.c (w32_strerror): New function.
2802
2803 * w32.h (w32_strerror): New extern.
2804
2805 * w32fns.c (Fw32_shell_execute): Use it.
2806
91c9e6ce
GM
28072000-12-18 Gerd Moellmann <gerd@gnu.org>
2808
2809 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2810
6f4745e2
EZ
28112000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2812
2813 * msdos.c (IT_set_face): Obey inverse_video.
2814
c9e088ce
KH
28152000-12-18 Kenichi Handa <handa@etl.go.jp>
2816
2817 * dired.c (directory_files_internal): Always return decoded filenames.
2818
c3695f5f
GM
28192000-12-18 Gerd Moellmann <gerd@gnu.org>
2820
52d8e4ff
GM
2821 * xterm.c (x_connection_closed): Prevent being called recursively
2822 because of an error condition in XtCloseDisplay.
52283633 2823
62be9979
GM
2824 * xdisp.c (init_iterator): If noninteractive, and the frame's
2825 face cache is null, make one.
2826
52283633 2827 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2828
c3695f5f
GM
2829 * process.c (wait_reading_process_input): Check for pending
2830 input when running timers.
2831
78555fbe
EZ
28322000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2833
52283633 2834 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2835
b2b36264
KH
28362000-12-18 Kenichi Handa <handa@etl.go.jp>
2837
2838 * process.c (read_process_output): Don't run a filter if the code
2839 decoder produces nothing but carryover.
2840
9c543fbf
AI
28412000-12-17 Andrew Innes <andrewi@gnu.org>
2842
2843 * w32.c (sys_rename): Only check errno against EEXIST, and not
2844 EACCES, when determining whether rename failed because the target
2845 exists. This was resulting in indefinite looping on Windows 9x if
2846 the source file was locked by another process.
2847
2848 * w32fns.c (Ffile_system_info): New function.
2849 (syms_of_w32fns): Defsubr it.
2850
10c2b5a8
GM
28512000-12-17 Gerd Moellmann <gerd@gnu.org>
2852
b0228ace
GM
2853 * window.c (coordinates_in_window): Fix computation for
2854 position on vertical line between mode lines.
2855
10c2b5a8
GM
2856 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2857 Don't alter tip_frame or tip_window.
2858 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2859 was deleted.
2860
c844a81a
GM
2861 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2862 Don't alter tip_frame or tip_window.
2863 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2864 was deleted.
2865
6c825f8e
EZ
28662000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2867
2868 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2869 be consistent with the doc string. Reported by NAKAJIMA Mikio
2870 <minakaji@osaka.email.ne.jp>.
2871
af4bb4c8
KH
28722000-12-16 Kenichi Handa <handa@etl.go.jp>
2873
2874 * xfaces.c (Vface_ignored_fonts): New variable.
2875 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2876 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2877
8062e53a
GM
28782000-12-15 Gerd Moellmann <gerd@gnu.org>
2879
e87b8809
GM
2880 * dispnew.c (update_window): Detect pending input every nth line
2881 updated, i.e. do it depending on real work done, and not on the
2882 vpos of the line.
2883
2884 * xterm.c (expose_window): Don't redraw the window that's
2885 currently being updated.
2886
a6768cc5
GM
2887 * window.c (Fset_window_point): Remove test for
2888 cursor_in_non_selected_windows.
2889
4ea7fdca
GM
2890 * lread.c (read1): Recognize end of file after `\\'.
2891
8062e53a
GM
2892 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2893 not unwind_create_frame.
2894
bb7959c1
GM
28952000-12-15 Dave Love <fx@gnu.org>
2896
2897 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2898 bcopy & al.
2899
2900 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2901
ced04c42
KH
29022000-12-15 Kenichi Handa <handa@etl.go.jp>
2903
c5443913
KH
2904 * coding.c (setup_coding_system): Clear all members of the struct
2905 coding_system at first.
bc137305
KH
2906 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2907 argument.
2908 (code_convert_region): Don't override coding->src_multibyte and
2909 coding->dst_multibyte.
c5443913 2910
ced04c42
KH
2911 * fns.c (Fmd5): Docstring improved.
2912
c2d7f289
MB
29132000-12-15 Miles Bader <miles@gnu.org>
2914
2915 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2916 are actually marked as mode-lines; otherwise use
2917 estimate_mode_line_height.
2918
9d7d9263
GM
29192000-12-14 Gerd Moellmann <gerd@gnu.org>
2920
2921 * editfns.c (Fformat): Prevent a buffer overrun when the format
2922 specifies a precision.
2923
7cf0153a
EZ
29242000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2925
2926 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2927 argument is outside the range [2..3].
2928
1de0f662
AI
29292000-12-14 Andrew Innes <andrewi@gnu.org>
2930
2931 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2932 nothing to do. Bind inhibit-quit.
2933 (tip_frame): Make it a Lisp_Object.
2934 (x_create_tip_frame): Set tip_frame after it has been added to
2935 Vframe_list.
2936 (Fx_show_tip): Don't set tip_frame here.
52283633 2937 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2938 (unwind_create_frame, unwind_create_tip_frame): New functions.
2939 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2940 while a frame is only partially constructed.
2941
2942 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2943 (x_free_frame_resources): New function.
2944 (x_destroy_window): Use it.
2945
02387dcc
GM
29462000-12-14 Gerd Moellmann <gerd@gnu.org>
2947
2948 * xfns.c (Fx_backspace_delete_keys_p): New function.
2949 (syms_of_xfns): Defsubr it.
2950
2951 * config.in (HAVE_XKBGETKEYBOARD): Add.
2952
0544ef49
KH
29532000-12-14 Kenichi Handa <handa@etl.go.jp>
2954
98d62747
KH
2955 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2956 Always store string in multibyte representation in echobuf.
2957 (echo_char): Always store string in multibyte representation in
2958 echobuf.
2959 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2960 (read_key_sequence): Adjusted for the change of echo_prompt.
2961
a20193cd
KH
2962 * fns.c (Fmd5): Docstring improved.
2963
191b83b6
KH
2964 * lisp.h (detect_coding_system): Prototype adjusted.
2965
0544ef49
KH
2966 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2967 (detect_coding_emacs_mule, detect_coding_iso2022,)
2968 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2969 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2970 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2971 (detect_coding_mask, detect_coding_system): New argument
2972 MULTIBYTEP. Callers changed.
1da1bb05
KH
2973 (decode_coding_string): Set coding->src_multibyte and
2974 coding->dst_multibyte before calling detect_coding and detect_eol.
2975 Update them after some coding system is detected.
52283633 2976
d5b3eb1b
SM
29772000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2978
2979 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2980
2981 * keyboard.c (menu_bar_items, tool_bar_items):
2982 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2983
f7f8bb69
GM
29842000-12-13 Gerd Moellmann <gerd@gnu.org>
2985
52283633 2986 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2987 New variables.
2988 (unwind_create_frame, unwind_create_tip_frame): New functions.
2989 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2990 while a frame is only partially constructed.
2991
2992 * xterm.h (x_free_frame_resources): Declare.
2993
2994 * xterm.c (x_free_frame_resources): New function.
2995 (x_destroy_window): Use it.
2996
e10da507
GM
2997 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2998 don't interrupt the update for pending input initially, i.e.
2999 update at least some lines.
3000
3001 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3002
d5b3eb1b 3003 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3004
3005 * xfns.c (gray_bitmap_bits): Declare `char *'.
3006
90aa2856
GM
30072000-12-12 Gerd Moellmann <gerd@gnu.org>
3008
3009 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3010 lines start with a relief line.
3011
a308c9cd
DL
30122000-12-12 Dave Love <fx@gnu.org>
3013
3014 * window.c (Fdisplay_buffer): Doc fix.
3015 (Fwindow_list): Remove unused var.
3016
3017 * buffer.h (mmap_set_vars): Declare.
3018
3019 * window.h (Fset_window_point): Declare.
3020
d575011f
EZ
30212000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3022
bf6282d2 3023 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3024 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3025 variable `area'. When looking for a row under (X,Y), give up if some
3026 of the previous rows is not enabled.
d575011f 3027
ecf4d726
GM
30282000-12-12 Gerd Moellmann <gerd@gnu.org>
3029
2ebf6139
GM
3030 * window.c (Fset_window_point): If displaying cursors in windows
3031 other than the selected window, make sure redisplay updates
3032 other windows to show the new value of point in the window.
3033
3034 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3035
bfdb75ee
GM
3036 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3037 the buffer is the sole visible buffer when in the mini-buffer.
3038
52283633 3039 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3040 Bind `inhibit-read-only' to t.
3041 (unwind_with_echo_area_buffer): Use AREF.
3042
c0006262
GM
3043 * xfns.c (Fx_hide_tip): Simplified.
3044
52283633
SM
3045 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3046 instead of `1'.
e9a59cad 3047
ecf4d726
GM
3048 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3049
e5959a9a
GM
30502000-12-11 Gerd Moellmann <gerd@gnu.org>
3051
a3642e49 3052 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3053
44b5a125
GM
3054 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3055 nothing to do. Bind inhibit-quit.
3056 (tip_frame): Make it a Lisp_Object.
3057 (x_create_tip_frame): Set tip_frame after it has been added to
3058 Vframe_list.
3059 (Fx_show_tip): Don't set tip_frame here.
3060
3061 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3062
3063 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3064 Lisp_Object.
3065
3066 * dispextern.h: Change external declaration of tip_frame.
3067
d990421f
GM
3068 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3069 return an empty string.
3070
4db87380
GM
3071 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3072 of the window's update_mode_line flag, since the former is set by
3073 force-mode-line-update, not the latter. This makes
3074 column-number-mode slightly faster.
52283633 3075
e5959a9a
GM
3076 * xdisp.c (try_window_id) <all changes above window start>:
3077 Set the cursor.
3078
169fe44e
GM
30792000-12-11 Paul Eggert <eggert@twinsun.com>
3080
3081 * config.in (HAVE_FTELLO): Remove.
3082 (HAVE_FSEEKO): Add.
3083 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3084 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3085 HAVE_FTELLO.
3086 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3087 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3088
59ec59ae
MB
30892000-12-11 Miles Bader <miles@gnu.org>
3090
3091 * window.c (displayed_window_lines): Don't round up when
3092 converting empty space at bottom to lines.
ff904dd6
MB
3093 Handle non-newline-terminated final lines properly.
3094 (Fwindow_text_height): New function (used to be in lisp).
3095 (syms_of_window): Initialize it.
59ec59ae 3096
42ebfa31
SM
30972000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3098
3099 * syntax.c (scan_lists): Check that the right quote char has the
3100 right Sstring syntax when jumping over strings.
3101 (init_syntax_once): Use Smax rather than 13.
3102
5cdb3cf3
MB
31032000-12-09 Miles Bader <miles@gnu.org>
3104
3105 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3106 with PARTIALLY, inverting the sense.
3107 (window_scroll_pixel_based): Scroll partially visible lines into
3108 place if we hit the beginning or end of the buffer.
a12167c5
MB
3109 (displayed_window_lines): Don't include partially visible lines.
3110 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3111
842b2a94
GM
31122000-12-08 Gerd Moellmann <gerd@gnu.org>
3113
3114 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3115
3116 * tparam.c (tparam1): Change the way buffers are reallocated to be
3117 portable and less obfuscated.
3118
3119 * termcap.c (tgetent): Change the way buffers are reallocated to
3120 be portable and less obfuscated.
3121
3122 * macros.c (store_kbd_macro_char): Change the way buffers are
3123 reallocated to be portable and less obfuscated.
3124
3125 * lread.c (read1): Change the way buffers are reallocated to be
3126 portable and less obfuscated.
3127
3128 * doc.c (Fsubstitute_command_keys): Change the way buffers
3129 are reallocated so that it is portable.
3130
137cad7c
EZ
31312000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3132
3133 * dosfns.c (Ffile_system_info): New function.
3134 (syms_of_dosfns): Defsubr it.
3135
5c7f629c
SM
31362000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3137
3138 * alloc.c (gc_sweep): Add comment.
3139
959e647d
GM
31402000-12-07 Gerd Moellmann <gerd@gnu.org>
3141
52283633
SM
3142 * sound.c (vox_configure): Change order of ioctls.
3143 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3144 Ignore errors when changing volume.
3145 (vox_close): Don't reset the device.
3146
926b7e5e
GM
3147 * process.c (read_process_output): Make sure the process marker's
3148 position is valid when the process buffer is changed in
3149 after-change functions. W3 does that.
52283633 3150
959e647d
GM
3151 * xfns.c (x_free_gcs): New function.
3152
3153 * xterm.h (x_free_gcs): Add prototype.
3154
3155 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3156 freeing GCs here.
3157
3158 * xterm.c (x_destroy_window): Call x_free_gcs so that
3159 resources of non-toolkit X windows will be freed.
3160
478ea067
AI
31612000-12-07 Andrew Innes <andrewi@gnu.org>
3162
3163 * w32fns.c (xlfd_charset_of_font): Fix last change.
3164
fbee3231
DL
31652000-12-06 Dave Love <fx@gnu.org>
3166
67292061
DL
3167 * md5.h (__P): Don't define -- it comes from config.h.
3168
fbee3231
DL
3169 * strftime.c: Change some #if foo to #ifdef foo.
3170
4ee87dbb
AI
31712000-12-06 Andrew Innes <andrewi@gnu.org>
3172
3173 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3174
52283633 3175 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3176 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3177 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3178
9765b4a4
GM
31792000-12-06 Gerd Moellmann <gerd@gnu.org>
3180
d285b373
GM
3181 * alloc.c (gc_sweep): Prevent symbols read during loadup
3182 from being freed.
3183
384333ee
GM
3184 * xdisp.c (underlying_face_id): New function.
3185 (handle_face_prop, face_before_or_after_it_pos): Use it
3186 to determine the face ``under'' a string. Let strings inherit
3187 the face of the buffer under them.
3188
3189 * xfaces.c (face_at_string_position): Update function comment.
52283633 3190
d4b72d58
GM
3191 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3192 matrix if the window's left position has changed; we need to
3193 redraw it in this case.
3194
3195 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3196
e1d05387
GM
3197 * window.c (coordinates_in_window): Check mouse on mode-line or
3198 header-line first.
3199
eb1b0c74
GM
3200 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3201 advertized by the function documentation.
3202
d94d636f
GM
3203 * window.c (syms_of_window): Doc fix.
3204
3887b449
GM
3205 * sound.c (vox_configure): Set volume for left and right channel.
3206 (sound_cleanup): Return nil.
3207
efc8f57a
GM
3208 * xdisp.c (move_it_by_lines): Fix paren typo.
3209
9765b4a4
GM
3210 * xterm.c (x_load_font): Don't use the font's max_bounds for
3211 computing the height of the font. If max_bounds' ascent or
3212 descent are greater than the font's ascent or descent, this means
3213 glyphs overlap, which should be handled now by redisplay.
3214
6529ed87
GM
3215 * window.c (Veven_window_heights): New variable.
3216 (syms_of_window): DEFVAR_LISP it.
3217 (Fdisplay_buffer): Check Veven_window_heights before evening the
3218 window heights.
52283633 3219
0eb2ecde
MB
32202000-12-06 Miles Bader <miles@gnu.org>
3221
3222 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3223 update `default-frame-alist' instead of setting no frame parameters.
3224
03d7a167
KH
32252000-12-06 Kenichi Handa <handa@etl.go.jp>
3226
3227 * composite.c (update_compositions): Fix typo (use the correct
3228 variable).
3229
5f8803c2
JR
32302000-12-05 Jason Rumney <jasonr@gnu.org>
3231
3232 * md5.h: Remove underscores from function declarations.
3233 (__attribute__, __alignof__) [!__GNUC__]: Define.
3234
3235 * md5.c: Delay include of md5.h until after namespace cleaning.
3236
c28a075b
JR
3237 * makefile.w32-in (fns.o): Depend on md5.h
3238 (md5.o): New target.
3239 (sunfns.o): Remove.
3240
3241 * makefile.nt: Likewise.
3242
ff3c7056
JR
32432000-12-05 Jason Rumney <jasonr@altavista.net>
3244
3245 * w32term.c (expose_area): Complete last change.
3246
0c21eeeb
KR
32472000-12-05 Ken Raeburn <raeburn@gnu.org>
3248
3249 * minibuf.c: Include intervals.h.
3250
f201d732
JR
32512000-12-05 Jason Rumney <jasonr@gnu.org>
3252
3253 * w32term.c (x_produce_glyphs): If a font for a component of
3254 a composition is not found, use 1 pixel dot ascent and 0 dot
3255 descent value to avoid displaying terribly tall empty boxes.
3256 (expose_area): Pass x-coordinate relative to the exposed
3257 area to x_draw_glyphs instead of a window-relative coordinate.
3258
21999ab9
GM
32592000-12-05 Gerd Moellmann <gerd@gnu.org>
3260
4d2036e4
GM
3261 * xdisp.c (next_element_from_ellipsis): Save face before selective
3262 display in saved_face_id, and set face_before_selective_p.
3263 (reseat_1): Reset face_before_selective_p.
3264 (append_space, extend_face_to_end_of_line): If iterator's
3265 face_before_selective_p is set, use the face from saved_face_id.
3266 (extend_face_to_end_of_line): For tty frames, make sure to
3267 use the right face id when producing spaces at the end of
3268 the line.
3269
3270 * dispextern.h (struct it): Add face_before_selective_p.
3271
52be17cc
GM
3272 * keyboard.c (record_char): Don't record identical help-echo
3273 events in recent_keys.
3274
8a4f36cc
GM
3275 * xterm.c [USE_X_TOOLKIT]: Close the display.
3276 (xim_close_dpy): Handle case that the display has been closed.
3277
57d6e381
GM
3278 * xterm.c (x_destroy_window): Reset the frame's X window after
3279 destroying it.
3280
21999ab9
GM
3281 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3282 variable window_width.
3283 (line_draw_cost): Fix code skipping over spaces at the end of the
3284 line when must_write_spaces is not set.
3285 (scrolling_window): Fix code inserting runs in list of all runs.
3286
91372bb7
KH
32872000-12-05 Kenichi Handa <handa@etl.go.jp>
3288
3289 * coding.c (setup_coding_system): Be sure to initialize
3290 coding->category_idx.
3291
6c083b4c
GM
32922000-12-04 Gerd Moellmann <gerd@gnu.org>
3293
0c68ce6f 3294 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3295
6452929e
GM
3296 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3297 area to x_draw_glyphs instead of a window-relative coordinate.
3298
d7f31e22
GM
3299 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3300 error in the message.
3301
ae18aa3b
GM
3302 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3303 timer after having read a key. It's not good for code reading
3304 several keys in a loop, like an input method.
3305
caa15ef7
GM
3306 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3307 record undo information for format-decode.
3308
3309 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3310 current buffer is read-only, not if it isn't.
3311
6c083b4c
GM
3312 * keyboard.c (record_char): Record `help-echo' input events
3313 in recent_keys only if they display some help. Don't record
3314 `help-echo' events as macro char.
3315
caa15ef7
GM
33162000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3317
3318 * editfns.c (save_excursion_restore): Don't move point
3319 in another window if it is showing the wrong buffer.
3320 Avoid the call to Fwindow_live_p, for speed.
3321
5a13529b
KH
33222000-12-04 Kenichi Handa <handa@etl.go.jp>
3323
e225faa7
KH
3324 * xfaces.c (struct font_name): New member registry_priority.
3325 (split_font_name): Initialize the above member to zero.
3326 (concat_font_list): New function.
3327 (font_list): Include fonts of all alternative registries.
3328 (FONT_POINT_SIZE_QUANTUM): New macro.
3329 (better_font_p): Ignore point size difference less than
3330 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3331
e89648b4
KH
3332 * xterm.c (x_produce_glyphs): If a font for a component of
3333 a composition is not found, use 1 pixel dot ascent and 0 dot
3334 descent value to avoid displaying terribly tall empty boxes.
3335
5a13529b
KH
3336 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3337
d7935eb6
KR
33382000-12-03 Ken Raeburn <raeburn@gnu.org>
3339
3340 * coding.h (code_convert_string1): Declare.
3341
3342 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3343
52283633 3344 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3345
0dd5e255
JR
33462000-12-02 Jason Rumney <jasonr@gnu.org>
3347
3348 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3349 correctly for single byte character case.
3350 (w32_per_char_metric): Do not try to make any assumptions about
3351 the metrics of BDF fonts.
250cfece 3352 (x_estimate_mode_line_height): If `mode-line' face
52283633 3353 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3354 (note_mouse_highlight): Change the cursor shape on the vertical
3355 border between windows [not enabled].
3356
3357 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3358
3359 * w32fns.c (Fx_create_frame): Reintroduce the call to
3360 face-set-after-frame-defaults.
3361 (Vx_window_horizontal_drag_shape): New variable.
3362 (syms_of_xfns): DEFVAR_LISP it.
3363 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3364 enabled].
0dd5e255 3365
b5d8d2ca
GM
33662000-12-02 Simon Josefsson <simon@josefsson.org>
3367
3368 * fns.c (Fmd5): Use a different logic to decide the coding system
3369 to use.
3370
3371 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3372
fbb87147
EZ
33732000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3374
52283633 3375 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3376
447e9da0
GM
33772000-12-01 Gerd Moellmann <gerd@gnu.org>
3378
7708ced0
GM
3379 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3380 height for YNegative.
3381 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3382 height; also see comment there.
3383
447e9da0
GM
3384 * window.c (coordinates_in_window): Handle computations for
3385 positions on the vertical bar and fringes differently for
3386 window-system frames. Consider some pixels near the vertical bar
3387 as on the bar if the frame doesn't have vertical scroll bars.
3388 Associate positions between mode or header lines with the
3389 right window, the left one.
3390
86d1db20
JR
33912000-12-01 Jason Rumney <jasonr@gnu.org>
3392
3393 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3394
3395 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3396 invalid frame.
3397
a1d58e5b
GM
33982000-12-01 Gerd Moellmann <gerd@gnu.org>
3399
52283633 3400 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3401 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3402 (save_window_save, Fset_window_configuration): Save/restore
3403 window's orig_top and orig_height.
3404
89c609af
JR
34052000-12-01 Jason Rumney <jasonr@gnu.org>
3406
4d177746 3407 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3408
89c609af
JR
3409 * w32fns.c (x_set_cursor_color): Fix last change.
3410
eccc05db
GM
34112000-11-30 Gerd Moellmann <gerd@gnu.org>
3412
31b6671b
GM
3413 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3414 sure that the next redisplay displays the minibuffer, so that
3415 the cursor will be replaced with what the minibuffer wants.
3416
eccc05db
GM
3417 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3418 #ifndef instead of using #if.
3419 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3420 USE_TOOLKIT_SCROLL_BARS is defined.
3421
162de750
JR
34222000-11-30 Jason Rumney <jasonr@gnu.org>
3423
3424 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3425 x_display_cursor.
3426
693c4692
GM
34272000-11-30 Gerd Moellmann <gerd@gnu.org>
3428
3429 * fns.c (Fmd5): Doc fix.
3430
b5d8d2ca 34312000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3432
3433 * fns.c (Fmd5): New function.
3434 (syms_of_fns): Defsubr md5.
3435
3436 * Makefile.in (obj): Add md5.o
3437
b02cd40b
GM
34382000-11-30 Gerd Moellmann <gerd@gnu.org>
3439
edfb795e
GM
3440 * md5.h, md5.c: New files, taken from glibc.
3441
df3aedcf
GM
3442 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3443
b02cd40b 3444 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3445 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3446
8b5176cd
SM
34472000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3448
3449 * eval.c (Frun_hooks): Allow 0 arguments.
3450
346598f1
GM
34512000-11-29 Gerd Moellmann <gerd@gnu.org>
3452
f9396e03
GM
3453 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3454 is over the menu bar widget, say it's not on the frame.
3455
4a967a9b
GM
3456 * xfns.c (Fx_create_frame): Reintroduce the call to
3457 face-set-after-frame-defaults.
3458
346598f1
GM
3459 * eval.c (Fsignal): Reset handling_signal.
3460
222456a1
JR
34612000-11-28 Jason Rumney <jasonr@gnu.org>
3462
3463 * w32menu.c (add_menu_item): Reset menu item text when changing
3464 type to radio button.
3465
8049ddc0
GM
34662000-11-28 Gerd Moellmann <gerd@gnu.org>
3467
346598f1 3468 * xselect.c: Update copyright.
f4f4ee4d 3469
bebe4a2c
GM
3470 * window.c (coordinates_in_window): If on a mode or header line,
3471 but sufficiently close to its start, return ``on vertical
3472 border''. This gives us a way to drag windows horizontally when
3473 using toolkit scroll bars.
3474
3475 * xterm.c (note_mouse_highlight): Change the cursor shape
3476 on the vertical border between windows.
3477
3478 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3479
3480 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3481 (syms_of_xfns): DEFVAR_LISP it.
3482 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3483
8d2c2642
GM
3484 * textprop.c (text_read_only): New function.
3485 (verify_interval_modification): Use it instead of signaling
3486 `text-read-only'. This makes it easier to catch this error
52283633 3487 with a breakpoint.:
8d2c2642 3488
52283633 3489 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3490 not end of line, which includes CR.
3491
5a2bae6c
KH
34922000-11-28 Kenichi Handa <handa@etl.go.jp>
3493
3494 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3495 include no-conversion.
3496
ae31f84d
JR
34972000-11-27 Jason Rumney <jasonr@gnu.org>
3498
3499 * w32fns.c (w32_load_system_font): Always mark font as double byte
3500 if codepage is unicode.
3501
67f1cf4c
GM
35022000-11-27 Gerd Moellmann <gerd@gnu.org>
3503
4a74d071 3504 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3505 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3506
902ae620
GM
3507 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3508 `vertical-line', `mode-line' and `header-line' events.
3509
3510 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3511 of a character, a TAB for instance. This is easier than to set
3512 up the iterator exactly, and it's not a frequent case, so the
3513 additional effort wouldn't really pay off.
3514
c1e279c2
AC
35152000-11-26 Andrew Choi <akochoi@i-cable.com>
3516
67f1cf4c 3517 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3518 init_window_once.
3519
a609568a
JR
35202000-11-25 Jason Rumney <jasonr@gnu.org>
3521
52283633
SM
3522 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3523 Args to window_from_coordinates should be pixel coordinates.
48b21762 3524
a609568a
JR
3525 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3526 redisplay handles them properly.
3527
a658d039
MB
35282000-11-25 Miles Bader <miles@gnu.org>
3529
3530 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3531
d3416cca
JR
35322000-11-24 Jason Rumney <jasonr@gnu.org>
3533
3534 * w32.c (init_environment): Set LANG environment variable based on
3535 locale settings, if not set.
3536
3537 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3538 making tool bar smaller. When clearing the frame, also
3539 clear current matrices. Clear frame when tool bar disappears.
3540 Don't use more lines for the tool-bar than is available.
3541 (x_change_window_heights): New function.
3542
ba193890
GM
35432000-11-24 Gerd Moellmann <gerd@gnu.org>
3544
2be8f184
GM
3545 * xdisp.c (init_from_display_pos): If POS says we're already after
3546 an overlay string ending at POS, make sure to pop the iterator
3547 because it will be in front of that overlay string. When POS is
3548 ZV, we've thereby also ``processed'' overlay strings at ZV.
3549
ba193890
GM
3550 * xfaces.c (lface_from_face_name): Function comment fix.
3551
1862a24e
MB
35522000-11-24 Miles Bader <miles@gnu.org>
3553
3554 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3555 apply `mode-line-inverse-video' -- zero means force display using
3556 the default face, non-zero means display using the specialized face.
3557 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3558
f07fa1b8
KH
35592000-11-23 Kenichi Handa <handa@etl.go.jp>
3560
3561 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3562 hard coded `4'.
3563
2bcdf662
EZ
35642000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3565
3566 * coding.c (decode_coding_emacs_mule): Fix the case of
3567 CODING_EOL_LF, which used uninitialized value of c.
3568
ba8299ff
SM
35692000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3570
3571 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3572
f4117c4d
GM
35732000-11-22 Gerd Moellmann <gerd@gnu.org>
3574
03e757c1
GM
3575 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3576 buffer object.
3577
f4117c4d
GM
3578 * frame.h (struct frame): Replace desired_tool_bar_items,
3579 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3580 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3581
3582 * frame.c (make_frame): Change initialization of tool bar
3583 items accordingly.
3584
3585 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3586 Change references to members deleted from struct frame to use the
f4117c4d
GM
3587 new ones.
3588
3589 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3590 references to members deleted from struct frame to use the new ones.
f4117c4d 3591
52283633 3592 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3593
3594 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3595
3596 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3597 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3598 from struct frame to use the new ones.
3599
f8e2f3f2
MB
36002000-11-23 Miles Bader <miles@gnu.org>
3601
3602 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3603 the face's inverse-video attribute, rather than overriding it.
3604
60e8e0a5
GM
36052000-11-22 Gerd Moellmann <gerd@gnu.org>
3606
3607 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3608 making tool bar smaller.
3609
92dd1b29
DL
36102000-11-22 Dave Love <fx@gnu.org>
3611
3612 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3613
e672fdce
MB
36142000-11-22 Miles Bader <miles@gnu.org>
3615
3a17d6cc
MB
3616 * keyboard.c (Vminibuffer_message_timeout): New variable.
3617 (command_loop_1): Use it to determine message timeout.
3618 (syms_of_keyboard): Initialize it.
3619
60e8e0a5 3620 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3621
e9655d81
KH
36222000-11-22 Kenichi Handa <handa@etl.go.jp>
3623
3624 * sysdep.c: Move the code for declaring h_errno after #include
3625 <netdb.h>.
3626
77270fac
GM
36272000-11-21 Gerd Moellmann <gerd@gnu.org>
3628
cd913aae
GM
3629 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3630 the menu bar when the tooltip is unmapped.
3631
77270fac
GM
3632 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3633 sole visible buffer when we're currently in the mini-buffer, and
3634 give up if so.
52283633 3635
556635d6
JR
36362000-11-21 Jason Rumney <jasonr@gnu.org>
3637
3638 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3639 put on the clipboard.
3640 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3641 copy of what Emacs last put there. If they are the same, do not
52283633 3642 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3643
5b7bde64
MB
36442000-11-22 Miles Bader <miles@gnu.org>
3645
3646 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3647 (syms_of_minibuf): Initialize it.
3648 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3649 to prompt, don't make read-only.
3650
ff23e1dd
GM
36512000-11-21 Gerd Moellmann <gerd@gnu.org>
3652
52283633
SM
3653 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3654 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3655
7aaf4388
GM
3656 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3657
f5f47add 3658 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3659
ff23e1dd
GM
3660 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3661
37c35586
KH
36622000-11-21 Kenichi Handa <handa@etl.go.jp>
3663
3664 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3665 ... #endif scope.
3666
ff9ab414
GM
36672000-11-20 Gerd Moellmann <gerd@gnu.org>
3668
52283633 3669 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3670 screen supports it.
3671
29a01b72
GM
3672 * s/gnu-linux.h: Don't use `#cpu'.
3673
09dfdf85
GM
3674 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3675 not defined in mman.h.
3676
52283633 3677 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3678 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3679 and store an index in the XClientMessageEvent. Storing a
3680 Lisp_Object or pointer can fail on a 64 bit system, since X only
3681 transfers 32 bits.
52283633
SM
3682 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3683
81459ac9
DL
36842000-11-20 Dave Love <fx@gnu.org>
3685
3686 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3687
56c13ae6
GM
36882000-11-20 Gerd Moellmann <gerd@gnu.org>
3689
3690 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3691
495a6df3
KH
36922000-11-20 Kenichi Handa <handa@etl.go.jp>
3693
2bcf3714
KH
3694 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3695 by WIDTH.
3696
495a6df3
KH
3697 * alloc.c (make_string): Fix previous change. Be sure to make
3698 unibyte string correctly.
3699
6d950f4c
GM
37002000-11-19 Gerd Moellmann <gerd@gnu.org>
3701
39b39373
GM
3702 * window.c (Fwindow_list): Change parameter list to be XEmacs
3703 compatible.
3704 (window_list_1): New function.
3705 (window_loop): Use it instead of Fwindow_list.
3706
b95b34e5
GM
3707 * sysdep.c (emacs_ospeed): New variable.
3708 (toplevel): Don't declare ospeed extern.
3709 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3710
3711 * termcap.c (ospeed): Remove.
3712 (tputs) [!emacs]: Remove unused code.
3713 (tgetent): Avoid a compiler warning.
3714
e83dc917
GM
3715 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3716 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3717 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3718
3719 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3720 removed.
3721 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3722 Take the X display as additional argument.
3723 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3724 `Widget' is a pointer type that's not easily stored in Lisp_Object
3725 form in a portable way.
52283633 3726
6d950f4c
GM
3727 * dispnew.c (update_text_area): Fix last change.
3728
e47306e6
GM
37292000-11-18 Gerd Moellmann <gerd@gnu.org>
3730
fb3cd89b
GM
3731 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3732
3733 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3734 clear current matrices.
3735
edaa9aed
GM
3736 * buffer.c (mmap_enlarge): Don't print a message on stderr
3737 if mapping new memory at the end of the existing region fails.
3738
e47306e6
GM
3739 * dispnew.c (update_text_area): Don't skip over equal glyphs
3740 when the last current glyph overlaps the glyph to its right.
3741
509633e3
MB
37422000-11-18 Miles Bader <miles@gnu.org>
3743
3744 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3745 lines that *end* with "..." too (that's the most common case!).
3746
d392e9c5
GM
37472000-11-18 Gerd Moellmann <gerd@gnu.org>
3748
67988445
GM
3749 * xdisp.c (resize_mini_window): Temporarily change to the
3750 mini-window's buffer if necessary.
1bfdbe43 3751
d392e9c5
GM
3752 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3753 the tooltip obscures less text under it.
3754
37552000-11-17 Gerd Moellmann <gerd@gnu.org>
3756
3757 * puresize.h (BASE_PURESIZE): Increase to 700000.
3758
92bb977f
JR
37592000-11-18 Jason Rumney <jasonr@gnu.org>
3760
3761 * w32term.c (w32_draw_bitmap): Use face to set colors.
3762
26fbf20b
DL
37632000-11-17 Dave Love <fx@gnu.org>
3764
3765 * lread.c (Fload): Fix #ifdef for pcc.
3766
100b593b
GM
37672000-11-17 Gerd Moellmann <gerd@gnu.org>
3768
3769 * xdisp.c (pos_visible_p): Compute the default character height
3770 differently.
3771
a288d0d1
GM
37722000-11-16 Gerd Moellmann <gerd@gnu.org>
3773
cac94de6 3774 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3775 knowing the line's height; use the default font's height in that case.
cac94de6 3776
a288d0d1
GM
3777 * xfaces.c (weight_table): Add `demi' with the same meaning as
3778 `demibold'.
3779
981fb6f6
KH
37802000-11-16 Kenichi Handa <handa@etl.go.jp>
3781
2cca872d 3782 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3783 (clear_glyph_row): Delete local static variable null_row.
3784
e5fa381b
JR
37852000-11-15 Jason Rumney <jasonr@gnu.org>
3786
3787 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3788 (w32_alloc_lighter_color): Use new brightness calculations from
3789 xterm.c. Scale delta to be in the range expected by W32.
3790 (w32_draw_relief_rect): Use frame relief colors.
3791
8e42f043
GM
37922000-11-15 Gerd Moellmann <gerd@gnu.org>
3793
6d133d1f
GM
3794 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3795 (Qinhibit_default_face_x_resources): New variable.
3796 (syms_of_frame): Initialize it.
3797 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3798
3799 * xdisp.c (pos_visible_p): Improve function comment.
3800
3801 * lisp.h (BINDING_STACK_SIZE): New macro.
3802
8e42f043
GM
3803 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3804 reading the directory if readdir returns null and errno is EAGAIN
3805 or EINTR.
3806
e8c87124
SM
38072000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3808
3809 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3810 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3811 Set amount_to_scroll to max of dx and scroll_step so that
3812 scroll-conservatively doesn't defeat scroll-step>1.
3813 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3814 scroll-conservatively for line-at-a-time scrolling.
3815
5f0c971d
GM
38162000-11-14 Gerd Moellmann <gerd@gnu.org>
3817
3818 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3819 extra argument.
3820
3821 * xdisp.c (current_mode_line_height, current_header_line_height):
3822 New variables.
3823 (init_xdisp): Initialize them.
3824 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3825 and use exact mode line heights if it is set.
3826
3827 * lisp.h (pos_visible_p): Change prototype.
3828
3829 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3830 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3831 and current_header_line_height first.
52283633
SM
3832 (current_mode_line_height, current_header_line_height):
3833 Declare extern.
5f0c971d 3834
d7361edf
MB
38352000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3836
3837 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3838 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3839 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3840
ee5e440a
MB
38412000-11-14 Miles Bader <miles@gnu.org>
3842
3843 * xterm.c (x_alloc_lighter_color): Include an additive component
3844 too for dark colors, because FACTOR isn't enough.
3845 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3846 New macros.
3847
5ca020fc
GM
38482000-11-13 Gerd Moellmann <gerd@gnu.org>
3849
3850 * keyboard.c (show_help_echo): Call message3_nolog with number of
3851 bytes in the help string as 2nd parameter, instead of the number
3852 of characters.
3853
9d348294
MB
38542000-11-13 Miles Bader <miles@gnu.org>
3855
3856 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3857 (Fload): Use new openp return protocol.
3858 Don't try to use Vload_source_file_function to load .elc files.
3859 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3860 openp return protocol.
3861 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3862
1729bb9a
KH
38632000-11-11 Kenichi Handa <handa@etl.go.jp>
3864
4e677396
KH
3865 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3866
3867 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3868 Defined these macros.
3869 (NLIST_STRUCT): Avoid re-defining it.
3870
1729bb9a
KH
3871 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3872 -I/usr/contrib/X11R6/include.
3873 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3874
a82fe213
JR
38752000-11-10 Jason Rumney <jasonr@gnu.org>
3876
3877 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3878
3879 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3880 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3881
3882 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3883 (Qw32_charset_vietnamese): New symbol.
3884 (xlfd_charset_of_font): New function.
3885 (w32_load_system_font): Use it.
3886 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3887 when Vw32_charset_info_alist is nil to ensure default face always
3888 has font. Use Fcar and Fcdr for safety.
3889 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3890 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3891 pseudo-codepages for special cases.
3892 (w32_to_x_font): New parameter to allow charset portion to be
3893 specified where there is many to one mapping. Callers changed.
3894 (w32_list_fonts): Avoid listing fonts that won't display.
3895
52d89894
GM
38962000-11-10 Gerd Moellmann <gerd@gnu.org>
3897
3898 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3899 (font_list_1): Renamed from font_list.
3900 (font_list): New function, trying alternative registries from
3901 Vface_alternative_font_registry_alist.
3902 (Finternal_set_alternative_font_registry_alist): New function.
3903 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3904 Vface_alternative_font_registry_alist.
3905 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3906
651cd3da
KR
39072000-11-09 Ken Raeburn <raeburn@gnu.org>
3908
3909 * lisp.h (Flooking_at): Declare.
3910
388ac098
GM
39112000-11-09 Gerd Moellmann <gerd@gnu.org>
3912
778fbc46 3913 * dired.c (directory_files_internal): Fix a braino.
52283633 3914
388ac098
GM
3915 * dired.c (directory_files_internal): Add missing GCPRO's.
3916 Some cleanup.
3917
ecaedde1
GM
39182000-11-08 Gerd Moellmann <gerd@gnu.org>
3919
f7eb32aa
GM
3920 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3921 (resize_mini_window): Return quickly if Vresize_mini_window is
3922 nil. Don't return if Vmax_mini_window_height is nil.
3923
3924 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3925 (syms_of_xdisp): Initialize them.
3926 (resize_mini_window): Act according to the setting of
3927 Vresize_mini_window.
3928 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3929
ecaedde1
GM
3930 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3931 scroll bar widget after configuring it, so that it will appear at
3932 the right position from the start.
3933 (XTredeem_scroll_bar): Cleaned up.
3934
3747ef2c
KH
39352000-11-08 Kenichi Handa <handa@etl.go.jp>
3936
3937 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3938 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3939 division by two.
3940
3941 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3942
03391420
DL
39432000-11-07 Dave Love <fx@gnu.org>
3944
7758f1c1 3945 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3946
3947 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3948
b5de343d
GM
39492000-11-07 Gerd Moellmann <gerd@gnu.org>
3950
acad3c0b
GM
3951 * window.c (Fset_window_configuration): Don't try to preserve
3952 point in the current buffer, if that buffer is displayed in more
3953 than one window.
3954
b5de343d
GM
3955 * xfaces.c (lookup_named_face): If default face isn't realized,
3956 try to realize it. Return -1 if not successful.
3957 (Fx_list_fonts): Handle case that face cannot be determined.
3958 (Fface_font): Likewise.
3959
cdb1fe49
GM
39602000-11-06 Gerd Moellmann <gerd@gnu.org>
3961
3962 * window.c (displayed_window_lines): Detect partially
3963 visible lines at the bottom correctly.
3964
d3a67486
SM
39652000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3966
3967 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3968 when ensuring we don't do visit in indirect buffer.
3969
ff8dd5d5
KH
39702000-11-06 Kenichi Handa <handa@etl.go.jp>
3971
3972 * composite.h (compose_chars_in_text): Add prototype.
3973
3974 * composite.c (Vcomposition_function_table): New variable.
3975 (Qcomposition_function_table): New variable.
3976 (run_composition_function): Call
3977 Vcompose_chars_after_function with three arguments.
3978 (compose_chars_in_text): New function.
3979 (syms_of_composite): Modified the doc-string of
3980 Vcompose_chars_after_function. Declare composition-function-table
3981 as a lisp variable, and initialize it.
3982
3983 * xfns.c (x_encode_text): Suppress producing escape sequences for
3984 composition.
3985
3986 * xselect.c: Include composite.h.
3987 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3988
d1145f85
AI
39892000-11-05 Andrew Innes <andrewi@gnu.org>
3990
3991 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3992
3993 * sysdep.c (read_input_waiting): Remove extraneous argument to
3994 read_socket_hook.
3995
3996 * w32fns.c (Fx_server_version): Include w32_build_number in the
3997 return list.
3998
3999 * w32heap.c (w32_build_number): New variable.
4000 (cache_system_info): Set it.
4001
4002 * w32heap.h (w32_build_number): Add extern.
4003
4004 * emacs.c (syms_of_emacs): Update docstring for
4005 system-configuration, to reflect the actual usage on MS-Windows.
4006
e85ee976
GM
40072000-10-31 Gerd Moellmann <gerd@gnu.org>
4008
26dcb81b
GM
4009 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4010 process idle timers while waiting for another event.
4011
52283633 4012 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4013 the default face are colored.
4014
e85ee976
GM
4015 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4016 window height hasn't changed.
4017
01b220b6
JR
40182000-10-31 Jason Rumney <jasonr@gnu.org>
4019
4020 * w32term.c (x_produce_glyphs): Handle composite characters.
4021 (x_draw_glyph_string_foreground)
4022 (x_draw_composite_glyph_string_foreground): Restore old font.
4023
4e6b7204
MB
40242000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4025
4026 * minibuf.c (read_minibuf): Reset the undo history just before
4027 starting the recursive-edit.
4028
d4358b37
GM
40292000-10-30 Gerd Moellmann <gerd@gnu.org>
4030
563f68f1
GM
4031 * xfaces.c (menu_face_change_count): New variable.
4032 (Finternal_set_lisp_face_attribute): Increment it for changes
4033 of the `menu' face.
4034 (realize_basic_faces): Reflect changes in the `menu' faces
4035 in menu bars.
4036
82e274d1
GM
4037 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4038 dy obtained from the iterator's y-position after moving from
4039 scroll_margin_pos to PT; see comment there.
52283633 4040
0dbf9fd2
GM
4041 * xdisp.c (safe_eval_handler): Call add_to_log.
4042
906b3b14
GM
4043 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4044 is not a symbol or string.
4045
d4358b37
GM
4046 * xdisp.c (echo_area_display): Don't perform a display update from
4047 inside redisplay. The update will happen anyway at the end of
4048 redisplay, and it can confuse redisplay (GC messages while
4049 redisplaying, for instance.)
4050
70c825df
SM
40512000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4052
cf9b4b0b
SM
4053 * xrdb.c (x_load_resources): Use the class name in the defaults.
4054
70c825df
SM
4055 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4056 (regex_compile): Catch bogus \(\1\).
4057
a1d34b1e
GM
40582000-10-30 Gerd Moellmann <gerd@gnu.org>
4059
cae71efe
GM
4060 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4061 RGB values.
52283633 4062
35efe0a1
GM
4063 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4064 we have a color cache, check that the cached color equals the
4065 allocated color. If not, clear the color cache.
4066
1d3baf74
GM
4067 * window.c (displayed_window_lines): Change buffers if necessary.
4068 Fix computation of displayed lines.
4069
a1d34b1e
GM
4070 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4071 update_menu_bindings to DEFVAR_BOOL.
4072
70737ea9
KH
40732000-10-30 Kenichi Handa <handa@etl.go.jp>
4074
70c825df 4075 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4076
fa0cb51d
KH
4077 * puresize.h (BASE_PURESIZE): Increase to 680000.
4078
70737ea9
KH
4079 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4080
0e4c08e8
JR
40812000-10-29 Jason Rumney <jasonr@gnu.org>
4082
4083 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4084
4085 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4086 (w32_cache_char_metrics): Handle possibility that 'x' does not
4087 exist in a BDF font.
4088 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4089
4090 * w32bdf.h (bdffont): Add nchars.
4091
4092 * w32bdf.c (set_bdf_font_info): Set it.
4093 (w32_BDF_TextOut): Swap byte order of double byte characters.
4094 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4095
45b84006
EZ
40962000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4097
4098 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4099 don't override the colors in frame's param_alist, unless they are
4100 unspecified.
4101
4102 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4103 reverse the effect of the highlight flag.
4104
caf9deee
KR
41052000-10-27 Ken Raeburn <raeburn@gnu.org>
4106
4107 * window.h (Fwindow_live_p): Declare.
4108
ae0b9b46
KR
4109 * undo.c (record_delete): Check that last_undo_buffer is really a
4110 buffer before applying XBUFFER to it.
4111
4112 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4113 Faref.
4114
02067692
SM
41152000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4116
4117 * lisp.h (KEYMAPP): New macro.
4118 (get_keymap): Remove.
4119 (get_keymap_1): Rename get_keymap.
4120
4121 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4122
4123 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4124
4125 * xmenu.c (single_submenu): Use KEYMAPP.
4126 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4127 Use KEYMAPP rather than Fkeymapp.
4128
4129 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4130
4131 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4132 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4133 Use KEYMAPP rather than Fkeymapp.
4134 (single_submenu): Use KEYMAPP.
4135 (w32_menu_show, w32_dialog_show): Use TRUE.
4136
4137 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4138
4139 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4140 (Fkeymapp): Use KEYMAPP.
4141 (get_keymap): Rename from get_keymap_1. Remove old def.
4142 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4143 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4144 (Fminor_mode_key_binding): Don't raise an error if the binding
4145 is not a keymap.
4146 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4147 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4148
4149 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4150 Allow Vspecial_event_map to be autoloaded.
4151 (menu_bar_items): Fetch the keymap rather than using keymapp.
4152 (menu_bar_one_keymap): No need to follow func-indirect any more.
4153 (parse_menu_item): get_keymap_1 -> get_keymap.
4154 (tool_bar_items): Fetch the keymap rather than using keymapp.
4155 (read_key_sequence): Use KEYMAPP.
4156
4157 * intervals.c (get_local_map): Use get_keymap rather than following
4158 function-indirections explicitly.
4159
4160 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4161
f9d80af3
JR
41622000-10-27 Jason Rumney <jasonr@gnu.org>
4163
4164 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4165 point, as Windows has oversized fonts.
4166
4167 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4168
a3ba27da
GM
41692000-10-27 Gerd Moellmann <gerd@gnu.org>
4170
4171 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4172 (freehook, reallochook): Handle null pointer arguments.
4173 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4174
aa3b80cc
SM
41752000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4176
4177 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4178 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4179 Giving in to popular pressure to shut up the compiler with casts.
4180
e24e84cc
GM
41812000-10-27 Gerd Moellmann <gerd@gnu.org>
4182
4183 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4184 signed value, and use a default value computed from the font's
4185 maximum descent.
4186
05ea7ef2
MB
41872000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4188
4189 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4190 that specify a negative underline position can still use underlines.
4191
4192 * window.c (Fpos_visible_in_window_p): Make POS default to
4193 WINDOW's point, not the current buffer's point.
4194
0b95284b
DL
41952000-10-26 Dave Love <fx@gnu.org>
4196
4197 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4198 when it's necessary.
4199
6c5b90af
GM
42002000-10-26 Gerd Moellmann <gerd@gnu.org>
4201
8b6d9dc9
GM
4202 * window.c (size_window): Compute size difference from sum of old
4203 child window sizes instead of from parent's size.
4204
6bc92b2e
GM
4205 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4206 Handle obscured lines at the top of the window.
4207
4208 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4209 down after the last error condition check.
4210
6c5b90af
GM
4211 * frame.c (Fdelete_frame): Run delete-frame-hook.
4212
42f92d4d
KH
42132000-10-26 Kenichi Handa <handa@etl.go.jp>
4214
4215 * coding.c (decode_coding): Fix previous change (check also
4216 CODING_MODE_LAST_BLOCK).
4217
d97151cb
SM
42182000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4219
e7efc503
SM
4220 * regex.c: More `unsigned char' -> `re_char' changes.
4221 Also change several `int' into `re_wchar_t'.
4222 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4223 (PUSH_FAILURE_POINTER): Don't cast any more.
4224 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4225 We want GCC to complain, since this piece of code makes
4226 re_match non-reentrant, which *should* be fixed.
4227 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4228 (EXTEND_BUFFER): Use RETALLOC.
4229 (SET_LIST_BIT): Don't cast.
4230 (re_wchar_t): New type.
4231 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4232 that those two functions will always properly return.
4233 (IMMEDIATE_QUIT_CHECK): Cast to void.
4234 (analyse_first): Use recursion rather than an explicit stack.
4235 (re_compile_fastmap): Can't fail anymore.
4236 (re_search_2): Don't check re_compile_fastmap for failure.
4237 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4238 Now also sets the new value (passed in a new argument).
4239 (re_match_2_internal): Use it.
4240 Also, use a new var `reg' of type size_t when looping through regs
4241 rather than reuse the inappropriate `mcnt'.
4242
d97151cb
SM
4243 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4244 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4245 (where_is_internal): Renamed from Fwhere_is_internal.
4246 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4247 (Fwhere_is_internal): New function wrapping where_is_internal.
4248 (where_is_internal_1): Handle the case where we're filling the cache.
4249 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4250
d5789b65
MB
42512000-10-25 Miles Bader <miles@gnu.org>
4252
4253 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4254
4ecda532
GM
42552000-10-25 Gerd Moellmann <gerd@gnu.org>
4256
4257 * window.c (pos_fully_visible_p): Removed.
4258 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4259 if position is visible and/or fully visible.
4260
4261 * lisp.h (pos_visible_p): Add prototype.
4262
4263 * xdisp.c (pos_visible_p): New function.
4264
68c3a137
KH
42652000-10-25 Kenichi Handa <handa@etl.go.jp>
4266
4267 * process.c (send_process): If OBJECT is t, it means that the data
4268 is from C string, but we should encode it. Before calling
4269 setup_raw_text_coding_system, be sure to flush out data by the
4270 previous coding system.
4271
7ae1c032
MB
42722000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4273
ff4dcd4b
MB
4274 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4275 assignment of startpos to prev when startpos == pos.
4276
7ae1c032
MB
4277 * editfns.c (find_field): Set the field stickiness correctly from
4278 overlay fields. Use renamed `text_property_stickiness'.
4279 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4280 Only check text properties, not overlays.
7ae1c032
MB
4281 * textprop.c (get_char_property_and_overlay): New function.
4282 (Fget_char_property): Use it.
4283 * intervals.h (get_char_property_and_overlay): Add declaration.
4284
49801145
SM
42852000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4286
4287 * keymap.c: Use AREF, ASET and ASIZE macros.
4288 (Fmake_sparse_keymap): Docstring fix.
4289 (synkey): Remove.
4290 (shadow_lookup): Move up.
4291 Handle the case where lookup-key returns an integer.
4292 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4293 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4294 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4295 Simplify/rewrite the keymap-finding code.
4296 Add check for command shadowing, using shadow_lookup.
4297
39e776cd
SM
42982000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4299
4300 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4301 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4302 a symbol.
4303
2488aba5
AI
43042000-10-24 Andrew Innes <andrewi@gnu.org>
4305
4306 * dired.c (directory_files_internal_unwind): New function.
4307 (directory_files_internal): Use it to ensure closedir is called
4308 even if expand-file-name or file-attributes throw, eg. because of
4309 a user interrupt. Also enable immediate_quit while calling
4310 re_search, so that matching can be interrupted as well.
4311
b94fdf61
AI
43122000-10-24 Andrew Innes <andrewi@gnu.org>
4313
4314 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4315 NT-Emacs only.
4316 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4317 so that re_search functions only quit when callers expect them to.
4318
43192000-10-24 Kenichi Handa <handa@etl.go.jp>
4320
4321 * regex.c (regex_compile): Change the way of handling a range from
4322 a char less than 256 to a char not less than 256.
4323
1946f901
GM
43242000-10-24 Gerd Moellmann <gerd@gnu.org>
4325
7ae2f10f
GM
4326 * window.c (size_window): Prevent setting window's width or
4327 height to a negative value (esp. with XSETFASTINT).
4328
5dcab13e
GM
4329 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4330 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4331 (protect_malloc_state) [GC_MALLOC_CHECK &&
4332 GC_PROTECT_MALLOC_STATE]: New function.
4333 (PROTECT_MALLOC_STATE): New macro.
4334 (__malloc_initialize, morecore, _malloc_internal)
4335 (_free_internal) _realloc_internal): Use it to make _heapinfo
4336 read-only outside of gmalloc.
4337
63e1b552
GM
4338 * keymap.c: Update copyright.
4339
1946f901
GM
4340 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4341 a symbol.
4342
4fa09beb
GM
43432000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4344
4345 * filelock.c (unlock_all_files): Use unlock_file to expand each
4346 buffer's file_truename before trying remove its lock file.
4347
23afac01
EZ
43482000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4349
4350 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4351 or CRLF, decode EOLs.
4352
04448b95
KH
43532000-10-24 Kenichi Handa <handa@etl.go.jp>
4354
4355 * window.c (Fdisplay_buffer): Fix doc.
4356
3090a5a5
JR
43572000-10-23 Jason Rumney <jasonr@gnu.org>
4358
4359 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4360 ASCII font of default fontset on Windows.
4361
4362 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4363 xterm.c comment below).
4364
4365 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4366
a83fee2c
GM
43672000-10-23 Gerd Moellmann <gerd@gnu.org>
4368
4369 * xterm.c (x_connection_closed): Reset handling_signal.
4370
52283633 4371 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4372
6ffdb539
MB
43732000-10-23 Miles Bader <miles@gnu.org>
4374
4375 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4376 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4377 maintain old behavior.
4378 * minibuf.c (Fminibuffer_complete): Likewise.
4379
7f1c969b
MB
43802000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4381
4382 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4383 that when a font can't be exactly centered, it errs up rather than
4384 down.
4385
23afac01 43862000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4387
52283633 4388 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4389
1a578e9b
AC
43902000-10-23 Andrew Choi <akochoi@i-cable.com>
4391
4392 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4393
4394 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4395 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4396
4397 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4398 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4399 syms_of_search, x_term_init, and init_keyboard before calling
4400 init_window_once. Also, call syms_of_xmenu.
4401
4402 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4403 default fontset to Monaco.
4404
4405 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4406 NewMacWindow and DisposeMacWindow.
4407 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4408 instead of calling NewMacWindow and setting fields of
4409 f->output_data.mac directly. Call init_frame_faces.
4410 (Fdelete_frame) [macintosh]: Remove unused code.
4411 (Fmodify_frame_parameters) [macintosh]: Call
4412 x_set_frame_parameters instead of mac_set_frame_parameters.
4413
4414 * frame.h [macintosh]: Define menu_bar_lines field in struct
4415 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4416
4417 * keyboard.c [macintosh]: Include macterm.h.
4418 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4419 and menu_bar_activate_event type events as for X and NT.
4420 (make_lispy_event) [macintosh]: Construct lisp events of type
4421 MENU_BAR_EVENT as for X and NT.
4422
4423 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4424 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4425 (sys_subshell) [macintosh]: Remove definition entirely.
4426 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4427 Vwindow_system_version here. Remove initialization of
4428 Vx_bitmap_file_path.
4429 (read_input_waiting): Correct the number of parameters passed to
4430 read_socket_hook.
4431 Move all Macintosh functions to mac/mac.c.
4432
4433 * term.c [macintosh]: Include macterm.h.
4434
4435 * window.c [macintosh]: Include macterm.h.
4436
4437 * xdisp.c [macintosh]: Include macterm.h. Declare
4438 set_frame_menubar and pending_menu_activation.
4439 (echo_area_display) [macintosh]: Do not return if terminal frame
4440 is the selected frame.
4441 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4442 Allow only the selected frame to set menu bar.
4443 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4444 calling FRAME_EXTERNAL_MENU_BAR (f).
4445 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4446
4447 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4448 and check_x. Declare XCreateGC. Define x_create_gc and
4449 x_free_gc. Initialize font_sort_order.
4450 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4451 but call x_list_fonts instead of w32_list_fonts.
4452 (Finternal_face_x_get_resource) [macintosh]: Do not call
4453 display_x_get_resource.
4454 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4455 (realize_x_face) [macintosh]: Load the font if it is specified in
4456 ATTRS.
52283633 4457 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4458
1ffbabe3
SM
44592000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4460
4461 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4462 is nil: since we go to the end of submap anyway, we'd end up
4463 setting nil to nil.
4464 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4465 doesn't obey autoload.
4466
bed43f1d
EZ
44672000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4468
1ffbabe3 4469 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4470
ea4233a7
JR
44712000-10-21 Jason Rumney <jasonr@gnu.org>
4472
4473 * w32term.c (w32_cache_char_metrics): Double check that font is
4474 really fixed pitch before trusting tmPitchAndFamily.
4475
f3d3c491
AI
44762000-10-21 Andrew Innes <andrewi@gnu.org>
4477
4478 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4479
4480 * w32term.h: Extern decl for w32_cache_char_metrics.
4481
4482 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4483
4484 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4485 (w32_unload_font): Free per_char array if present.
4486
4487 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4488 cached information in emulated XFontStruct to handle common cases
4489 quickly. Do not allocate XCharStruct for return.
4490 (w32_native_per_char_metric): New function.
4491 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4492 allocating one.
4493 (x_produce_glyphs): Don't get an HDC. Change calls to
4494 w32_per_char_metric to match arg change above. Remove calls to
4495 free results.
4496 (w32_get_glyph_overhangs): Ditto.
4497 (w32_cache_char_metrics): New function.
4498
4499 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4500 ($(BLD)/casefiddle.$(O)): Remove compile command.
4501 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4502 ($(BLD)/dispnew.obj):
4503 ($(BLD)/keyboard.obj):
4504 ($(BLD)/w32inevt.obj):
4505 ($(BLD)/w32bdf.obj):
4506 ($(BLD)/alloc.obj):
4507 ($(BLD)/buffer.obj):
4508 ($(BLD)/editfns.obj):
4509 ($(BLD)/emacs.obj):
4510 ($(BLD)/fileio.obj):
4511 ($(BLD)/fns.obj):
4512 ($(BLD)/indent.obj):
4513 ($(BLD)/insdel.obj):
4514 ($(BLD)/intervals.obj):
4515 ($(BLD)/minibuf.obj):
4516 ($(BLD)/print.obj):
4517 ($(BLD)/scroll.obj):
4518 ($(BLD)/sysdep.obj):
4519 ($(BLD)/textprop.obj):
4520 ($(BLD)/widget.obj):
f3d3c491
AI
4521 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4522 ($(BLD)/term.obj): Add dependency on dispextern.h.
4523
52283633
SM
4524 * makefile.nt ($(BLD)\dispnew.obj):
4525 ($(BLD)\keyboard.obj):
4526 ($(BLD)\w32inevt.obj):
4527 ($(BLD)\w32bdf.obj):
4528 ($(BLD)\alloc.obj):
4529 ($(BLD)\buffer.obj):
4530 ($(BLD)\editfns.obj):
4531 ($(BLD)\emacs.obj):
4532 ($(BLD)\fileio.obj):
4533 ($(BLD)\fns.obj):
4534 ($(BLD)\indent.obj):
4535 ($(BLD)\insdel.obj):
4536 ($(BLD)\intervals.obj):
4537 ($(BLD)\minibuf.obj):
4538 ($(BLD)\print.obj):
4539 ($(BLD)\scroll.obj):
4540 ($(BLD)\sysdep.obj):
4541 ($(BLD)\textprop.obj):
4542 ($(BLD)\widget.obj):
f3d3c491
AI
4543 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4544 ($(BLD)\term.obj): Add dependency on dispextern.h
4545
18ad4821
EZ
45462000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4547
4548 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4549 with an additional argument of Qt.
4550
de54681a
MB
45512000-10-21 Miles Bader <miles@gnu.org>
4552
4553 * window.c (pos_fully_visible_in_window_p): New function.
4554 (Fpos_visible_in_window_p): Add FULLY argument.
4555 Use pos_fully_visible_in_window_p.
4556 (window_scroll_pixel_based, window_scroll_line_based): Update
4557 calls to Fpos_visible_in_window_p.
4558 * lisp.h (Fpos_visible_in_window_p): Update prototype
4559
13c844fb
GM
45602000-10-20 Gerd Moellmann <gerd@gnu.org>
4561
4562 * alloc.c (toplevel): Conditionalize compilation of mem_*
4563 functions differently.
52283633 4564
d9506268
JR
45652000-10-20 Jason Rumney <jasonr@gnu.org>
4566
4567 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4568 mem_init where it used to be. mem_z etc not defined otherwise.
4569
8094989b
GM
45702000-10-20 Gerd Moellmann <gerd@gnu.org>
4571
4572 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4573 GC_MALLOC_CHECK.
4574 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4575 structure definition and related variabled to the top of the file.
4576 Include this code when GC_MALLOC_CHECK is defined.
4577 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4578 register/unregister allocated region.
4579 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4580 which isn't allocated.
4581 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4582 something which is already in use.
4583 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4584 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4585 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4586 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4587
4588 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4589 _malloc_internal instead of malloc.
4590 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4591 of free.
4592
ea456eb4
AI
45932000-10-20 Andrew Innes <andrewi@gnu.org>
4594
4595 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4596 Windows.
4597 (my_strftime) <macro>: Don't use macro arg list when redefining as
4598 _strftime_copytm.
4599 (my_strftime) <function>: Supply 0 as ut argument.
4600
e64c3a75
JR
46012000-10-19 Jason Rumney <jasonr@altavista.net>
4602
4603 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4604 including dispextern.h, as it stops faces from working.
4605
4606 * w32fns.c (Fx_create_frame): Don't bother calling
4607 face-set-after-frame-default since the caller does it for us
4608 anyway. Clean up calls to x_get_arg to be consistent with X.
4609
4610 * w32term.c (x_produce_glyphs): Handle
4611 unibyte_display_via_language_environment correctly.
4612 (w32_draw_box_rect): Fix the calculation of width and height.
4613
4614 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4615 as it has stopped working.
4616 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4617 menu-bar.
4618
17401c97
GM
46192000-10-19 Gerd Moellmann <gerd@gnu.org>
4620
4621 * eval.c (skip_debugger): Prevent a compiler warning.
4622 (Fcondition_case): Likewise.
4623 (Fbacktrace_frame): Use a null interactive spec.
4624
773272d8
KH
46252000-10-19 Kenichi Handa <handa@etl.go.jp>
4626
4627 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4628
a42943e9
GM
46292000-10-18 Gerd Moellmann <gerd@gnu.org>
4630
e50517d9
GM
4631 * strftime.c: Sync with glibc, file version 1.78.
4632 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4633 should no longer be used according to ISO 8601.
4634
9035a35a
GM
4635 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4636 no map for meta_prefix_char, don't try to use it as a keymap.
4637 Instead, if T_OK is non-zero, look up a default binding, if any,
4638 otherwise, if T_OK is zero, return nil.
4639
a42943e9
GM
4640 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4641 (x_to_xcolors, png_load): Use x_query_color.
4642
52283633
SM
4643 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4644 New functions.
a42943e9
GM
4645 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4646 which can be slow.
4647 (x_copy_color, x_alloc_lighter_color): Likewise.
4648
4649 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4650 (x_query_color, x_query_colors): Add prototype.
4651
4652 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4653 check_string_bytes only if not noninteractive, increase count to 50.
4654
00de2987
MB
46552000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4656
4657 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4658 markers correctly.
4659
54918e2b
GM
46602000-10-17 Gerd Moellmann <gerd@gnu.org>
4661
1f0b3fd2
GM
4662 * alloc.c (pure_bytes_used): Renamed from pureptr.
4663 (ALIGN): New macro.
4664 (pure_alloc): New function.
4665 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4666 Use it.
4667 (Fpurecopy): Use PURE_POINTER_P.
4668
68c5d1db
GM
4669 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4670 PT has moved backward.
52283633 4671
9a038881
GM
4672 * xdisp.c (cursor_row_p): Take continued lines into account.
4673
361b097f
GM
4674 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4675 string's size_byte.
4676 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4677 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4678 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4679 string allocated.
4680
54918e2b
GM
4681 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4682 of selective display off while searching for the next line start.
4683
03ed0806
KH
46842000-10-17 Kenichi Handa <handa@etl.go.jp>
4685
4686 * Makefile.in (term.o): Depend on dispextern.h.
4687
7e05cdaf
SM
46882000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4689
4690 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4691
a6801fd1
GM
46922000-10-16 Gerd Moellmann <gerd@gnu.org>
4693
483de32b
GM
4694 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4695 the iterator at the beginning, so that they can be set later on,
4696 for instance in reseat_at_next_visible_line_start, without being
4697 overwritten.
4698
a6801fd1
GM
4699 * xfns.c (pbm_format): Add :foreground and :background keywords.
4700 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4701 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4702
dbf1fcc1
EZ
47032000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4704
4705 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4706
52283633 4707 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4708
4709 * msdos.c (IT_set_face): Compare highlighted face with the default
4710 face, and invert colors if these faces' colors are identical.
4711 (Fmsdos_remember_default_colors): Don't swap foreground and
4712 background colors in initial_colors[].
4713 (IT_set_frame_parameters): Don't swap frame's foreground and
4714 background pixels. If ALIST includes "(reverse . t)", swap
4715 foreground-color and background-color properties in frame's
4716 param_alist. If the original frame's param_alist doesn't specify
4717 the colors, store unspecified-fg and unspecified-bg, reversed if
4718 required.
4719
4720 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4721 the colors are unspecified and reversed, reverse fore- and back-
4722 ground in the returned value.
4723 (Fframe_parameter): Ditto.
4724
b41fe2c3 47252000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4726
3a6b59d9
GM
4727 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4728 get_last_unchanged_at_beg_row.
4729 (find_first_unchanged_at_end_row): Renamed from
4730 get_first_unchanged_at_end_row.
4731 (find_first_unchanged_at_end_row): Convert assertions to
4732 unconditional tests which abort. When looking for a row in
4733 unchanged text, don't go further back than first_text_row.
4734
b41fe2c3
GM
4735 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4736 Don't add in the last line's height when deciding if the new
4737 position is below the scroll margin.
9d1af64f 4738
b41fe2c3 47392000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4740
4741 * editfns.c (Fconstrain_to_field): Check carefully for field
4742 boundaries if either OLD_POS or NEW_POS has a non-nil field
4743 property, even if they're the same.
4744
c412cb7b
KH
47452000-10-16 Kenichi Handa <handa@etl.go.jp>
4746
4747 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4748 height for XFillRectangle.
4749
5586f3eb
SM
47502000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4751
4752 * syntax.c (Fstring_to_syntax): New function extracted from
4753 Fmodify_syntax_entry.
4754 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4755 (skip_chars, Fforward_comment): Remove unused variables.
4756 (syms_of_syntax): Add defsubr for string-to-syntax.
4757 (describe_syntax): Add code for comment and string fences.
4758
db785038
SM
47592000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4760
4761 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4762 Do the meta->esc mapping. Call get_keyelt before returning.
4763 Start scanning from the second element (the first is always `keymap')
4764 to make it easier to detect when we reach a parent map.
4765 Handle the case of inheriting from a symbol whose function is a map.
4766 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4767 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4768 (get_keyelt, Flookup_key): Update call to access_keymap.
4769 Remove the meta->esc mappings.
4770 (define_as_prefix): Delete old disabled code.
4771 (menu_item_p): New function.
4772 (where_is_internal_1): Skip over the few remaining menu items.
4773 * lisp.h (access_keymap): Update prototype.
4774 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4775 Update call to access_keymap.
4776 (follow_key, read_key_sequence): Update calls to access_keymap.
4777 Remove the meta->esc mappings.
4778
cafafe0b
GM
47792000-10-13 Gerd Moellmann <gerd@gnu.org>
4780
a2e2a7f6
GM
4781 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4782 with additional argument.
4783
cafafe0b
GM
4784 * xdisp.c (cursor_row_p): New function.
4785 (try_cursor_movement, display_line): Use it.
52283633 4786
cafafe0b
GM
4787 * xdisp.c (append_space): Also save/restore iterator's current
4788 character and its length.
4789
4790 * xdisp.c (init_from_display_pos): Add an assertion.
4791 (handle_stop): Don't set iterator's add_overlay_start.
4792 (handle_invisible_prop): Likewise.
4793 (load_overlay_strings): If text under an overlay is invisible,
4794 take both before- and after-strings into account when the iterator
4795 is positioned either at the start or at the end of the overlay.
4796 (forward_to_next_line_start): Rewritten.
4797 (reseat_at_next_visible_line_start): Rewritten.
4798 (set_iterator_to_next): Add parameter RESEAT_P.
4799
4800 * dispextern.h (struct it): Remove member add_overlay_start.
4801 (set_iterator_to_next): Change prototype.
4802
c744452b
KH
48032000-10-13 Kenichi Handa <handa@etl.go.jp>
4804
4805 * coding.c (code_convert_region): Be sure to initialize
4806 coding->category_idx.
e4a3f4e1
KH
4807 (decode_coding_string): Set coding->src_multibyte and
4808 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4809 (encode_coding_string): Set coding->src_multibyte and
4810 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4811
321fd26f
SM
48122000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4813
4814 * xfns.c (Fx_create_frame): Don't bother calling
4815 face-set-after-frame-default since the caller does it for us anyway.
4816
76832439
EZ
48172000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4818
4819 * window.c (coordinates_in_window): Fix detection of vertical line
4820 on character terminals.
4821
2483cf58
GM
48222000-10-12 Gerd Moellmann <gerd@gnu.org>
4823
4824 * editfns.c (save_excursion_save): Additionally record the
4825 selected window.
4826 (save_excursion_restore): If buffer was visible in a window, and a
4827 different window was selected, and the old selected window is
4828 still live, restore point in that window.
4829
eb991b25
KH
48302000-10-12 Kenichi Handa <handa@etl.go.jp>
4831
8a0eba09
KH
4832 * xterm.c (x_produce_glyphs): Handle
4833 unibyte_display_via_language_environment correctly.
4834
20401fcc
KH
4835 * regex.c (regex_compile): Change the way of handling a range from
4836 unibyte char to multibyte char.
4837
4838 * syntax.c (skip_chars): Change the way of handling a range from
4839 unibyte char to multibyte char.
4840
eb991b25
KH
4841 * process.c (read_process_output): Cancel previous change.
4842
365dd325
EZ
48432000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4844
c1b096cb
EZ
4845 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4846
365dd325
EZ
4847 * charset.c (Ffind_charset_string): Doc fix.
4848 (Ffind_charset_region): Doc fix.
4849
eb483c2b
KH
48502000-10-11 Kenichi Handa <handa@mule.m17n.org>
4851
4852 * process.c (read_process_output): Fix previous change. Adjust
4853 multibyteness of text to insert in a buffer by
52283633 4854 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4855
b40bfb99
AS
48562000-10-10 Andreas Schwab <schwab@suse.de>
4857
4858 * alloc.c (mark_object): Remove all workarounds installed on
4859 1993-08-08.
4860
caff31d4
KH
48612000-10-10 Kenichi Handa <handa@etl.go.jp>
4862
52283633 4863 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4864 (base64_encode_1): Make it work for a text of multibyte form.
4865 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4866 case. Don't call str_to_multibyte because base64_decode_1
4867 produces correct multibyte form for eight-bit codes.
52283633 4868 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4869 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4870 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4871 codes.
4872
4873 * charset.h (CHAR_STRING): Optimized for single byte characters.
4874
cba026ef
AS
48752000-10-09 Andreas Schwab <schwab@suse.de>
4876
4877 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4878 -1 after socket is closed, to fall through to error processing.
4879
1e21fe48
EZ
48802000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4881
4882 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4883 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4884 background-color, change also the colors of the default face for
4885 this frame.
4886
a640322e
EZ
48872000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4888
4889 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4890 them extern (they are defined on xfaces.c).
4891 (syms_of_msdos): Don't intern and don't staticpro
4892 Qbackground_color and Qforeground_color.
4893
a115794c
EZ
48942000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4895
4896 * frame.c (Fframe_parameter): For non-windowed frames, if
4897 f->param_alist says foreground or background color is unspecified,
4898 call tty_color_name to return the color name computed from the
4899 frame's current colors.
4900
f5533b63
DL
49012000-10-06 Dave Love <fx@gnu.org>
4902
4903 * terminfo.c (ospeed): Don't declare.
4904
4905 * sysdep.c: Don't include string.h.
4906 (h_errno): Declare conditional also on TRY_AGAIN.
4907
4908 * charset.c (Ffind_charset_string): Doc fix.
4909
52283633 4910 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4911 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4912 error messages.
4913
2b06561a
DL
49142000-10-05 Dave Love <fx@gnu.org>
4915
4916 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4917 position like menu-bar.
4918
ca839c85
GM
49192000-10-05 Gerd Moellmann <gerd@gnu.org>
4920
4921 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4922
4923 * xdisp.c (handle_single_display_prop): Use safe_call1.
4924 (safe_call): Renamed from call_function.
4925 (safe_call1): New function.
4926 (handle_fontified_prop): Use safe_call1 instead of call1.
4927 (safe_eval): Renamed from eval_form.
4928 (safe_eval_handler): Renamed from eval_handler.
4929 (handle_single_display_prop, display_mode_element): Use safe_eval
4930 instead of eval_form.
4931
4932 * xfaces.c (merge_face_heights): Use safe_call instead of
4933 call_function.
4934
4935 * keyboard.c (show_help_echo): Use safe_call instead of
4936 call_function; use safe_eval instead of eval_form.
4937
4938 * lisp.h (safe_call): Renamed from call_function.
4939 (safe_eval): Renamed from eval_form.
4940 (safe_call1): Add prototype.
4941
a3489ece
MB
49422000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4943
4944 * xfns.c (image_ascent): Rearrange ascent calculation for the
4945 has-a-font case.
4946
35810b6f
SM
49472000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4948
4949 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4950 (where_is_internal_1): Don't bother ignoring menu-items any more.
4951
3dc78168
GM
49522000-10-04 Gerd Moellmann <gerd@gnu.org>
4953
4954 * keyboard.c (update_menu_bindings): New variable.
4955 (parse_menu_item): Use AREF. If update_menu_bindings
4956 is 0, don't update menu bindings.
4957 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4958
1efc2bb9
EZ
49592000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4960
4961 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4962 to `mark_object'.
4963
3f679f55
SM
49642000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4965
4966 * syntax.c (forw_comment): Match nestedness of ender/starter.
4967 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4968 (prev_char_comstart_first): Remove.
4969 (back_comment): Check two-char comment markers more carefully
4970 to better handle overlapping cases like *//* or /* */* */ ...
4971 Match nestedness of ender/starter.
4972
2021ab61
DL
49732000-10-02 Dave Love <fx@gnu.org>
4974
4975 * config.in (HAVE_GAI_STRERROR): Add undef.
4976
4977 * process.c (Fopen_network_stream): Use it.
4978
4979 * m/alpha.h (NO_REMAP): Don't define.
4980
64e6cc18
GM
49812000-10-02 Gerd Moellmann <gerd@gnu.org>
4982
4983 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4984 return with a string converted to an integer or vice versa when
4985 Vmocklisp_arguments is t.
4986 (Fsignal): Likewise. The function can return for `quit'.
4987 (struct gcpro): Declare member `var' to point to a volatile
4988 Lisp_Object.
4989
4990 * eval.c (error): Prevent compiler warning.
4991
b1904cd9
SM
49922000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4993
4994 * keymap.c (keymap_memberp): New function.
4995 (Fset_keymap_parent): Use it.
4996 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4997 Use keymap_memberp to avoid creating cycles.
4998 (access_keymap): Use KEYMAPP.
4999
71c9ec51
GM
50002000-09-30 Gerd Moellmann <gerd@gnu.org>
5001
5002 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5003 gai_strerror. Make sure xerrno is set if connect fails. Improve
5004 error recovery.
71c9ec51 5005
c70c6b58
JR
50062000-09-29 Jason Rumney <jasonr@gnu.org>
5007
5008 * w32term.c (w32_char_font_type, w32_encode_char)
5009 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5010 (w32_bdf_per_char_metric): New function.
5011 (w32_per_char_metric): Use it.
5012 (x_draw_glyph_string_background): Always draw background for BDF
5013 glyphs.
5014
5015 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5016 GDI object which is a scarce resource.
5017
5018 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5019 (get_quoted_string): Fix limit on memchr search.
5020 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5021 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5022 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5023 (get_cached_font_char, cache_char_offset): Use macro
5024 BDF_CODEPOINT_RANGE_COVER_P.
5025 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5026 (clear_cached_bitmap_slots): New function.
5027 (GET_HEX_VALUE): G-Z, g-z are not hex.
5028 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5029 (get_bitmap_with_cache): Use new cache implementation.
5030 (create_offscreen_bitmap): New function.
5031 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5032
5033 * w32term.c (x_produce_glyphs): If the distance from the current
5034 position to the next tab stop is less than a canonical character
5035 width, use the tab stop after that.
5036 (x_draw_glyphs): Handle case START and END are out of bounds more
5037 carefully.
5038 (x_clear_mouse_face): Block/unblock input.
5039 (x_display_and_set_cursor): Don't show a hollow box cursor for
5040 buffers whose cursor_type is nil.
5041
fe01239f
GM
50422000-09-29 Gerd Moellmann <gerd@gnu.org>
5043
52283633 5044 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5045
5046 * dispextern.h (updating_frame): Declare extern.
5047
e7c52f1f
AS
50482000-09-29 Andreas Schwab <schwab@suse.de>
5049
5050 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5051
de6e1f7c
GM
50522000-09-29 Gerd Moellmann <gerd@gnu.org>
5053
25126faa
GM
5054 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5055 use its function definition.
5056 (tool_bar_items): Likewise.
5057
de6e1f7c 5058 * lisp.h (fatal): Declare NO_RETURN.
52283633 5059
454ee39b
KH
50602000-09-29 Kenichi Handa <handa@etl.go.jp>
5061
5062 * keymap.c: Remove the line "#undef NULL".
5063
96301c5f
GM
50642000-09-28 Gerd Moellmann <gerd@gnu.org>
5065
52283633 5066 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5067
efffeeb4
DL
50682000-09-28 Dave Love <fx@gnu.org>
5069
ecb8b666
DL
5070 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5071
dc3cd20f
DL
5072 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5073
5074 * .gdbinit (xreload): Note its need on GNU/Linux.
5075
efffeeb4
DL
5076 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5077 r_alloc, r_alloc_free.
5078
8610d903
KH
50792000-09-28 Kenichi Handa <handa@etl.go.jp>
5080
5081 * syntax.c (skip_chars): Handle negation correctly.
5082
8901d1ac
GM
50832000-09-27 Gerd Moellmann <gerd@gnu.org>
5084
6f22f1ad
GM
5085 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5086 with non-zero FORCE_P argument.
5087
52283633 5088 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5089 Add assertions.
5090
5091 * xdisp.c (window_box_height): Add an assertion.
5092
5093 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5094 tool-bar than is available.
5095 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5096
36f1966f
DL
50972000-09-27 Dave Love <fx@gnu.org>
5098
efffeeb4 5099 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5100
31d929e5
GM
51012000-09-26 Gerd Moellmann <gerd@gnu.org>
5102
c98863bf
GM
5103 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5104 instead of BITS_PER_INT.
5105 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5106 EMACS_UINT, respectively.
5107 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5108
5109 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5110
5111 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5112
77072ab1
GM
5113 * window.c (freeze_window_starts): Construct last argument for
5114 foreach_window differently.
5115
5116 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5117
5118 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5119 EMACS_UINT instead of `int' and `unsigned int'.
5120 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5121
5122 * frame.h (struct frame): Make the `nothing' member of union
5123 output_data an EMACS_INT.
5124
52283633 5125 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5126 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5127 size in the sdata structure.
5128 (SDATA_NBYTES, SDATA_DATA): New macros.
5129 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5130 differently for the different layout of the sdata structure.
5131 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5132 in sdata.
5133 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5134 Check that size recorded in the string size and size recorded in
5135 the sdata structure agree.
5136
3e60b029
DL
51372000-09-25 Dave Love <fx@gnu.org>
5138
5139 * buffer.c: Include stdio.h.
5140
5141 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5142
3e60b029
DL
5143 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5144
5145 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5146 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5147 (__malloc_extra_blocks): Declare as __malloc_size_t.
5148
8ff16b4e
GM
51492000-09-25 Gerd Moellmann <gerd@gnu.org>
5150
755a2ccd
GM
5151 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5152
d8b4516f
GM
5153 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5154 (read_char): If help-echo is showing, preserve the echo area
5155 when redisplaying.
5156
5157 * xdisp.c (help_echo_showing_p): New variable.
5158 (set_message): Reset it to 0.
5159 (init_xdisp): Initialize help_echo_showing_p.
5160
5161 * dispextern.h (help_echo_showing_p): Declare extern.
5162
5163 * config.in: Fix typo in __GNUC_MINOR__.
5164
5165 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5166
b11af2dd
GM
5167 * s/freebsd.h (POSIX_SIGNALS): Define.
5168
8ff16b4e
GM
5169 * xterm.c (x_clear_mouse_face): Block/unblock input.
5170
844eb643
DL
51712000-09-24 Dave Love <fx@gnu.org>
5172
5173 * fns.c (base64_encode_1): Fix last change.
5174
b30ab1b3
GM
51752000-09-22 Gerd Moellmann <gerd@gnu.org>
5176
5177 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5178
5179 * xdisp.c (try_window_reusing_current_matrix): More fixes
5180 for the case window has a header-line.
5181
c6cbe5f0
DL
51822000-09-22 Dave Love <fx@gnu.org>
5183
4c7c1f3f
DL
5184 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5185 a doc string.
5186
5187 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5188
c6cbe5f0
DL
5189 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5190
550a625e
GM
51912000-09-21 Gerd Moellmann <gerd@gnu.org>
5192
4c7c1f3f 5193 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5194 for GCC >= 2.5.
5195
52283633
SM
5196 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5197 Declare NO_RETURN.
fca99116 5198
80d26f99
GM
5199 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5200 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5201 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5202 warnings.
52283633 5203
80d26f99
GM
5204 * marker.c (byte_char_debug_check): Return void.
5205
623a0aae
GM
5206 * xfns.c (Fx_create_frame): Set default frame parameter value
5207 for tool-bar-lines to 1.
5208
5209 * dispnew.c (scrolling_window): Compare y-positions of rows
5210 equal at the start. Some simplification.
5211
5212 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5213 reused rows' y-position in the case window has a header-line, and
5214 new window start is greater than old window start.
5215
42ac0ae5
GM
5216 * process.c (process_sent_to): New variable.
5217 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5218 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5219 Declare more parameters volatile.
5220
550a625e
GM
5221 * lread.c (Vrecursive_load_depth_limit): New variable.
5222 (Fload): Check recursive loads whose recursion depth exceeds
5223 Vrecursive_load_depth_limit.
5224 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5225
8320414c
GM
52262000-09-20 Gerd Moellmann <gerd@gnu.org>
5227
f46c275e
GM
5228 * fileio.c (Fread_file_name): Doc fix.
5229
5230 * editfns.c (Fmessage_or_box): Doc fix.
5231
5232 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5233
b7e11c5b 5234 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5235
8320414c
GM
5236 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5237 symbols are specified, add color translations to the cache.
52283633 5238 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5239 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5240 xpm_cache_color.
5241 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5242 structures to xpm_init_color_cache.
5243
da1608d9
GM
52442000-09-19 Gerd Moellmann <gerd@gnu.org>
5245
52283633 5246 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5247
6badfa25
AI
52482000-09-19 Andrew Innes <andrewi@gnu.org>
5249
5250 * makefile.nt (bootstrap-emacs): Don't change directory.
5251
3a5f42bb
KH
52522000-09-19 Kenichi Handa <handa@etl.go.jp>
5253
1b7649bd
KH
5254 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5255
3a5f42bb
KH
5256 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5257 If output buffer is too small, signal an appropriated error.
5258
9f83cf0b
DL
52592000-09-18 Dave Love <fx@gnu.org>
5260
52283633 5261 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5262 (current_active_maps): Remove redundant get_local_map call.
5263
28c7826c
GM
52642000-09-18 Gerd Moellmann <gerd@gnu.org>
5265
5cefa566
GM
5266 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5267 cursor for buffers whose cursor_type is nil.
52283633 5268
6fed3546
GM
5269 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5270 a feature to implement that is already implemented.
5271 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5272 warnings.
5273
5274 * xfns.c (x_clear_image_1): New function.
5275 (x_clear_image): Use it.
52283633 5276 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5277
05b1f851
GM
5278 * dispnew.c (update_window): Move test for invisible lines
5279 at the top to update_window_line.
5280 (update_window_line): Handle invisible lines here.
5281
f4779de9
GM
5282 * xfns.c (clear_image_cache): Clear current matrices of all
5283 frames sharing an image cache. Block input while freeing
5284 images. Fix timestamp comparison.
5285 (x_clear_image): Also free the mask.
5286
28c7826c
GM
5287 * xfns.c (lookup_image): Block input while loading the image so
5288 that we won't get interrupted in a state where the image isn't yet
5289 set up completely.
5290 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5291 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5292 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5293 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5294
b7412313
GM
52952000-09-16 Gerd Moellmann <gerd@gnu.org>
5296
5297 * dispnew.c (update_window): Make sure to make desired rows
5298 current even if they are completely invisible at the top
5299 of a window.
5300
47e351a3
GM
53012000-09-15 Gerd Moellmann <gerd@gnu.org>
5302
7f8f1edc
GM
5303 * xfns.c (lookup_image): Build mask before applying an algorithm.
5304 Recognize algorithm `disabled'.
5305 (cross_disabled_images): New variable.
5306 (COLOR_INTENSITY): New macro.
5307 (x_detect_edges): Use COLOR_INTENSITY.
5308 (x_disable_image): New function.
5309 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5310
5311 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5312 disabled state, don't apply an image transformation algorithm if
5313 the user specified an image for the disabled state. Use
28c7826c 5314 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5315 user hasn't specified an image.
5316
ebb8f116
GM
5317 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5318 allocation functions with the XPM lib.
5319 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5320 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5321 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5322 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5323 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5324 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5325 functions, if possible, because these handle color allocation
5326 failure more gracefully.
5327 (Fimage_mask_p): New function.
5328
47e351a3
GM
5329 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5330 (Qedge_detection, Qheuristic): New symbols.
5331 (syms_of_xfns): Initialize new symbols.
5332 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5333 `algorithm (edge-detection ...)'.
5334 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5335 (tiff_format, gif_format, gs_format): Add `:mask'.
5336 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5337 (GIF_MASK, GS_MASK): New enumerators.
5338 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5339 (emboss_matrix, laplace_matrix): New variables.
5340 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5341 (x_edge_detection): New functions.
5342 (x_laplace): Rewritten in terms of x_detect_edges.
5343 (x_build_heuristic_mask): If image has a mask, free it.
5344
fe83b953
AI
53452000-09-14 Andrew Innes <andrewi@gnu.org>
5346
5347 * makefile.w32-in: Revert to Unix line endings.
5348
3021e816
AI
53492000-09-14 Andrew Innes <andrewi@gnu.org>
5350
5351 * makefile.w32-in: Standardize indentation somewhat.
5352 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5353 cater for differences between shells.
5354
5355 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5356
2a32b5ea
GM
53572000-09-14 Gerd Moellmann <gerd@gnu.org>
5358
5359 * xterm.c (x_produce_glyphs): If the distance from the current
5360 position to the next tab stop is less than a canonical character
5361 width, use the tab stop after that.
5362
b4331e96
DL
53632000-09-14 Dave Love <fx@gnu.org>
5364
5365 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5366
ef9e4345
GM
53672000-09-14 Gerd Moellmann <gerd@gnu.org>
5368
085536c2
GM
5369 * xdisp.c (handle_fontified_prop): While running fontification
5370 functions, bind `fontification-functions' and
5371 `after-change-functions' to nil.
5372
ef9e4345
GM
5373 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5374 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5375
5376 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5377
5378 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5379 USE_MMAP_FOR_BUFFERS.
5380
5381 * insdel.c (make_gap): Use enlarge_buffer_text.
5382
5383 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5384 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5385 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5386 from former r_alloc_* functions in ralloc.c.
52283633 5387 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5388 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5389 (mmap_init) [REL_ALLOC_MMAP]: New function.
5390 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5391 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5392 BUFFER_FREE.
5393
5394 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5395 (enlarge_buffer_text): Add prototype.
5396
5397 * ralloc.c: Remove everything having to do with the use of mmap.
5398
f8608968
GM
53992000-09-13 Gerd Moellmann <gerd@gnu.org>
5400
2a494b2d
GM
5401 * sound.c (Fplay_sound): Doc fix.
5402
8c907a56
GM
5403 * keyboard.c: Avoid some more compiler warnings.
5404 (parse_tool_bar_item): Ignore cached key bindings.
5405
f8608968
GM
5406 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5407 and allocation of Lisp data.
5408
6ab70e9a
GM
54092000-09-12 Gerd Moellmann <gerd@gnu.org>
5410
d12d0a9b
GM
5411 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5412 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5413 defaults first.
5414
6ab70e9a
GM
5415 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5416
63c36c3c
KH
54172000-09-12 Miyashita Hisashi <himi@meadowy.org>
5418
5419 * ccl.c: Comment fixed.
5420 (MAX_MAP_SET_LEVEL): Increased to 30.
5421 (PUSH_MAPPING_STACK): Enclose with do-while block.
5422 (POP_MAPPING_STACK): Likewise.
5423 (stack_idx_of_map_multiple): New variable.
5424 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5425 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5426 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5427 (ccl_driver) <CCL_MapSingle>: Likewise.
5428 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5429 with the case where looking up process reaches to the end of
5430 map-set, and call CCL programs as the above change.
5431
7ee3bd7b
GM
54322000-09-11 Gerd Moellmann <gerd@gnu.org>
5433
8ec8a5ec
GM
5434 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5435 that might be clobbered by longjmp.
5436 (check_x_display_info, x_decode_color, create_frame_xic)
5437 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5438 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5439
f74b0705
GM
5440 * lread.c (init_lread): Set Vloads_in_progress to nil.
5441 (Fload): Show list of recursively loaded files, when signaling an
5442 error.
5443
7ee3bd7b
GM
5444 * lread.c (Vloads_in_progress): New variable.
5445 (record_load_unwind): New function.
5446 (Fload): Check for recursive loads.
5447 (syms_of_lread): Initialize Vloads_in_progress.
5448 (read_integer, read1): Avoid some compiler warnings.
5449
5450 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5451 compiler warnings.
5452
974e1e5b
MB
54532000-09-11 Miles Bader <miles@gnu.org>
5454
5455 * editfns.c (Fbuffer_string): Doc fix.
5456
9824c4e3
GM
54572000-09-10 Gerd Moellmann <gerd@gnu.org>
5458
5459 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5460
6a72fdd1
KR
54612000-09-09 Ken Raeburn <raeburn@gnu.org>
5462
5463 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5464 whether to include other header files.
5465
28e6fb66
GM
54662000-09-09 Gerd Moellmann <gerd@gnu.org>
5467
52283633 5468 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5469 by Fmemq as a boolean.
28e6fb66 5470
7f8b6551
SM
54712000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5472
5473 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5474
a8710abf
GM
54752000-09-08 Gerd Moellmann <gerd@gnu.org>
5476
d1a02881
GM
5477 * ralloc.c (mmap_fd): Remove initializer which can make it
5478 read-only in a dumped Emacs.
5479 (mmap_fd_1): New variable.
5480 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5481 restore it from there.
5482 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5483 unconditionally so that mmap_fd can be initialized there.
5484 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5485 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5486 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5487
c454aac1
GM
5488 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5489
5490 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5491 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5492
fc653ef2
GM
5493 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5494
3015eec0
GM
5495 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5496 inheritance.
5497
bfe0ee88
GM
5498 * xdisp.c (try_window_id): When trying to locate cursor in
5499 unchanged rows at the top, handle the case that we can't find it.
5500
a8710abf
GM
5501 * xterm.c (x_draw_glyphs): Handle case START and END are out
5502 of bounds more carefully.
5503
6b7d4ae4
DL
55042000-09-08 Dave Love <fx@gnu.org>
5505
423193c5
DL
5506 * s/sol2.h (REL_ALLOC_MMAP): Define.
5507 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5508
5509 * ralloc.c: Don't include string.h (redundant).
5510 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5511 [!MAP_ANON]: Include fcntl.h.
5512 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5513 (r_alloc, r_re_alloc, r_alloc_free)
5514 (mmap_enlarge, mmap_set_vars): Use it.
5515 (r_alloc_init_fd): New function.
5516 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5517 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5518 malloc type.
5519
5520 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5521 Remove vm-limit.o.
5522
6b7d4ae4
DL
5523 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5524 change to __NetBSD__.
5525
44d31981
KH
55262000-09-08 Kenichi Handa <handa@etl.go.jp>
5527
5528 * search.c (compile_pattern): Check the multibyteness of cached
5529 string and PATTERN.
5530
aad40737
MB
55312000-09-08 Miles Bader <miles@gnu.org>
5532
5533 * xfaces.c (default_face_vector): Function removed.
5534 (Finternal_merge_in_global_face): Restore old global/local
5535 attribute override order. Use inline loop instead of calling
5536 default_face_vector.
5537
91a211b5
GM
55382000-09-07 Gerd Moellmann <gerd@gnu.org>
5539
5540 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5541 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5542 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5543 where necessary, in case POINTER_TYPE is `void'.
5544
03419440
EZ
55452000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5546
5547 * frame.c (make_terminal_frame): Initialize frame foreground and
5548 background colors to unspecified, for the initial instance of an
5549 MSDOS frame.
5550
f46f845b
GM
55512000-09-07 Gerd Moellmann <gerd@gnu.org>
5552
24f76fbf
GM
5553 * ralloc.c (mmap_find): Fix overlap computation.
5554 (mmap_enlarge): Compute nbytes before trying to find an
5555 overlapping region.
5556
f46f845b
GM
5557 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5558 instead of `!='.
5559
5560 * lread.c (syms_of_lread): Change value of regexp
5561 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5562
5563 * xmenu.c (xdialog_show): When looking up the selection in
5564 menu_items, take `quote' boundaries into account; this corresponds
5565 to a nil ITEM in x-popup-dialog.
5566
3c014385
KH
55672000-09-07 Kenichi Handa <handa@etl.go.jp>
5568
fd6f711b
KH
5569 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5570 not 0x81.
5571 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5572
3c014385 5573 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5574 encoding, not decoding. Fix the handling of latin-jisx0201.
5575 Check for the charset katakana-jisx0201 too.
3c014385 5576 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5577 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5578
0da3ecef
GM
55792000-09-07 Gerd Moellmann <gerd@gnu.org>
5580
ab0ee409
GM
5581 * xfaces.c (Vparam_value_alist): New variable.
5582 (syms_of_xfaces): Initialize it.
5583 (Finternal_set_lisp_face_attribute): Avoid more consing.
5584
5585 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5586 specially.
5587 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5588 (Qbackground_mode): New variable.
5589 (syms_of_frame_1): Initialize Qbackground_mode.
5590
5591 * lisp.h (Qdisplay): Declare extern.
1091dd67 5592
0da3ecef
GM
5593 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5594 change face on all frames, and change the default for new frames.
5595
b14654b9
DL
55962000-09-07 Dave Love <fx@gnu.org>
5597
5598 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5599
d24fd56f
KH
56002000-09-07 Kenichi Handa <handa@etl.go.jp>
5601
794f3670
KH
5602 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5603
0fddd0dc
KH
5604 * charset.c: Include composite.h
5605 (lisp_string_width): New function.
5606 (Fstring_width): Call lisp_string_width instead of strwidth.
5607
5608 * Makefile.in (charset.o): Depends on composite.h.
5609
d24fd56f
KH
5610 * process.c (read_process_output): Before inserting the decoded
5611 text in the buffer, adjust the multibyteness.
5612
fa0b693c
GM
56132000-09-06 Gerd Moellmann <gerd@gnu.org>
5614
52283633 5615 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5616 buffer's text buffer is null, map new memory.
5617
0a58f946
GM
5618 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5619 POINTER_TYPE and size_t.
5620 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5621 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5622 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5623 [REL_ALLOC_MMAP]: New macros.
5624 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5625 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5626 [REL_ALLOC_MMAP]: New functions.
5627
5628 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5629 before and after unexec.
5630
5631 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5632 text buffers if necessary.
5633
5634 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5635 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5636 in prototypes.
5637
fa0b693c
GM
5638 * config.in (HAVE_MMAP): Add #undef.
5639
877055f6
GM
56402000-09-05 Gerd Moellmann <gerd@gnu.org>
5641
08ba3862
GM
5642 * frame.c (Qdisplay_type): New variable.
5643 (syms_of_frame_1): Initialize it.
5644 (Fframe_parameter): New function that avoids consing.
5645 (syms_of_frame): Defsubr it.
5646
66ffe51c
GM
5647 * buffer.c (Fother_buffer): Consider buffers as invisible when
5648 they are displayed in a window on an invisible frame.
5649
877055f6
GM
5650 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5651 get-largest-window always return nil.
5652
bb970e67
GM
56532000-09-04 Gerd Moellmann <gerd@gnu.org>
5654
5655 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5656 variable; recognize Emacs 19 elc files.
5657
7a3d0e0e
MB
56582000-09-04 Miles Bader <miles@gnu.org>
5659
5660 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5661 before initially popping up the menu, so the menu doesn't flash
52283633 5662 when the face settings are significantly different from the defaults.
7a3d0e0e 5663
14473664
SM
56642000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5665
5666 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5667 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5668 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5669 (BIT_UNIBYTE): Remove.
5670 (re_match_2_internal): Delete corresponding code and streamline the
5671 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5672 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5673 (re_wctype_t): New type.
5674 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5675 (regex_compile): Use them and fix handling of overly long char classes.
5676
c1174479
AI
56772000-09-03 Andrew Innes <andrewi@gnu.org>
5678
f8803e97
AI
5679 * makefile.w32-in: Change to DOS line endings.
5680
c1174479
AI
5681 * s/ms-w32.h (ORDINARY_LINK): New define.
5682
5683 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5684 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5685
5686 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5687 (distclean): Delete them here instead.
5688
44ef7cf6
AI
5689 * w32proc.c (compare_env): Convert to uppercase for comparison,
5690 not lowercase, to match how the native Windows shell works.
5691
49b3bd82
JR
56922000-09-03 Jason Rumney <jasonr@gnu.org>
5693
5694 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5695 CVS changes the line-ends when checking in/out on DOS/Windows.
5696
5697 * makefile.nt (emacs): Do not change directory to run temacs, as
5698 the load-path is set relative to current directory.
5699
a3d35a39
MB
57002000-09-03 Miles Bader <miles@gnu.org>
5701
5702 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5703
d276b0cf
GM
57042000-09-02 Gerd Moellmann <gerd@gnu.org>
5705
715e84c9
GM
5706 * xdisp.c (redisplay_mode_lines): New function.
5707 (display_mode_lines): Return number of mode lines displayed.
5708 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5709 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5710
8892f40b
GM
5711 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5712 string.h and strings.h.
5713 (index) [HAVE_INDEX]: Add prototype.
5714
d276b0cf
GM
5715 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5716 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5717
5718 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5719 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5720
38404229
GM
57212000-09-01 Gerd Moellmann <gerd@gnu.org>
5722
5723 * lread.c (read1): Accept `?' as symbol constituent, for
5724 compatiblity with XEmacs.
5725
c0f9ea08
SM
57262000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5727
5728 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5729 (struct re_pattern_buffer): Remove newline_anchor.
5730 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5731 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5732 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5733 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5734 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5735 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5736 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5737 Get rid of references to newline_anchor.
5738 (regcomp): Allocate and precompute a fastmap.
5739
8c0f83fe
GM
57402000-08-31 Gerd Moellmann <gerd@gnu.org>
5741
5742 * lread.c (openp): GCPRO local variable `filename'.
5743
4bb91c68
SM
57442000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5745
5746 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5747
5748 * regex.c: Merge some changes from GNU libc. Add prototypes.
5749 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5750 Use memcmp and memcpy instead of bcopy and bcmp.
5751 (init_syntax_once): Use ISALNUM.
5752 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5753 (REG_UNSET_VALUE): Remove. Use NULL instead.
5754 (REG_UNSET, re_match_2_internal): Use NULL.
5755 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5756 New macros.
5757 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5758 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5759 (regex_compile): In handle_interval, return an error rather than try to
5760 unfetch the interval if we can't find the closing brace.
5761 Obey the RE_NO_GNU_OPS syntax bit.
5762 (TOLOWER): New macro.
5763 (regcomp): Use it.
5764 (regexec): Allocate regs.start and regs.end as one block.
5765
5226a931
GM
57662000-08-30 Gerd Moellmann <gerd@gnu.org>
5767
868dd24b
GM
5768 * xdisp.c (echo_area_display): Check display_completed instead
5769 of calling detect_input_pending.
5770
5771 * dispnew.c (update_frame): Only set display_completed here; move
5772 the update_begin and update_end calls here from update_frame_1.
5773 (update_frame_1): Don't set display_completed here, don't call
5774 update_begin/update_end.
5775
5226a931
GM
5776 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5777 instead of store_frame_param.
5778
2a8bd25f
GM
57792000-08-29 Gerd Moellmann <gerd@gnu.org>
5780
5781 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5782 desired window matrix hasn't been displayed, use the current row
5783 instead. Make sure that only those frame rows are updated for
5784 which there exists a corresponding enabled desired row.
52283633 5785
ba3478d9
MB
57862000-08-29 Miles Bader <miles@gnu.org>
5787
5788 * xfaces.c (default_face_vector): New function.
5789 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5790
87d0f685
GM
57912000-08-29 Gerd Moellmann <gerd@gnu.org>
5792
5793 * lread.c (openp): Prevent temporary string passed to
5794 Ffile_readable_p from being garbage collected.
5795
6fa86045
DL
57962000-08-28 Dave Love <fx@gnu.org>
5797
5798 * keymap.c (store_in_keymap): Add `static' to declaration.
5799
bb17930d
GM
58002000-08-28 Gerd Moellmann <gerd@gnu.org>
5801
5802 * emacs.c, callint.c, doc.c, editfns.c
5803 (toplevel) [HAVE_STRING_H]: Include string.h.
5804 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5805 (index): Remove prototypes which might conflict with non-standard
5806 definitions of index/strchr.
5807
5808 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5809 (rindex): Define only if !HAVE_RINDEX.
5810
5811 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5812
5813 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5814
87188200
MB
58152000-08-28 Miles Bader <miles@gnu.org>
5816
5817 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5818 made inconsistent by a font-related attribute in FROM.
5819 (merge_face_inheritance): Add function comment.
5820
41a68aef
KH
58212000-08-28 Kenichi Handa <handa@etl.go.jp>
5822
5823 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5824 the 4th arg (PREV_EVENT) Qt to suppress input method.
5825
f7c436c1
SM
58262000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5827
0b32bf0e
SM
5828 * regex.c: Indent cpp directives and remove parens after `defined'.
5829 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5830 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5831 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5832 (re_compile_pattern): Use size_t for length.
5833 (init_syntax_once): Move to a better place.
5834 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5835 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5836
f7c436c1
SM
5837 * syntax.c (back_comment): Detect cases where a comment-starter is
5838 actually inside another comment as in: /* a // b */ c // d \n.
5839 Make it clear that `comstart_pos' is unused for nested comments.
5840
5841 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5842 (KEYMAPP): New macro.
5843 (Fkeymap_parent, Fset_keymap_parent): Use it.
5844 (fix_submap_inheritance): Mark it static.
5845 (define_as_prefix, describe_buffer_bindings, describe_command)
5846 (describe_translation, describe_map): Complete prototypes.
5847
5848 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5849
5850 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5851 to better match the key-lookup behavior.
5852
6288c62f
GM
58532000-08-27 Gerd Moellmann <gerd@gnu.org>
5854
5855 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5856 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5857
e931344e
EZ
58582000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5859
5860 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5861 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5862 (xterm.o): Depend on coding.h
5863
d10dfeef
KH
58642000-08-26 Kenichi Handa <handa@etl.go.jp>
5865
5866 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5867 the corresponding '#endif'.
5868
2d73e8d3
MB
58692000-08-26 Miles Bader <miles@gnu.org>
5870
5871 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5872 * xfaces.c (QCinherit): New variable.
5873 (syms_of_xfaces): Initialize it.
5874 (LFACE_INHERIT): New macro.
5875 (Finternal_get_lisp_face_attribute)
52283633 5876 (merge_face_vector_with_property)
2d73e8d3
MB
5877 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5878 (check_lface_attrs): Allow new types of face height. Check
5879 inherit attribute.
5880 (CYCLE_CHECK): New macro.
5881 (merge_face_inheritance): New function.
5882 (merge_face_vectors): Merge inherited faces too. Add F and
5883 CYCLE_CHECK arguments.
5884 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5885 (lookup_named_face, lookup_derived_face, realize_named_face)
5886 (face_at_string_position, face_at_buffer_position): Supply
5887 new F and CYCLE_CHECK arguments to merge_face_vectors.
5888 (merge_face_heights): New function.
52283633 5889 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5890 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5891 handle relative face heights.
5892 (lface_same_font_attributes_p): Compare heights using EQ.
5893
6ce974d4
KH
58942000-08-26 Kenichi Handa <handa@etl.go.jp>
5895
5896 * charset.c (char_to_string): Check the character validity.
52283633 5897 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5898
dc1e502d
SM
58992000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5900
5901 * regex.c (PUSH_FAILURE_COUNT): New macro.
5902 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5903 Handle popping of a register's or a counter's data.
5904 (POP_FAILURE_POINT): Use the new name.
5905 (re_match_2_internal): Push counter data on the stack for succeed_n,
5906 jump_n and set_number_at and remove misleading dead code in succeed_n.
5907
bd9d0f3f
GM
59082000-08-25 Gerd Moellmann <gerd@gnu.org>
5909
5910 * xdisp.c (redisplay_internal): If considering all windows on all
5911 frames, update the display for each frame as soon as possible,
5912 instead of first building all desired matrices for all frames, and
5913 then updating them all.
5914 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5915
aa5b8e15
GM
59162000-08-24 Gerd Moellmann <gerd@gnu.org>
5917
17494071
GM
5918 * bytecode.c (mark_byte_stack): Add a comment.
5919
52283633
SM
5920 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5921 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5922 a graphical frame.
5923
c543db81
KH
59242000-08-24 Kenichi Handa <handa@etl.go.jp>
5925
d246d5f5
KH
5926 * minibuf.c (do_completion): Always use compare-string, not
5927 string-equal because the latter doesn't pay attention to
5928 multibyteness of strings.
5929
c543db81
KH
5930 * process.c (create_process): Don't setup raw-text coding here.
5931 (Fopen_network_stream): Don't set coding->src_multibyte and
5932 coding->dst_multibyte here.
5933 (read_process_output): For process filter, return unibyte string
5934 if default-enable-multibyte-characters is nil.
5935 (send_process): If OBJECT is multibyte text, be sure to encoded it
5936 by the specified coding system for the process. Otherwise, setup
5937 raw-text coding.
52283633 5938 (init_process): Don't initialize default-process-coding-system here.
c543db81 5939
9b47cfe0
EZ
59402000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5941
5942 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5943 <scroll-down-aggressively>: Likewise.
5944
f5a36960
KH
59452000-08-23 Kenichi Handa <handa@etl.go.jp>
5946
5947 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5948 zero. Set coding->produced_char correctly.
5949
69a7ffa7
AI
59502000-08-22 Andrew Innes <andrewi@gnu.org>
5951
5952 * makefile.w32-in: New file.
5953
5954 * unexw32.c (unexec): Ignore old_name, and use the actual location
5955 of the current executable instead. Base new_name on this.
5956
5957 * w32proc.c (create_child): Remove reference to security
5958 descriptor, which isn't needed and doesn't compile with mingw32.
5959
5960 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5961 up dllimport attributes.
5962 (x_update_window_end): Update prototype.
5963
5964 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5965 extern, which screws up dllimport attributes.
5966
5967 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5968 up dllimport attributes.
5969
5970 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5971 screws up dllimport attributes.
5972
5973 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5974 up dllimport attributes.
5975 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5976 screws up dllimport attributes.
5977
5978 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5979 up dllimport attributes.
5980
5981 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5982 screws up dllimport attributes.
5983
5984 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5985 screws up dllimport attributes.
5986
5987 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5988 up dllimport attributes.
5989
5990 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5991 unnecessary extern, which screws up dllimport attributes.
5992 (main): Ditto.
5993
5994 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5995 up dllimport attributes.
5996
5997 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5998 unnecessary extern, which screws up dllimport attributes.
5999
6000 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6001 screws up dllimport attributes.
6002
6003 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6004 up dllimport attributes.
6005
6006 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6007
52283633
SM
6008 * w32bdf.c (search_file_line):
6009 (set_bdf_font_info):
6010 (seek_char):
6011 (w32_get_bdf_glyph):
69a7ffa7
AI
6012 (w32_BDF_to_x_font): Fix compile warnings.
6013
52283633 6014 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6015
6016 * w32select.c: Include keyboard.h before frame.h.
6017
6018 * w32fns.c (max): Define macro.
6019 (JOHAB_CHARSET): Define if not known.
6020 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6021 (Fx_show_tip): Synch with X version.
6022
6023 * w32xfns.c: Include keyboard.h before frame.h.
6024
6025 * w32fns.c: Include keyboard.h before frame.h.
6026
6027 * w32term.c: Include keyboard.h before frame.h.
6028
6029 * fontset.c: Include keyboard.h before frame.h.
6030
6031 * w32inevt.c: Include keyboard.h before frame.h.
6032 (MOUSE_MOVED): Define if not known.
6033
6034 * minibuf.c: Include keyboard.h before frame.h.
6035
6036 * keyboard.c: Include keyboard.h before frame.h.
6037
6038 * indent.c: Include keyboard.h before frame.h.
6039
6040 * dispnew.c: Include keyboard.h before frame.h.
6041
6042 * buffer.c: Include keyboard.h before frame.h.
6043
6044 * alloc.c: Include keyboard.h before frame.h.
6045
6046 * print.c: Include keyboard.h before frame.h.
6047
6048 * process.c: Include keyboard.h before frame.h.
6049
6050 * scroll.c: Include keyboard.h before frame.h.
6051
6052 * sysdep.c: Include keyboard.h before frame.h.
6053
6054 * term.c: Include keyboard.h before frame.h.
6055
6056 * window.c: Include keyboard.h before frame.h.
6057
6058 * xdisp.c: Include keyboard.h before frame.h.
6059 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6060
6061 * frame.c: Include keyboard.h before frame.h.
6062
6063 * w32heap.h: Undefine min, max.
6064
6065 * w32gui.h: Undefine min, max.
6066
6067 * unexw32.c: Change PUCHAR to PCHAR.
6068 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6069 (relocate_offset):
6070 (get_section_info):
69a7ffa7
AI
6071 (copy_executable_and_dump_data): Remove unnecessary static defs.
6072 (copy_executable_and_dump_data): Fix compile warnings.
6073
6074 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6075
6076 * w32console.c (min): Define macro.
6077 (clear_frame, write_glyphs): Fix compile warning.
6078
52283633 6079 * w32proc.c (compare_env):
69a7ffa7
AI
6080 (find_child_console): Fix compile warning.
6081
6082 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6083 sys_errlist instead of _sys_errlist.
6084 (get_emacs_configuration_options): New function.
6085
6086 * s/ms-w32.h (sys_nerr): Provide default definition.
6087 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6088 name with _ prepended.
6089 (NSIG): Define if not known.
6090 (get_emacs_configuration): Provide extern declaration.
6091 (get_emacs_configuration_options): Provide extern declaration.
6092 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6093
6094 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6095 (map_w32_filename):
69a7ffa7
AI
6096 (read_unc_volume): Fix compile warning.
6097
6098 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6099 definitions from being used.
6100
6101 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6102
52283633 6103 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6104 (open_unc_volume): Make arg const.
6105
6106 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6107 (read_input_waiting): Remove excess parameter.
6108
6109 * w32.c (init_environment): Call _access.
6110 (check_windows_init_file): Call _close.
6111 (init_user_info): Call _putenv.
6112 (init_environment): Call _putenv and _strdup.
6113 (init_ntproc): Reset volume info cache on startup.
6114
6115 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6116 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6117 cannot override the CRT malloc.
6118
6119 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6120 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6121
6122 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6123 unless we are linking with a static CRT.
6124 (RVA_TO_PTR): Cast result to unsigned char*.
6125
6126 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6127 (add_volume_info): Use xstrdup.
6128
25060080
SM
61292000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6130
6131 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6132 (do_completion, Fminibuffer_complete_word): Use it.
6133 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6134 var so it can take non-boolean values.
6135
6917e6bb
GM
61362000-08-21 Gerd Moellmann <gerd@gnu.org>
6137
acb7cc89 6138 * editfns.c (find_field): Formatting changes.
52283633 6139 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6140 changed to prototypes, some new protypes added, some functions
6141 made static.
6142
6143 * lisp.h (set_time_zone_rule): Add prototype.
6144 (use_dialog_box): External declaration.
6145
0bbfdc25
GM
6146 * keyboard.c (gen_help_event): Add parameter SIZE.
6147 (kbd_buffer_events_waiting): Slightly rewritten.
6148 (clear_event): New function.
6149 (kbd_buffer_get_event): Use it, and clear the input_events of
6150 HELP_EVENTs.
6151 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6152 don't fill the newly created array with nils.
6153 (toplevel): Convert some old-style function forward declarations
6154 to prototypes.
6155
6156 * keyboard.h (gen_help_event): Change prototype.
6157
6158 * xterm.c (XTread_socket): Change calls to gen_help_event.
6159
6160 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6161
6917e6bb
GM
6162 * eval.c (Fmacroexpand): Doc fix.
6163
e5cd3d11
JR
61642000-08-20 Jason Rumney <jasonr@gnu.org>
6165
6166 * w32term.h (x_display_info_for_display): Remove as this function
6167 does not exist on W32.
6168
6169 * w32term.c (help_echo_window): New variable.
6170 (syms_of_w32term): staticpro it.
6171 (note_mode_line_highlight): Set it.
6172 (XTextExtents16): Removed as there is no equivalent on W32.
6173 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6174 the X way of doing this will not work for W32.
6175 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6176 (x_draw_image_foreground): Avoid drawing outside of the clip area
6177 when image doesn't have a mask.
6178 (note_mouse_highlight): Process overlays in the right order of
6179 priority. Set help_echo_window.
6180 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6181 because that's more visible for large images.
6182
6183 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6184 name to single_keymap_panes.
6185 (w32_menu_show): Set wv->title when dealing with titles.
6186 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6187
6e69ab8c
MB
61882000-08-21 Miles Bader <miles@gnu.org>
6189
6190 * minibuf.c (do_completion): Try again if we rewrite the input
6191 string, but no completion was done, so that any completion message
6192 will be correct.
6193
511bd4eb
GM
61942000-08-20 Gerd Moellmann <gerd@gnu.org>
6195
6196 * xfaces.c (lface_equal_p): Compare strings differently.
6197 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6198 (realize_tty_face): Use them.
6199 (syms_of_xfaces): Initialize new variables.
6200 (map_tty_color): New function, extracted from realize_tty_face.
6201 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6202 foreground or background color, store the new color name in the
6203 realized face; previous code trying to do this had no effect.
6204 (realize_tty_face): Use map_tty_color.
6205 (Fclear_face_cache): Set face_change_count and ensure thorough
6206 redisplay.
6207
1433385f
GM
62082000-08-19 Gerd Moellmann <gerd@gnu.org>
6209
511bd4eb
GM
6210 * undo.c (record_first_change, record_marker_adjustment): Don't
6211 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6212
419ac0a2
KH
62132000-08-18 Kenichi Handa <handa@etl.go.jp>
6214
6215 * coding.c (decode_coding_string): Set members consumed,
6216 consumed_char, produced, produced_char of *coding correctly. If
6217 decode_coding doesn't consume any byte, don't try anymore.
6218 (encode_coding_string): Likewise.
6219
7eb9e30d
GM
62202000-08-18 Gerd Moellmann <gerd@gnu.org>
6221
511bd4eb
GM
6222 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6223 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6224
6225 * xdisp.c (redisplay_internal): Compare windows for equality with
6226 EQ, instead of applying XWINDOW to something that might not
6227 be a window.
52283633 6228
dd34a735
KH
62292000-08-18 Kenichi Handa <handa@etl.go.jp>
6230
6231 * fontset.c (Finternal_char_font): Search only the selected frame
6232 for a window of the current buffer.
6233
385ff9e3
GM
62342000-08-18 Gerd Moellmann <gerd@gnu.org>
6235
511bd4eb 6236 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6237 Lisp_Objects.
6238
385ff9e3
GM
6239 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6240 second half of a HELP_EVENT is found at the start of kbd_buffer.
6241
d6abb4c7
MB
62422000-08-18 Miles Bader <miles@gnu.org>
6243
4618074a
MB
6244 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6245
d6abb4c7
MB
6246 * editfns.c (save_restriction_save): Rewrite to use markers.
6247 (save_restriction_restore): Rewrite to understand new form of data
6248 saved by save_restriction_save.
6249 (Fsave_restriction): Remove cautionary note in doc-string.
6250
a7b28523
GM
62512000-08-17 Gerd Moellmann <gerd@gnu.org>
6252
6253 * fileio.c (build_annotations): Add a comment explaining the
6254 return value of format-annotate-function. Replace a spurious call
6255 to Flength with a CONSP test. Call format-annotate-function with
6256 a fifth arg specifying how many times the function is been called
6257 in a row, to let it choose temporary buffers appropriately.
6258
03c9ed77
DL
62592000-08-17 Dave Love <fx@gnu.org>
6260
6261 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6262 declare make_temp_name twice.
6263
52283633 6264 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6265 (unreadpure): Give it an arg.
6266
6267 * unexalpha.c: Prototype fatal_unexec, mark_x,
6268 update_dynamic_symbols. Declare unexec as void.
6269
6270 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6271 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6272
6273 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6274 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6275
6276 * alloca.c: Use #error.
6277 [POINTER_TYPE]: Use it.
6278
6279 * eval.c (Fdefvar): Doc fix.
6280
6281 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6282 INITIALIZE_INTERVAL.
6283
6284 * buffer.h: Avoid DECLARE_INTERVALS.
6285
6286 * config.in: Add size_t.
6287
aae41d97
EZ
62882000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6289
6290 * w16select.c (set_clipboard_data): If there's not enough memory
6291 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6292 expects. In case of other failures, return 3.
6293 (system_error_msg): New error message.
6294 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6295 system_error_msg.
6296
65aa5e85
GM
62972000-08-16 Gerd Moellmann <gerd@gnu.org>
6298
6299 * term.c (write_glyphs): Also turn off inverse video after turning
6300 off other appearances in case TS_exit_attribute_mode is not equal
6301 to TS_end_standout_mode.
6302 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6303 with the same face.
6304 (turn_off_face): Reset standout_mode only if
6305 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6306 is equal to TS_end_standout_mode.
6307
ece23901
KH
63082000-08-16 Kenichi Handa <handa@etl.go.jp>
6309
9d7bcb2e
KH
6310 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6311 sequence at the end of the source block.
6312
ece23901
KH
6313 * ccl.c (Fccl_program_p): Docstring modified.
6314 (Fccl_execute): Likewise.
6315 (Fccl_execute_on_string): Likewise.
6316
5e30eaa2
EZ
63172000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6318
6319 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6320
290602fd
KH
63212000-08-16 Kenichi Handa <handa@etl.go.jp>
6322
6323 The following changes are mainly to fix bugs of
6324 encode/decode-coding-string failing if encoding/decoding return
6325 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6326 variable conversion_buffer.
6327
6328 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6329 decrement dst_end to avoid buffer overflow in the later call of
6330 string_as_multibyte
6331
6332 * coding.h (conversion_buffer_size, conversion_buffer)
6333 (get_conversion_buffer): Extern deleted.
6334
6335 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6336 (conversion_buffer, conversion_buffer_size): Variables deleted.
6337 (get_conversion_buffer): Function deleted.
6338 (struct conversion_buffer): New structure.
6339 (MAX_ALLOCA): New macro.
6340 (allocate_conversion_buffer): New macro.
6341 (extend_conversion_buffer, free_conversion_buffer): New functions.
6342 (ccl_coding_driver): Set coding->result.
6343 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6344 this is the last block of source.
6345 (encode_coding): Likewise. Handle the source block as the last
6346 one only when the whole source text is consumed.
6347 (decode_coding_string): Handle the case that the output buffer is
6348 too small to decode the whole source text. Use
6349 allocate_conversion_buffer, extend_conversion_buffer and
6350 free_conversion_buffer, not get_conversion_buffer.
6351 (encode_coding_string): Likewise.
6352 (init_coding): Function deleted.
52283633 6353 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6354
6355 * emacs.c (main): Don't call init_coding.
6356
52283633 6357 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6358
6359 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6360 (insert_glyphs): Likewise.
6361
6362 * w32console.c (write_glyphs): Use a locally declared
6363 conversion_buffer.
6364
b9f80d41
EZ
63652000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6366
6367 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6368 member of display_info is NULL.
6369
32dc52f7
GM
63702000-08-15 Gerd Moellmann <gerd@gnu.org>
6371
52283633 6372 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6373
32dc52f7 6374 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6375 appearances with capability `me'.
32dc52f7
GM
6376 (write_glyphs): Switch on inverse video before each face change.
6377
4eb22d33
DL
63782000-08-14 Dave Love <fx@gnu.org>
6379
6380 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6381 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6382 (lisp_free): Declare and make static.
6383
6384 * window.c: Fix embedded comment.
6385 (syms_of_window): Fix doc string.
6386
90cbf47e
GM
63872000-08-14 Gerd Moellmann <gerd@gnu.org>
6388
52283633 6389 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6390 make sure to print `C-' before `M-', like in the manual.
6391
440fc135
GM
63922000-08-11 Gerd Moellmann <gerd@gnu.org>
6393
6394 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6395 since they aren't relocated anymore.
52283633 6396 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6397
6398 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6399 partially visible line which is smaller than the window's height.
440fc135 6400
6e264fad
KH
64012000-08-11 Kenichi Handa <handa@etl.go.jp>
6402
6403 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6404 the multibyte form of eight-bit-control characters.
6e264fad
KH
6405 (Fccl_execute_on_string): Initialize ccl->multibyte.
6406
6407 * ccl.h (struct ccl_program): New member multibyte.
6408
6409 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6410
c371f69a
KH
64112000-08-11 Kenichi Handa <handa@etl.go.jp>
6412
6413 * regex.c (regex_compile) <normal_char>: Pay attention to
6414 multibyteness.
6415 (analyse_first) <exactn>: Setup fastmap correctly for
6416 eight-bit-control characters.
6417
64182000-08-11 Kenichi Handa <handa@etl.go.jp>
6419
52283633 6420 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6421
6422 * keyboard.c (make_lispy_event): Handle the new event type
6423 multibyte_char_keystroke.
6424
6425 * xterm.c: Include coding.h.
6426 (XTread_socket): Work around a bug of XmbLookupString. If the
6427 input is from XIM, decode it according to the current locale. In
6428 that case, generate multibyte_char_keystroke events.
6429
b8ddbe71
KH
64302000-08-11 Kenichi Handa <handa@etl.go.jp>
6431
6432 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6433 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6434
47589c8c
GM
64352000-08-10 Gerd Moellmann <gerd@gnu.org>
6436
6437 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6438 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6439 (move_it_in_display_line_to): Record iterator's ascent and descent
6440 before producing glyphs, and restore them when we know the glyph
6441 doesn't fit on the line.
6442 (move_it_to): Restructured so that it's easier to debug. If
6443 moving to a vpos, and not moving to an x or character position,
6444 stop as soon as the specified vpos is reached; don't move further
6445 into that line because that might change the computed line height.
6446 (try_cursor_movement): New function, extracted from the cursor
6447 movement branch of redisplay_window. If ending on a partially
6448 visible line, don't try to scroll if the cursor line is taller
6449 than the window.
6450 (redisplay_window): Use try_cursor_movement.
6451
6452 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6453 because that function doesn't cope with variable-height lines.
6454
6455 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6456 box cursor because that's better visible for large images.
52283633 6457
c51bacd6
MB
64582000-08-10 Miles Bader <miles@gnu.org>
6459
6460 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6461
bea56df7
GM
64622000-08-10 Gerd Moellmann <gerd@gnu.org>
6463
6464 * xdisp.c (Vmessages_buffer_name): New variable.
6465 (message_dolog): Use it.
6466 (syms_of_xdisp): Initialize it.
6467
99cd7364
EZ
64682000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6469
52283633 6470 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6471 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6472 redundant now that keyboard.h is included.
6473
7d093d56
EZ
64742000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6475
6476 * keyboard.c (kbd_buffer_events_waiting): New function.
6477
6478 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6479
6480 * msdos.c: Include keyboard.h.
6481 (XMenuActivate): Empty no_event events from the event buffer. If
6482 no events are left after that, call clear_input_pending.
6483 (mouse_clear_clicks): New function, code moved from mouse_init.
6484 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6485 mouse driver to ``forget'' any past clicks.
6486
6487 * Makefile.in (msdos.o): Depend on keyboard.h.
6488
41e757a6
GM
64892000-08-09 Gerd Moellmann <gerd@gnu.org>
6490
8e7bd231
GM
6491 * lisp.h (input_pending): External declaration.
6492
6493 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6494
8e7bd231
GM
6495 * xdisp.c (echo_area_display): Display thoroughly if input is
6496 pending. Bind redisplay-dont-pause to t during the redisplay.
6497 in case input is pending.
6498
6499 * dispnew.c (Qredisplay_dont_pause): New variable.
6500 (syms_of_display): Initialize and staticpro it.
6501 (update_frame_1): Don't interrupt the display for pending input if
6502 redisplay_dont_pause is set.
52283633 6503
43028b7e
GM
6504 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6505
41e757a6
GM
6506 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6507
2f2174fa
KH
65082000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6509
6510 * callproc.c (Fcall_process): Terminate the unwind-protect around
6511 the post-read-conversion of coding system.
6512
0a6fd67e
MB
6513 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6514 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6515 * buffer.h (overlays_at): Update prototype.
6516 * xdisp.c (next_overlay_change): Update call to overlays_at.
6517 * xfaces.c (face_at_buffer_position): Likewise.
6518 * textprop.c (Fget_char_property): Likewise.
6519 * xterm.c (note_mouse_highlight): Likewise.
6520
0c80756e
MB
6521 * minibuf.c (do_completion): Don't consider a simple change of
6522 case as `completion'.
6523
975f250a
KR
65242000-08-08 Ken Raeburn <raeburn@gnu.org>
6525
52283633 6526 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6527 * undo.c (record_delete): Make sure last_point_position_buffer is
6528 a buffer before comparing pointers.
6529
6530 * coding.h (decode_coding_string): Declare.
6531
6532 * intervals.h (Fprevious_single_char_property_change): Declare.
6533
6534 * textprop.c (Fprevious_single_char_property_change): Don't do
6535 arithmetic directly on lisp objects.
6536
52283633 6537 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6538
6539 * keyboard.h (menu_item_eval_property): Declare.
6540
6541 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6542 reuse as buffer name, instead of recreating (and discarding) every
6543 time a message is logged.
6544 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6545 (current_message_1, truncate_message_1, set_message_1)
6546 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6547 (current_message, truncate_echo_area, display_echo_area)
6548 (resize_echo_area_axactly): Changed calls.
b347b3fd 6549
975f250a 6550 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6551 Lisp object.
975f250a 6552 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6553 must be an integer, not a Lisp object.
975f250a 6554
46dc9912
KH
65552000-08-08 Kenichi Handa <handa@etl.go.jp>
6556
6557 * charset.c (Fchar_width): Doc fix.
6558
9f6d1a6c
GM
65592000-08-08 Gerd Moellmann <gerd@gnu.org>
6560
6561 * charset.c (Fstring_width): Doc fix.
6562
ff3d9573
GM
65632000-08-07 Gerd Moellmann <gerd@gnu.org>
6564
41e757a6 6565 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6566 line, clear ascent and descent members of the iterator structure;
6567 the height of the continued line does not affect the height of the
6568 continuation line.
6569 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6570 line taller than the window.
6571 (redisplay_window) <forced window start>: Handle case that the
6572 middle of the window is not found in any row.
6573 (dump_glyph_row): Show more information.
6574 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6575 first text line in a glyph matrix.
6576
6577 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6578 of the clip area when image doesn't have a mask.
6579
70fc58b3
GM
6580 * fns.c (sweep_weak_table): Fix survival conditions for
6581 key-or-value and key-and-value weakness.
6582
6583 * .gdbinit (xhashtable): New command.
6584
ac0e96ee
GM
6585 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6586 tables out of the list of all weak hash tables.
6587
ff3d9573
GM
6588 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6589 a new buffer is created, make sure echo_area_buffer[] references
6590 the new buffer.
6591
e0d8827b
EZ
65922000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6593
6594 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6595 the doc string.
6596
c6f35378
KH
65972000-08-07 Kenichi Handa <handa@etl.go.jp>
6598
6599 * syntax.c (skip_chars): Fix previous change. Make the handling
6600 of unibyte string consistent with that of regex search.
6601
1fd4c450
GM
66022000-08-05 Gerd Moellmann <gerd@gnu.org>
6603
e49aa397
GM
6604 * xmenu.c (popup_get_selection): Use xfree instead of free.
6605
6606 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6607
6608 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6609
6610 * callproc.c (child_setup): Use xfree instead of free.
6611
6612 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6613 instead of malloc.
6614 (run_mac_command, closedir): Use `xfree' instead of `free'.
6615
6616 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6617
6618 * eval.c (error): Use xfree instead of free.
6619
1fd4c450
GM
6620 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6621
6622 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6623 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6624
82d497fc
KH
66252000-08-05 Kenichi Handa <handa@etl.go.jp>
6626
6627 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6628 conversion.
6629
59f953a2
NF
66302000-08-04 Noah Friedman <friedman@splode.com>
6631
6632 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6633 docstring.
6634
688351f2
GM
66352000-08-04 Gerd Moellmann <gerd@gnu.org>
6636
6637 * syntax.c (skip_chars): Fix typo in error message.
6638
2dad51cc
AS
66392000-08-04 Andreas Schwab <schwab@suse.de>
6640
6641 * m/ia64.h: Moved from s/ia64.h.
6642
99bb2c60
KH
66432000-08-04 Kenichi Handa <handa@etl.go.jp>
6644
082a1df2
KH
6645 * process.c (read_process_output): Big simplification. Handle
6646 composition and post-read-conversion of coding system correctly.
6647 (send_process): Handle composition correctly.
6648
6649 * callproc.c (Fcall_process): Handle post-read-conversion of
6650 coding system if any.
6651
99bb2c60
KH
6652 * coding.c (decode_coding_iso2022): More strict check for handling
6653 single shifting.
082a1df2
KH
6654 (coding_restore_composition): Pay attention to the case that
6655 cmp_data is not set properly (because of invalid code in the
6656 source text).
6657 (run_pre_post_conversion_on_str): Include text properties in the
6658 resulting string.
6659 (decode_coding_string): Set members of coding correctly.
99bb2c60 6660
f4988be7
GM
66612000-08-03 Gerd Moellmann <gerd@gnu.org>
6662
6663 * s/ia64.h: New file.
6664
6665 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6666 Use NULL instead of 0 at the end of variable argument list of
6667 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6668 sizeof (int) < sizeof (void *).
6669
6670 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6671 of variable argument lists of XtVaGetValues and XtVaSetValues.
6672
6673 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6674 variable argument lists of XtVaGetValues and XtVaSetValues.
6675
ead53494
GM
66762000-08-02 Gerd Moellmann <gerd@gnu.org>
6677
6678 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6679 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6680
6681 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6682 prototype.
6683
6684 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6685 in call to Fsingle_key_description.
6686
6687 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6688 Callers changed.
6689
66902000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6691
6692 * window.c (display_buffer_reuse_frames): New variable.
6693 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6694 frames displaying BUFFER.
52283633 6695 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6696
10b0f752
MB
66972000-08-01 Miles Bader <miles@gnu.org>
6698
6699 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6700 when to constrain NEW_POS (they were pretty screwed up before).
6701
16425c4a
EZ
67022000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6703
6704 * msdos.c (run_msdos_command): Save and restore the master
6705 environment, for the case that child_setup signals an error.
6706 When mirroring slashes in DOS shell commands, don't fail when
6707 argv[2] has embedded blanks.
da288c14
EZ
6708 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6709 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6710 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6711
6712 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6713 using alloca; free it after run_msdos_command returns.
6714
27f73852
DL
67152000-07-27 Dave Love <fx@gnu.org>
6716
52283633
SM
6717 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6718 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6719
6720 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6721
c0261b5e
EZ
67222000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6723
6724 * editfns.c (lisp_time_argument): Fix last change.
6725
b548072f
GM
67262000-07-27 Gerd Moellmann <gerd@gnu.org>
6727
3ab82477
GM
6728 * fns.c (Fdelete): Make it work on vectors and strings in addition
6729 to lists.
6730
b548072f
GM
6731 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6732 (syms_of_fns): Initialize new variables.
52283633 6733 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6734 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6735 weakness, with t meaning the same as `key-and-value'.
6736
91ae8751
KH
67372000-07-27 Kenichi Handa <handa@etl.go.jp>
6738
6739 * coding.h (struct coding_system): Member safe_charset deleted.
6740
6741 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6742 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6743 New variables.
91ae8751
KH
6744 (coding_safe_chars): New function.
6745 (CODING_SAFE_CHAR_P): New macro.
6746 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6747 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6748 (detect_coding_iso2022): New local variable safe_chars.
6749 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6750 safe_charsets member of the coding system.
6751 (decode_coding_iso2022): New local variable safe_chars.
6752 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6753 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6754 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6755 (ENCODE_UNSAFE_CHARACTER): New macro.
6756 (encode_coding_iso2022): New local variable safe_chars. Check
6757 unsafe chars.
6758 (setup_coding_system): Delete the code to initialize
6759 coding->safe_charses
6760 (intersection, find_safe_codings): New functions.
6761 (Ffind_coding_systems_region_internal): New function.
6762 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6763 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6764 variable and initialize it.
6765
6766 * fns.c (char_table_ref_and_index): New function.
6767
6768 * lisp.h (char_table_ref_and_index): Add prototype.
6769
34a7a267
SS
67702000-07-26 Sam Steingold <sds@gnu.org>
6771
6772 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6773 (Ffloat_time): New built-in Lisp function.
34a7a267 6774
a95cb10a
GM
67752000-07-26 Gerd Moellmann <gerd@gnu.org>
6776
3353ef5a
GM
6777 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6778 for the character code.
6779
6780 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6781 GNU/Linux.
6782
a95cb10a
GM
6783 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6784 if called for a popup menu.
6785 (xmenu_show): Store help string in widget values.
6786
b4a12321
DL
67872000-07-26 Dave Love <fx@gnu.org>
6788
6789 * syswait.h: Move some definitions.
6790 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6791 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6792 perspicuous definitions.
6793 (WTERMSIG): Fix bit pattern used.
6794
13f5ad37
KH
67952000-07-26 Kenichi Handa <handa@etl.go.jp>
6796
6797 * print.c (print_object): If vector printing is truncated, print
6798 "..." to indicate it as well as the case of list printing.
6799
070fe99c
GM
68002000-07-25 Gerd Moellmann <gerd@gnu.org>
6801
969065c3
GM
6802 * xdisp.c (next_element_from_display_vector): Improve comments.
6803
6804 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6805 for the character code, and the rest for the face id as in 20.x.
6806 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6807
6808 * window.c (window_display_table): Cleaned up.
6809
070fe99c
GM
6810 * syntax.c (Fforward_word): Add last arg nil in call of
6811 Fconstrain_to_field.
6812
bad77ef7
EZ
68132000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6814
969065c3 6815 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6816 identical but for the letter-case, don't call
6817 barf_or_query_if_file_exists.
bad77ef7 6818
c28da489
MB
68192000-07-25 Miles Bader <miles@gnu.org>
6820
6821 * editfns.c (find_field): Honor special `boundary' fields.
6822 (Qboundary): New variables.
6823 (syms_of_editfns): Initialize Qboundary.
6824 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6825 Use scan_buffer instead of find_before_next_newline, because it
6826 allows us to detect the boundary case where there's a newline at
6827 the search limit.
6828 * lisp.h (Fconstrain_to_field): Update external declaration.
6829
e3c31fd5
GM
68302000-07-24 Gerd Moellmann <gerd@gnu.org>
6831
6832 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6833 if that is nil.
c28da489 6834
c66c29a2
DL
68352000-07-24 Dave Love <fx@gnu.org>
6836
6837 * s/sunos4-0.h, s/sol2.h:
6838 (LIBS_TERMCAP): Move from m/sparc.h.
6839
6840 * m/sparc.h (TERMINFO): Moved to system files (probably only
6841 relevant for sunos4 judging by its vintage).
6842 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6843 __arch64__.
6844
fbe0a958
EZ
68452000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6846
6847 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6848 name to single_keymap_panes.
6849
7d88e5c9
AS
68502000-07-24 Andreas Schwab <schwab@suse.de>
6851
6852 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6853
e024b101
GM
68542000-07-24 Gerd Moellmann <gerd@gnu.org>
6855
6856 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6857 parameters instead of using int parameters. Expect FN to accept
6858 EMACS_INT parameters.
6859 (display_echo_area, resize_echo_area_axactly, current_message)
6860 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6861 with new argument list.
6862 (resize_mini_window_1): New callback function.
6863 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6864 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6865
25c1a9ce
KH
68662000-07-24 Kenichi Handa <handa@etl.go.jp>
6867
6868 * fontset.c (fontset_ref): Remove INLINE declaration.
6869 (fontset_ref_via_base): Likewise.
6870 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6871 to downcase.
6872
7f987ac0
EZ
68732000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6874
6875 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6876 correct order of priority. If help echo was found in an overlay,
6877 use that overlay as the object in which the help echo was found.
6878
e2db3069
MB
68792000-07-22 Miles Bader <miles@gnu.org>
6880
6881 * textprop.c (Fprevious_single_char_property_change): The initial
6882 property value should be from the position preceding POSITION, not
6883 following it.
6884
5e3203e4
EZ
68852000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6886
6887 * coding.c (syms_of_coding): Doc fix for
6888 inhibit-iso-escape-detection.
6889
62145073
GM
68902000-07-21 Gerd Moellmann <gerd@gnu.org>
6891
c20aeb83
GM
6892 * xterm.c (note_mouse_highlight): Process overlays in the right
6893 order of priority.
34a7a267 6894
743934db
GM
6895 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6896
6897 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6898 overlay, use that overlay as the object in which the help was found.
743934db 6899
d1dc7e43 6900 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6901
62145073
GM
6902 * window.c (foreach_window): Instead of a fake variable argument
6903 list, take one USER_DATA argument.
6904 (foreach_window_1): Likewise, and call callback functions with two
6905 args, the window and USER_DATA.
6906 (struct check_window_data): New struct.
6907 (check_window_containing): Use it.
6908 (window_from_coordinates): Set up a struct check_window_data for
6909 foreach_window.
6910 (add_window_to_list, freeze_window_start): Change parameters
6911 according to new calling convention.
6912
6913 * window.h (foreach_window): Change prototype.
6914
6915 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6916
69172000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6918
6919 * xmenu.c (menu_help_callback): Call show_help_echo with
6920 additional arguments OBJECT and POS.
6921
11270583
KH
69222000-07-21 Kenichi Handa <handa@etl.go.jp>
6923
07b14857
KH
6924 * data.c (Faset): Allow storing any multibyte character in a
6925 string. Convert unibyte string to multibyte if necessary.
6926
11270583
KH
6927 * xfns.c (x_encode_text): New function.
6928 (x_set_name): Use x_encode_text.
6929 (x_set_title): Likewise.
6930
6931 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6932
6933 * xterm.h (x_encode_text): Add prototype.
6934
bc75b4fd
DL
69352000-07-20 Dave Love <fx@gnu.org>
6936
6937 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6938 xfree, not free.
6939
48c14970
EZ
69402000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6941
6942 * msdos.c (help_echo_window): New variable.
6943 (syms_of_msdos): Initialize and staticpro it.
6944 (IT_note_mode_line_highlight): Set help_echo_window.
6945 (IT_note_mouse_highlight): Ditto.
6946 (dos_rawgetc): Store help_echo_window in the second event produced
6947 for HELP_EVENTs.
6948
6949 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6950 Record the object that generated the help echo and the position of
6951 that object in help_echo_object and help_echo_pos. Record that
6952 some glyphs in a row are displayed in mouse-face.
6953 (IT_update_begin): Don't clear mouse highlight unless one of the
6954 enabled glyph rows is marked as being displayed in mouse-face.
6955 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6956 and position recorded in help_echo_object and help_echo_pos to the
6957 event queue.
6958 (IT_menu_display): Accept a new argument PN: the pane number of
6959 the current menu pane. Record the pane number and the item
6960 number of the item which has associated help string.
6961 (XMenuActivate): Update the prototype for help_callback in
6962 function declaration. Call IT_menu_display with the current menu
6963 pane number as an additional argument. Call help_callback with
6964 two additional arguments: the pane number and the item number of
6965 the menu item associated with the help text.
6966 (help_echo_object, help_echo_pos): New variables.
6967 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6968
6969 * msdos.h (XMenuActivate): Update prototype.
6970
4279296d
GM
69712000-07-19 Gerd Moellmann <gerd@gnu.org>
6972
47db06aa
GM
6973 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6974 Add some more prototypes.
6975
6976 * xterm.c, xterm.h: Add some more prototypes.
6977
6978 * lisp.h (Fnext_single_char_property_change): Add prototype.
6979
6980 * dispnew.c (direct_output_for_insert): Remove confusing
6981 outer local variable mouse_face_overwritten_p.
6982 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6983
4279296d
GM
6984 * alloc.c (allocate_string_data): Don't copy old string contents.
6985
670acd62
KH
69862000-07-19 Kenichi Handa <handa@etl.go.jp>
6987
6988 * coding.c (code_convert_region): Delete text properties before
6989 shrinking the conversion region.
6990
7cea38bc
GM
69912000-07-18 Gerd Moellmann <gerd@gnu.org>
6992
dc1cac59
GM
6993 * dispnew.c (update_text_area): Write the whole row if it
6994 has mouse-face in it.
6995
85a8aca9
GM
6996 * xfaces.c (face-alternative-font-family-alist): Remove
6997 DEFVAR_LISP; staticpro instead.
6998
34a7a267 6999 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7000 new arguments.
7001
7002 * keyboard.c (show_help_echo): Add parameter WINDOW.
7003 (read_char): Call show_help_echo with window extracted from Lisp
7004 help event.
7005 (gen_help_event): Add parameter WINDOW.
7006
7007 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7008
7009 * xterm.c (help_echo_window): New variable.
52283633 7010 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7011 (XTread_socket): Pass help_echo_window to gen_help_event.
7012 (syms_of_xterm): Initialize and staticpro help_echo_window.
7013
f8276b77
DL
70142000-07-18 Dave Love <fx@gnu.org>
7015
52283633 7016 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7017
088831a6
GM
70182000-07-18 Gerd Moellmann <gerd@gnu.org>
7019
3d6cd763
GM
7020 * alloc.c (allocate_string_data): If string had already data
7021 assigned, copy old contents to new string data.
7022
7023 * coding.c (syms_of_coding): Fix typo in spelling of variable
7024 `inhibit-iso-escape-detection'.
7025
088831a6
GM
7026 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7027
7028 * Makefile.in: Add dependencies on dispextern.h.
7029 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7030 `free'; both can conflict with system header files.
7031
bc8a8d55
KH
70322000-07-18 Kenichi Handa <handa@etl.go.jp>
7033
7034 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7035 undefined.
7036
069f5950
DL
70372000-07-18 Dave Love <fx@gnu.org>
7038
7039 * window.c (Fwindow_list): Declare arg `window'.
7040
aa96c820
KH
70412000-07-18 Kenichi Handa <handa@etl.go.jp>
7042
7043 * coding.c (setup_coding_system): Don't override the explicitly
7044 specified designations.
7045
06be8d32
MB
70462000-07-15 Miles Bader <miles@gnu.org>
7047
7048 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7049 from `text_property_eq' and `text_property_stickiness', respectively.
7050 (find_field, Fconstrain_to_field, char_property_eq)
7051 (char_property_stickiness): Changed to call char-property functions
7052 instead of text-property-only ones.
7053
7054 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7055 `next_single_char_property_change'). Do more error checking, and
7056 cleanup limit behavior.
7057 (Fprevious_single_char_property_change): New function.
7058 (syms_of_textprop): Initialize new subrs.
7059
7060 * xdisp.c (display_prop_end, invisible_text_between_p):
7061 Call Fnext_single_char_property_change instead of
7062 next_single_char_property_change.
7063
3fddcdc3
JR
70642000-07-15 Jason Rumney <jasonr@gnu.org>
7065
7066 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7067 after menu is finished with.
7068 (add_menu_item): Only consider wv->title as a menu title.
7069 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7070
7071 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7072 null title.
7073 (FONT_REGEXP): Remove unused macro, and its sub-components.
7074 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7075
7076 * w32term.c (help_echo_object, help_echo_pos): New variables.
7077 (note_mode_line_highlight): Store additional information about the
7078 help-echo in help_echo_object and help_echo_pos. Check both
7079 `local-map' and `keymap' properties for changing the cursor
7080 (note_mouse_highlight): Store additional information about the
7081 help-echo in help_echo_object and help_echo_pos.
7082 (note_tool_bar_highlight): Set help_echo_object to nil and
7083 help_echo_pos to -1.
7084 (w32_read_socket): Use gen_help_event instead of filling
7085 input_events manually.
7086 (syms_of_w32term): Staticpro help_echo_object.
7087 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7088 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7089 (x_clear_mouse_face): New function.
7090 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7091 (x_update_window_begin): No need to turn off the mouse
7092 highlight here.
7093 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7094 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7095 (x_fill_stretch_glyph_string): Consume runs of stretch
7096 glyphs instead of a single one.
7097 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7098 with new argument list.
7099 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7100 (x_append_glyph, x_append_composite_glyph)
7101 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7102 changes in struct glyph starting 1999-12-27. See comments for
7103 xterm.c on 2000-07-05.
7104
178c5d9c
SS
71052000-07-14 Sam Steingold <sds@gnu.org>
7106
7107 * xfaces.c (realize_x_face): Fix the last patch:
7108 check `default_face' before dereferencing.
7109
6fe533f6
DL
71102000-07-14 Dave Love <fx@gnu.org>
7111
069f5950 7112 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7113
dd7b81cf
KH
71142000-07-14 Kenichi Handa <handa@etl.go.jp>
7115
0693904a 7116 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7117 default_face's fontset, not using the default fontset.
0693904a 7118
dd7b81cf
KH
7119 * coding.c (inhibit_iso_escape_detection): New variable.
7120 (syms_of_coding): Make it a Lisp variable.
7121 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7122 nonzero, ignore ISO2022's escape sequence.
7123
d5aa31d8
GM
71242000-07-14 Gerd Moellmann <gerd@gnu.org>
7125
e5acf0ca
GM
7126 * alloca.c (malloc) [emacs]: Define as xmalloc.
7127
bd23a692
GM
7128 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7129 use that instead of the mouse position. Add parameters DX and DY.
7130
7131 * dispextern.h (Fx_show_tip): Adjust number of parameters
7132 in prototype.
7133
9662da0b
GM
7134 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7135 if HELP is a function, call it with OBJECT and POS as parameters
7136 to get the help to display.
7137 (gen_help_event, kbd_buffer_store_help_event): New functions.
7138 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7139 (read_char): Call show_help_echo with new parameters.
7140
178c5d9c 7141 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7142 Add prototypes.
7143
7144 * xterm.c (help_echo_object, help_echo_pos): New variables.
7145 (note_mode_line_highlight): Store additional information about the
7146 help-echo in help_echo_object and help_echo_pos. Check both
7147 `local-map' and `keymap' properties for changing the cursor
7148 (note_mouse_highlight): Store additional information about the
7149 help-echo in help_echo_object and help_echo_pos.
7150 (note_tool_bar_highlight): Set help_echo_object to nil and
7151 help_echo_pos to -1.
7152 (XTread_socket): Use gen_help_event instead of filling
7153 input_events manually.
7154 (syms_of_xterm): Staticpro help_echo_object.
7155
7156 * xmenu.c (menu_highlight_callback): Use
7157 kbd_buffer_store_help_event instead of setting up and input_event
7158 structure manually.
7159
7160 * xdisp.c (eval_form): GCPRO argument sexpr.
7161 (call_function): New function.
7162 (handle_single_display_prop): Use call_function and FUNCTIONP
7163 instead of checking whether if font_height is a symbol and
7164 using eval_form.
7165
7166 * eval.c (internal_condition_case_2): New function.
7167
7168 * lisp.h (FUNCTIONP): New macro.
7169 (internal_condition_case_2, call_function): Add prototypes.
7170
d5aa31d8
GM
7171 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7172 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7173 Always set `arg' member of input_events.
7174 (construct_menu_click): Unused function removed.
7175
7176 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7177
7178 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7179 (construct_drag_n_drop, x_scroll_bar_handle_click)
7180 (w32_read_socket): Always set `arg' member of input_events.
7181
7182 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7183
7184 * lisp.h (eval_form): Add prototype.
7185
7186 * xdisp.c (eval_form): Make it externally visible.
7187
0f1a9b23
GM
71882000-07-13 Gerd Moellmann <gerd@gnu.org>
7189
7190 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7191 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7192 consing. For prefix events, store the frame in the `arg' slot of
7193 the event, otherwise store the key there.
7194 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7195 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7196
7197 * xmenu.c (menu_highlight_callback): Store help string in the
7198 `arg' member of the input event; don't cons.
7199 (menubar_selection_callback): Use the `arg' slot of input events
7200 to queue additional information, instead of consing.
7201
7202 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7203
7204 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7205 TOOL_BAR_EVENTs.
7206 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7207
7208 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7209 input events to queue additional information, instead of consing.
7210
7211 * keyboard.c (kbd_buffer_gcpro): Renamed from
7212 kbd_buffer_frame_or_window. Now used for all Lisp objects
7213 referenced from the input queue.
7214 (kbd_buffer_store_event): Always use structure assignment for
7215 copying input events. Record all Lisp objects referenced from
7216 events in kbd_buffer_gcpro.
7217 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7218 differently from input events. Test for prefix menu_bar_events
7219 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7220 event in kbd_buffer_gcpro to nil.
7221 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7222 frame_or_window is equal to its arg member as prefix events.
7223 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7224 used by an input event to nil.
7225 (init_keyboard): Use two times the size of the input queue
7226 for kbd_buffer_gcpro.
7227 (syms_of_keyboard): Likewise.
7228
52283633
SM
7229 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7230 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7231
7232 * termhooks.h (struct input_event): Add member `arg'.
7233 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7234 (USER_SIGNAL_EVENT): Renamed from user_signal.
7235
7236 * xfaces.c (ASET): Remove definition.
7237
7238 * lisp.h (AREF, ASET, ASIZE): New macros.
7239
7240 * fontset.c (AREF, ASIZE): Remove definitions.
7241
7242 * fns.c (AREF): Remove definition.
178c5d9c 7243
0f1a9b23
GM
7244 * composite.c (AREF): Remove definition.
7245
712eaef2
GM
72462000-07-12 Gerd Moellmann <gerd@gnu.org>
7247
d8ee7803
GM
7248 * dispnew.c (redraw_overlapped_rows): Add missing local.
7249 (scrolling_window): Remove debug code.
7250
712eaef2
GM
7251 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7252 Before scrolling, turn off a mouse-highlight in the window
7253 being scrolled.
7254
7255 * xterm.c (x_update_window_end): Add parameter
7256 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7257 redisplay in XTframe_up_to_date.
7258 (x_clear_mouse_face): New function.
7259 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7260
7261 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7262 current glyph row.
7263 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7264 it when any row is written to that contains glyphs highlighted in
7265 mouse-face.
7266 (update_window): Call the window update end hook with new
7267 parameter MOUSE_FACE_OVERWRITTEN_P.
7268 (direct_output_for_insert): Give up if row contains mouse-face.
7269
7270 * dispextern.h (struct redisplay_interface): Add parameter
7271 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7272 (clear_mouse_face): New function pointer member.
7273
02010917
SM
72742000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7275
7276 * syntax.c (back_comment): Use one switch rather than a few `if's.
7277 Obey open_paren_in_column_0_is_defun_start.
7278 When reverting to the `slow' method, try to nicely handle the case
7279 of nested comments by checking that the comment-starter we found
7280 does indeed match the comment-ender.
7281 (scan_sexps_forward, scan_sexps_forward):
7282 Ignore excessive opening parenthesis rather than throwing an error.
7283
d76c03ea
GM
72842000-07-11 Gerd Moellmann <gerd@gnu.org>
7285
7286 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7287 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7288
7289 * dispnew.c (direct_output_forward_char): Give up if currently
7290 displaying a message instead of the minibuffer contents.
7291
7292 * xterm.c (x_update_window_begin): No need to turn off the mouse
7293 highlight here.
7294 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7295 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7296
7297 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7298 compare the mouse_face_p flags of both rows.
7299
7300 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7301
d55ead18
EZ
73022000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7303
7304 * keyboard.c (show_help_echo): Accept additional parameter
7305 ok_to_overwrite_keystroke_echo.
7306 (read_char): Call show_help_echo with a zero
7307 ok_to_overwrite_keystroke_echo argument.
52283633 7308 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7309 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7310 ok_to_overwrite_keystroke_echo argument.
7311 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7312 non-zero ok_to_overwrite_keystroke_echo argument.
7313
df75b1a3
GM
73142000-07-10 Gerd Moellmann <gerd@gnu.org>
7315
4b92c49a
GM
7316 * xdisp.c (try_window_id): If changes are all below what is
7317 displayed in the window, and point is in the window, we still
7318 might have to find point on the display.
7319
7320 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7321 glyphs instead of a single one.
7322 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7323 with new argument list.
7324 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7325
df75b1a3
GM
7326 * keymap.c (get_keymap_1): Add comment that this function can GC.
7327 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7328 comment that functions can GC.
7329 (Fset_keymap_parent): GCPRO arg KEYMAP.
7330
4314cf3e
EZ
73312000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7332
7333 * msdos.c (XMenuActivate): After exiting the menu, restore the
7334 echo area message and erase it.
7335
ab49ce15
KH
73362000-07-10 Kenichi Handa <handa@etl.go.jp>
7337
7338 * fontset.c (Ffontset_info): Make the return value more compatible
7339 with that of Emacs 20.
7340
090a072f
GM
73412000-07-07 Gerd Moellmann <gerd@gnu.org>
7342
7343 * eval.c (Fsignal): Handle case that backtrace_list is null.
7344
f92de4a6
KH
73452000-07-07 Kenichi Handa <handa@etl.go.jp>
7346
7347 * ccl.c (Fccl_execute): Typo fixed.
7348
dd8888a1
GM
73492000-07-06 Gerd Moellmann <gerd@gnu.org>
7350
e5c81191 7351 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7352
dd8888a1
GM
7353 * window.c (Fwindow_list): Reverse list at the end.
7354 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7355 means allow windows on OWINDOW's frame, only.
7356 (window_loop): Simplified; use Fwindow_list.
7357
7358 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7359
485266d0
GM
73602000-07-05 Gerd Moellmann <gerd@gnu.org>
7361
7362 * xterm.c (XTread_socket): Increment handling_signal at the start,
7363 decrement it at the end.
7364
7365 * eval.c (handling_signal): New variable.
7366 (Fsignal): Abort if handling_signal is non-zero.
7367
7368 * lisp.h (handling_signal): External declaration.
178c5d9c 7369
485266d0
GM
7370 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7371
80fcd514
KR
73722000-07-05 Ken Raeburn <raeburn@gnu.org>
7373
7374 Sound support for NetBSD through "Linux emulation" support:
7375 * config.in (HAVE_SOUNDCARD_H): Undef.
7376 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7377 * Makefile.in (LIBSOUND): New variable.
7378 (LIBES): Include it.
52283633
SM
7379 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7380 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7381 (vox_open): Use DEFAULT_SOUND_DEVICE.
7382 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7383
d5c5cddd
GM
73842000-07-05 Gerd Moellmann <gerd@gnu.org>
7385
7386 * print.c (print_error_message): If Vsignaling_function is set,
7387 show it in *Messages*.
7388
7389 * lisp.h (Vsignaling_function): External declaration.
7390
7391 * eval.c (Vsignaling_function): New variable.
7392 (Fsignal): Compute it.
7393 (syms_of_eval): Staticpro it.
7394
65171e3a
DL
73952000-07-05 Dave Love <fx@gnu.org>
7396
7397 * syswait.h: Use the autoconf recommended approach. Old code
7398 #if'd out in case we need to revert.
7399
178c5d9c 7400 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7401
e2c46326
AI
74022000-07-05 Andrew Innes <andrewi@gnu.org>
7403
7404 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7405 when non-NULL instead of __morecore, to take account of buffer
7406 memory. This also solves a problem with spurious memory warnings
7407 on Windows.
7408
7409 * ralloc.c: Make real_morecore non-static.
7410
7411 * eval.c (internal_condition_case): Comment out abort if
7412 interrupt_input_blocked is not zero.
7413
7414 * makefile.nt: Add support for `bootstrap' and related targets.
7415 Include minimal debug info in emacs.exe in release build.
7416 Remove all dependencies on lisp.h, and fixup some others.
7417
7418 * w32.c (init_environment): Install code from 20.7 for providing
7419 default values for environment variables, based on the
7420 executable's own location.
52283633 7421 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7422 (sys_socket): Install socket inheritance bug fix from 20.7.
7423
7424 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7425 here via blockinput.h).
7426
a027a91b
SM
74272000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7428
e4b31601
SM
7429 * w32menu.c (w32_menu_display_help):
7430 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7431
7432 * keyboard.h (show_help_echo): Declare.
7433
7434 * keyboard.c (show_help_echo): New function, extracted from read_char.
7435 Feval its `msg' argument if it's a cons cell.
7436 (read_char): Use it.
4cf8d9d5 7437 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7438
178c5d9c 7439 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7440 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7441 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7442 (dos_rawgetc):
7443 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7444 (note_tool_bar_highlight, w32_read_socket):
7445 Do not gratuitously ignore non-string `help-echo' properties.
7446
88d75730
GM
74472000-07-05 Gerd Moellmann <gerd@gnu.org>
7448
969f7e79
GM
7449 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7450
71201b00
GM
7451 * window.c (delete_all_subwindows): Reset Vwindow_list.
7452
88d75730
GM
7453 * xterm.c (x_append_glyph, x_append_composite_glyph)
7454 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7455 changes in struct glyph starting 1999-12-27. Some bit-fields of
7456 struct glyph were not set, which made glyphs unequal when compared
7457 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7458 effects were the result. This also depended on the contents of
7459 memory returned by xmalloc. If flickering happens again, activate
7460 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7461 gone with that, chances are that it is caused by something similar.
88d75730
GM
7462
7463 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7464
88d75730
GM
7465 * dispextern.h: Add some comments.
7466
7467 * window.c (add_window_to_list): Add parameter LIST.
7468 (window_list): Order list so that, for each frame, windows are
7469 in canonical order, and so that frames appear in the list in
7470 the order given by Vframe_list.
7471 (next_window): Reverse the handling of NEXT_P.
7472
53654733
GM
74732000-07-04 Gerd Moellmann <gerd@gnu.org>
7474
87efd256
GM
7475 * window.c (Vwindow_list): New variable.
7476 (make_window, delete_window): Set Vwindow_list to nil.
7477 (check_window_containing): New function.
7478 (window_from_coordinates): Rewritten.
7479 (add_window_to_list, window_list, candidate_window_p)
7480 (decode_next_window_args, next_window): New functions.
52283633 7481 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7482 (Fwindow_list): New function.
7483 (Fother_window): Cleaned up.
7484 (foreach_window): Add a longer "variable argument list". Let
7485 callback function return 0 to indicate that cycling over windows
7486 should stop.
7487 (foreach_window_1): Likewise.
7488 (freeze_window_start): Return int.
7489 (init_window): New function.
7490 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7491
7492 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7493 input_event with bzero.
7494 (main): Call init_window.
7495
53654733
GM
7496 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7497 a menu filter.
7498
4a8c194f
KH
74992000-07-04 Kenichi Handa <handa@etl.go.jp>
7500
7501 * composite.h (make_composition_value_copy): Extern it.
7502
7503 * composite.c (make_composition_value_copy): New function.
7504
7505 * editfns.c (Fformat): While copying text properties, make each
7506 composition property value a copy.
7507
7508 * fns.c (concat): While copying text properties, make each
7509 composition property value a copy.
7510
831a6cb0
GM
75112000-07-03 Gerd Moellmann <gerd@gnu.org>
7512
2f516940
GM
7513 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7514
178c5d9c 7515 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7516 marked already.
7517
831a6cb0
GM
7518 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7519 include those frames as candidates which have their focus
7520 redirected to the minibuffer frame.
7521
d9c4f922
SM
75222000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7523
7524 * fns.c (Fputhash): Return `value' rather than nil.
7525
3780bc22
GM
75262000-06-30 Gerd Moellmann <gerd@gnu.org>
7527
97d176db
GM
7528 * frame.c (next_frame): Don't check focus redirection in case
7529 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7530 unless their focus is redirected, which contradicts the
7531 specification of next-frame, and leads to infinite loops in
7532 certain situations when cycling through windows with next-window.
7533
dca9961d
KH
75342000-06-30 Kenichi Handa <handa@etl.go.jp>
7535
7536 * coding.c (code_convert_region): Even if the length of text is
7537 zero, try to convert it if coding->type is coding_type_ccl.
7538 (decode_coding_string, encode_coding_string): Likewise.
7539
d5483ab1
GM
75402000-06-28 Gerd Moellmann <gerd@gnu.org>
7541
af5c25e1 7542 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7543 the display if windows_or_buffers_changed.
af5c25e1
GM
7544
7545 * dispnew.c (struct row_entry): New structure.
7546 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7547 (row_table_size, old_lines, new_lines, old_lines_size)
7548 (new_lines_size, run_pool, runs_size, runs): New variables.
7549 (add_row_entry): New function.
7550 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7551 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7552 holding them in local variables. Use a larger hash table whose
7553 size depends on glyph matrix sizes. Don't use bzero to clear the
7554 hash table; instead, clear used slots only.
7555
7556 * fns.c (next_almost_prime): Make it externally visible.
7557
7558 * lisp.h (next_almost_prime): Add prototype.
7559
d5483ab1
GM
7560 * s/isc4-0.h (sigunblock): Define.
7561
7562 * s/sco5.h (sigunblock): Define.
7563
93e40f40
DL
75642000-06-27 Dave Love <fx@gnu.org>
7565
7566 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7567 (moved to osf5-0.h).
7568 [!NOT_C_CODE]: Protect string.h stuff.
7569
7570 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7571 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7572
3c4b7685
GM
75732000-06-27 Gerd Moellmann <gerd@gnu.org>
7574
97d176db 7575 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7576 below the last line from the needed window height.
7577
32cad0aa
SM
75782000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7579
7580 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7581 (Fwidget_get): Use it.
7582 (syms_of_fns): Defsubr it.
7583
2c69ced2
GM
75842000-06-26 Gerd Moellmann <gerd@gnu.org>
7585
178c5d9c 7586 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7587 display info for XIM.
7588 (xim_open_dpy): Likewise.
7589 (xim_close_dpy): Don't free the display info's XIM.
7590
7591 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7592
7593 * config.in (USE_XIM): New define.
7594
3fc720e4
GM
7595 * keymap.c (get_keyelt): For menu-items containing a `:filter
7596 FILTER', apply FILTER to the menu-item's definition to get the
7597 real definition to use.
7598
7599 * lisp.h (QCfilter): External declaration.
7600
2c69ced2
GM
7601 * xfns.c (Fimage_size): New function.
7602 (syms_of_xfns): Defsubr it.
7603
f978b2a2
AS
76042000-06-26 Andreas Schwab <schwab@suse.de>
7605
7606 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7607 Fstring_as_unibyte.
7608
94cc7892
DL
76092000-06-25 Dave Love <fx@gnu.org>
7610
52283633 7611 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7612
7613 * Makefile.in (blockinput.h): Depend on atimer.h.
7614 (atimer.h): Depend on systime.h.
7615
52283633 7616 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7617
52283633 7618 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7619
7620 * lisp.h (swap_in_global_binding): Declare.
7621
b8c24556
KR
76222000-06-24 Ken Raeburn <raeburn@gnu.org>
7623
7624 * process.c (Fopen_network_stream): Turn off atimers for duration
7625 of call to connect. (Patch from Gerd.)
7626
8cf8560b
DL
76272000-06-23 Dave Love <fx@gnu.org>
7628
511c7541
DL
7629 * ralloc.c: Maybe include unistd.h
7630
8cf8560b
DL
7631 * emacs.c (setgrp): Undefine before defining.
7632 (malloc_warning, set_time_zone_rule, index): Prototype.
7633
7634 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7635 HAVE_STRUCT_TIMEZONE.
7636
7637 * s/osf1.h: Move string.h hack here from alpha.h and make it
7638 conditional.
7639 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7640 _XOPEN_SOURCE.
7641 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7642 (SOCKLEN_TYPE): Don't define.
7643
7644 * m/alpha.h: Remove string.h hack.
7645
7646 * s/osf5-0.h: New file.
7647
7648 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7649 include time.h, done by systime.h.
7650 [__FreeBSD__]: Remove redundant includes.
7651
3fc720e4 7652 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7653 (delete_temp_file): Return Qnil to avoid warning.
7654
7655 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7656
7657 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7658 HAVE_X_WINDOWS.
7659
7660 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7661
7662 * composite.h (compose_text): Declare.
7663
7664 * xterm.c: Don't include sys/types.h unconditionally. Don't
7665 protect its inclusion with !USG (following xmenu.c).
7666
ea055732
GM
76672000-06-23 Gerd Moellmann <gerd@gnu.org>
7668
7669 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7670 in x_create_frame.
7671
74b01b80
EZ
76722000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7673
7674 * coding.c (decode_eol_post_ccl): Special handling for undecided
7675 and inconsistent EOL types.
7676
64f3a166
GM
76772000-06-22 Gerd Moellmann <gerd@gnu.org>
7678
16cf31f7
GM
7679 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7680 trough color and main window's background color.
7681
52283633 7682 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7683
7684 * xterm.h (Xt_app_con): External declaration.
7685
7686 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7687
486a103d
GM
7688 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7689
64f3a166
GM
7690 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7691 (handle_invisible_prop): Record the start of invisible text in
7692 it->add_overlay_start.
7693 (struct overlay_entry): Add member `overlay'.
7694 (handle_overlay_change): Simplify.
7695 (next_overlay_string): After having processed overlay strings at the
7696 end of the buffer, record that fact in
7697 it->overlay_strings_at_end_processed_p.
7698 (compare_overlay_entries): If before- and after-strings come
7699 from the same overlay, let before-strings come first.
7700 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7701 (load_overlay_strings): Take it->add_overlay_start into account
7702 when adding overlay strings.
7703
7704 * dispextern.h (struct it): Add member add_overlay_start.
7705
bb746ea6
DL
77062000-06-22 Dave Love <fx@gnu.org>
7707
7708 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7709
7710 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7711
a8f573f3
KH
77122000-06-22 Kenichi Handa <handa@etl.go.jp>
7713
7714 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7715 is greater than 0.
7716
9f2bbc92
DL
77172000-06-21 Dave Love <fx@gnu.org>
7718
178c5d9c 7719 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7720
3ee5041c
SM
77212000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7722
7723 * syntax.c (back_comment): Simplify string-parity counting (with
7724 the added benefit of handling multiple string-styles as long as
7725 they are not intertwined).
7726 Jump to the slow code as soon as a comment starter is found in
7727 a "string_lossage" position. Fixes the case: " /* " /* " */.
7728
4c343001
DL
77292000-06-21 Dave Love <fx@gnu.org>
7730
7731 * Makefile.in: Use GETLOADAVG_LIBS.
7732
7733 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7734 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7735
e6365855
SM
77362000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7737
7738 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7739 (Fforward_comment, scan_lists):
7740 Check the comstyle of single-char comment-starters.
7741 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7742 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7743 Check the comstyle of single-char comment-starters.
7744 Clarify control-flow around the Scomment case.
e6365855 7745
5700d2cc
DL
77462000-06-20 Dave Love <fx@gnu.org>
7747
d355bd8a
SM
7748 * fns.c (make_hash_table, maybe_resize_hash_table):
7749 Cast arg of next_almost_prime.
5700d2cc 7750
178c5d9c 7751 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7752
7753 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7754 and unistd.h.
7755
4a27bdfb
GM
77562000-06-20 Gerd Moellmann <gerd@gnu.org>
7757
a61d762c 7758 * keyboard.c (adjust_point_for_property): Check if display
52283633 7759 property should be treated as intangible by looking at its value.
a61d762c 7760
178c5d9c 7761 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7762 (display_prop_intangible_p): New functions.
7763
7764 * dispextern.h (display_prop_intangible_p): Add prototype.
7765
7766 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7767
4a27bdfb
GM
7768 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7769 argument to sigprocmask.
7770
7771 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7772 argument to sigprocmask.
7773
7774 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7775 sigprocmask_set, and pass a pointer to it to sigprocmask.
7776
7777 * sysdep.c (sigprocmask_set): New variable.
7778
7779 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7780 report_file_error.
7781
427ec082
SS
77822000-06-20 Sam Steingold <sds@gnu.org>
7783
7784 * xrdb.c: Don't declare xmalloc, xrealloc.
7785
8972fe79 77862000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7787
7788 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7789 (re_comp): Cast gettext return value to avoid complaints when
7790 !HAVE_LIBINTL.
7791
074b6efe
DL
77922000-06-20 Dave Love <fx@gnu.org>
7793
52283633 7794 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7795
5700d2cc 7796 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7797
d355bd8a 7798 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7799
7800 * m/alpha.h: Don't declare xmalloc, xrealloc.
7801
0af4f205
DL
7802 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7803
7804 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7805
7806 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7807
7808 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7809 HAVE_GETWD.
7810
074b6efe
DL
7811 * keyboard.h (poll_for_input_1): Declare.
7812
7813 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7814
7815 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7816
7817 * doprnt.c: Don't declare xmalloc, xrealloc.
7818
7819 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7820 (getenv, ctime, getwd): Removed.
7821 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7822
7823 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7824 x_set_tool_bar_lines.
7825
7826 * config.in: Add HAVE_GETWD. Move some definitions above
7827 machine/system includes.
7828
68a5e97b
KH
78292000-06-20 Kenichi Handa <handa@etl.go.jp>
7830
95417e1e
KH
7831 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7832
68a5e97b
KH
7833 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7834 contain information about ENCODING.
7835
7836 * fontset.c (FONTSET_ASCII): Use the first element of char table
7837 for an ASCII font, not defalt slot.
7838 (fontset_ref_via_base): If FONTSET doesn't contain information for
7839 C, try the default fontset.
7840 (make_fontset): Don't copy the default fontset.
7841 (fontset_font_pattern): Likewise.
7842 (accumulate_font_info): If ELT is nil, use the corresponding
7843 element in the default fontset.
7844
3b4fa1b2
DL
78452000-06-19 Dave Love <fx@gnu.org>
7846
943e731c
DL
7847 * syntax.c (Fparse_partial_sexp): Doc fix.
7848
7849 * regex.h: Test PROTOTYPES as well as __STDC__.
7850
3b4fa1b2
DL
7851 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7852 errno, strerror. Put text after #endif in comment.
7853
52283633 7854 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7855
7856 * xterm.c (x_frame_of_widget): Likewise.
7857
cdf0357b
GM
78582000-06-19 Gerd Moellmann <gerd@gnu.org>
7859
7860 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7861 to Vfundamental_mode_abbrev_table.
7862
7863 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7864 bogus objects are marked. This slows down GC by ~80 percent, but
7865 it might be worth trying when debugging GC-related problems.
7866 This feature requires conservative stack marking to be enabled.
7867
7868 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7869 returns XLookupChars, reset `modifiers' to zero.
7870
998e9f8c
DL
78712000-06-19 Dave Love <fx@gnu.org>
7872
7873 * mktime.c: Unprotoized.
7874
18e21ce8 78752000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7876
7877 * data.c (set_internal): If variable is frame-local,
7878 store the new value immediately into the frame parameter alist.
7879
140c4ac6
KR
78802000-06-19 Ken Raeburn <raeburn@gnu.org>
7881
14358466
KR
7882 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7883 in the custom handler pointer.
7884
140c4ac6
KR
7885 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7886 value, or checks for CHAR_META can fail when Lisp_Object is a
7887 union type.
7888 * keymap.c (get_keyelt): Likewise.
7889
10d7bf84
KH
78902000-06-19 Kenichi Handa <handa@etl.go.jp>
7891
7892 * ccl.h (struct ccl_program): New member eol_type.
7893 (struct ccl_spec): New member cr_carryover.
7894
7895 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7896 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7897
7898 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7899 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7900 (decode_eol_post_ccl): New function.
7901 (decode_coding): Don't detect EOL format here for CCL based coding
7902 systems.
7903 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7904 decode_eol_post_ccl after running the CCL program.
7905 (code_convert_region): Don't detect EOL format here for CCL based
7906 coding systems.
7907 (decode_coding_string): Likewise.
7908
52e386c2
KR
79092000-06-18 Ken Raeburn <raeburn@gnu.org>
7910
7911 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7912 when treating it as an integer.
7913
7914 * coding.h (encode_coding_string): Declare.
7915
7916 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7917 it as an integer.
7918
7919 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7920 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7921 to be passed to get_local_map.
7922
7923 * sound.c (Fplay_sound): Don't call make_number on
7924 Frun_hook_with_args count argument.
7925
7926 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7927 for lisp objects in X event structure data field, when lisp
7928 objects are represented with unions.
7929 (x_scroll_bar_to_input_event): Ditto.
7930
b357b9d4
KR
79312000-06-16 Ken Raeburn <raeburn@gnu.org>
7932
7933 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7934 termination of string. Fix sense of test whether
7935 Vline_number_display_limit is an integer.
b357b9d4 7936
a871441d
GM
79372000-06-16 Gerd Moellmann <gerd@gnu.org>
7938
a9021acd
GM
7939 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7940 only if HAVE_X_WINDOWS.
7941
6344985d
GM
7942 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7943 of titles.
7944
427ec082 7945 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7946 out of bounds.
7947
228b083e
EZ
79482000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7949
7950 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7951 of its headers.
7952
c25b53a2
KH
79532000-06-15 Kenichi Handa <handa@etl.go.jp>
7954
7955 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7956 start of the while loop.
7957
a6981b11
GM
79582000-06-15 Gerd Moellmann <gerd@gnu.org>
7959
e9924e52
GM
7960 * atimer.c (alarm_signal_handler): Add forward declaration.
7961
a6981b11
GM
7962 * data.c (set_internal): Remove debug code.
7963
25fa6deb
GM
79642000-06-14 Gerd Moellmann <gerd@gnu.org>
7965
dce6b995
GM
7966 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7967
9f817ea4
GM
7968 * unexec.c (toplevel) [COFF]: Include coff.h.
7969
7970 * s/lynxos.h: New file.
7971
7972 * keymap.c (Fsingle_key_description): Enclose function key and
7973 event symbol names in angle brackets.
7974
8a4e3c0c
GM
7975 * xdisp.c (setup_echo_area_for_printing): Call
7976 message_log_maybe_newline if message_buf_print is not set.
7977
7978 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7979 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7980 function does something useful even when message_buf_print is
7981 already set.
7982
52283633
SM
7983 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7984 New variables.
25fa6deb
GM
7985 (ensure_echo_area_buffers): Initialize echo buffer's
7986 truncate lines setting to nil.
7987 (with_echo_area_buffer): Don't set the echo buffer's truncate
7988 lines setting here.
8a4e3c0c 7989 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7990 of message_truncate_lines.
7991 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7992 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7993 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7994
7995 * keyboard.c (read_char): Bind message-truncate-lines to t
7996 while displaying a help-echo.
7997
7998 * lisp.h (Qmessage_truncate_lines): External declaration.
7999
163dcff3
GM
80002000-06-13 Gerd Moellmann <gerd@gnu.org>
8001
1681ead6
GM
8002 * xdisp.c (Vline_number_display_limit): Renamed from
8003 line_number_display_limit.
8004 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8005 Extend documentation string. Initialize
8006 Vline_number_display_limit to nil meaning no limit.
8007 (decode_mode_spec): Use Vline_number_display_limit with its new
8008 meaning.
8009
163dcff3
GM
8010 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8011
18e21ce8 80122000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8013
8014 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8015
163dcff3
GM
8016 * xfns.c (x_set_frame_parameters): Comment fix.
8017
8018 * frame.c (store_frame_param): Call swap_in_global_binding if the
8019 variable's current binding was chosen based on this frame.
8020
8021 * data.c (swap_in_global_binding): New function.
8022
a704139d
EZ
80232000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8024
8025 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8026 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8027
9b6610db
EZ
80282000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8029
8030 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8031
c68833d2
JR
80322000-06-12 Jason Rumney <jasonr@gnu.org>
8033
8034 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8035
8036 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8037
8038 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8039
8040 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8041
ed1056b3
GM
80422000-06-12 Gerd Moellmann <gerd@gnu.org>
8043
8044 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8045 (syms_of_xfaces): Defsubr Sdump_colors.
8046 (x_free_colors): Don't treat b&w specially on default visual.
8047 (x_free_dpy_colors): New function.
8048 (free_face_colors): Don't check visual class; it's done
8049 in x_free_colors.
8050
8051 * xterm.c (x_frame_of_widget): New function.
8052 (x_alloc_nearest_color_for_widget): Use it.
8053 (x_copy_dpy_color): New function.
8054 (x_destroy_window): Free various colors.
8055
5050a2ef
KH
80562000-06-12 Kenichi Handa <handa@etl.go.jp>
8057
8058 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8059
8060 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8061
8062 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8063
8064 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8065
8066 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8067
fb1b041d
DL
80682000-06-11 Dave Love <fx@gnu.org>
8069
8070 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8071
ff96b5f4
EZ
80722000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8073
8074 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8075
db8eeecd
GM
80762000-06-11 Gerd Moellmann <gerd@gnu.org>
8077
ed1056b3 8078 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8079 to `XEvent *'.
8080
49b71c5f
KH
80812000-06-10 Kenichi Handa <handa@etl.go.jp>
8082
c479bd55
KH
8083 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8084 (regex_compile): Fix the code for handling the case of single byte
8085 char and multibyte char being mixed in a range within [...].
8086
ff6a65c2
KH
8087 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8088 and dst_multibyte members of coding.
8089
49b71c5f
KH
8090 * charset.c (update_charset_table): Update the table
8091 bytes_by_char_head.
8092 (init_charset_once): Initialize elements of bytes_by_char_head to
8093 1 except for leading codes for private charases.
8094
8095 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8096 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8097
9e80b57d
KR
80982000-06-09 Ken Raeburn <raeburn@gnu.org>
8099
8100 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8101 access the data it doesn't point to.
8102
f83fe4b4
GM
81032000-06-08 Gerd Moellmann <gerd@gnu.org>
8104
8105 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8106 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8107 event queue. This is necessary because Emacs otherwise won't
8108 perform a switch-frame to a new frame until some other event, for
8109 example a keystroke event, forces it to do so. This has various
8110 effects, one visible being that the cursor of a frame created with
8111 C-x 5 2 or switched to with a window manager key binding like
8112 A-TAB stays hollow because selected_window isn't on the newly
8113 focused frame until the switch-frame is performed.
8114
8115 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8116 generating a switch-frame event if necessary.
8117
8118 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8119
8120 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8121 it's an integer.
8122
0890801b
KH
81232000-06-08 Kenichi Handa <handa@etl.go.jp>
8124
52283633 8125 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8126
173cbca8
GM
81272000-06-07 Gerd Moellmann <gerd@gnu.org>
8128
3091c2a6
GM
8129 * window.c (displayed_window_lines): Take empty lines at
8130 the bottom of a window into account.
427ec082 8131
f38952fe
GM
8132 * window.c (displayed_window_lines): New function.
8133 (Fmove_to_window_line): Use displayed_window_lines to determine
8134 the number of lines to move, instead of using the window's height.
8135
8136 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8137 to stop reading, even if the form read sets point to a different
8138 value when evaluated.
8139
427ec082 8140 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8141 put the cursor.
8142
6ba6c818
KH
81432000-06-07 Kenichi Handa <handa@etl.go.jp>
8144
8145 * fileio.c (e_write): Free composition data if stored in
8146 coding->cmp_data.
8147
5f1aea9a
GM
81482000-06-06 Gerd Moellmann <gerd@gnu.org>
8149
666852af
GM
8150 * xdisp.c (display_line): Set row's and iterator's
8151 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8152 Set cursor even if row ends in the middle of a character.
8153 (dump_glyph_row): Print values of new flags.
8154 (redisplay_window) <cursor movement in unchanged window>: When
8155 point has been moved forward, and PT is at the end of the cursor
8156 row, don't place the cursor in the next row if the cursor row ends
8157 in the middle of a character or at ZV.
8158
8159 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8160 (struct glyph_row): Add starts_in_middle_of_char_p and
8161 ends_in_middle_of_char_p.
8162 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8163 ends_in_middle_of_char_p flag.
8164 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8165
d13f3e2e
GM
8166 * term.c (append_glyph): Revert change of 2000-06-06.
8167
8168 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8169 padding glyph not fitting on line as whole character not
8170 fitting on line.
8171
5f1aea9a
GM
8172 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8173 this isn't true for images with `:ascent 100'.
8174
10cda9b0
KH
81752000-06-06 Kenichi Handa <handa@etl.go.jp>
8176
ed00559d
KH
8177 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8178 as modified if it is originally unmodified.
8179
10cda9b0
KH
8180 * term.c (encode_terminal_code): Change the way to check if
8181 terminal coding does any conversion.
8182 (append_glyph): Set glyph->pixel_width correctly.
8183
8184 * xdisp.c (display_line): While checking line continuation, pay
8185 attention to a padding glyph.
8186
1969fae2
GM
81872000-06-05 Gerd Moellmann <gerd@gnu.org>
8188
8189 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8190
162ccef4
DL
81912000-06-05 Dave Love <fx@gnu.org>
8192
f19f32dd
DL
8193 * xdisp.c: Include fontset.h.
8194
8195 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8196
8197 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8198
8199 * dispnew.c: Conditionally include term.h.
8200
8201 * coding.h: Declare code_convert_string_norecord.
8202
8203 * frame.h (struct frame): Use volatile unconditionally.
8204
8205 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8206
8207 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8208
8209 * systime.h: Protect against multiple inclusion.
8210 (timezone) [USG5_4]: Define as time_t.
8211
8212 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8213 (Foptimize_char_table, make_temp_name): Declare.
8214
8215 * Makefile.in (xdisp.o): Depend on fontset.h.
8216
8217 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8218
8219 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8220 (Foptimize_char_table, make_temp_name): Declare.
8221
427ec082 8222 * s/irix4-0.h:
162ccef4
DL
8223 * s/irix5-0.h:
8224 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8225
2082fe81
DL
82262000-06-02 Dave Love <fx@gnu.org>
8227
8228 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8229
dcf671d2
GM
82302000-06-02 Gerd Moellmann <gerd@gnu.org>
8231
8232 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8233 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8234 be freed.
8235
8236 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8237 glyph, use the ASCII NUL character to determine the face.
8238
d42122a3
DL
82392000-06-02 Dave Love <fx@gnu.org>
8240
8241 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8242 (VFORK_RETURN_TYPE): Remove.
427ec082 8243
d42122a3
DL
8244 * config.in: Add NO_MATHERR.
8245
dd432f16
DL
82462000-06-01 Dave Love <fx@gnu.org>
8247
90aa4ea8
DL
8248 * cmds.c (internal_self_insert): Don't check
8249 Vbefore_change_function, Vafter_change_function.
8250
8251 * insdel.c (signal_before_change, signal_after_change): Likewise.
8252
8253 * buffer.c (Vbefore_change_function, Vafter_change_function):
8254 Variables and their initializations deleted.
8255
2330c9d4
DL
8256 * callint.c (Fcall_interactively): Doc fix.
8257
dd432f16
DL
8258 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8259
bf9e8804
DL
82602000-05-31 Dave Love <fx@gnu.org>
8261
8262 * textprop.c: Revert last change -- duplicated.
8263
3694b4ab
GM
82642000-05-31 Gerd Moellmann <gerd@gnu.org>
8265
8266 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8267 in #if 0.
8268
8269 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8270
f14156cd
JR
82712000-05-31 Jason Rumney <jasonr@gnu.org>
8272
8119aab8
JR
8273 * search.c (Fre_search_forward, Fre_search_backward)
8274 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8275
f14156cd
JR
8276 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8277
4aab9be3
JR
82782000-05-30 Jason Rumney <jasonr@gnu.org>
8279
8280 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8281 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8282
52283633 8283 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8284
8285 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8286 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8287 expand a nil default_filename.
8288
8289 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8290 pointer to glyph_to_pixel_coords, not a frame.
8291
8292 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8293 coding.h to dependencies.
8294
8295 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8296
8297 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8298 window pointer to be consistent with w32term.c and xterm.c.
8299
8300 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8301 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8302 (Qline_spacing, Qcenter): New variables.
8303 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8304 (x_set_line_spacing): New function.
52283633 8305 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8306 (x_specified_cursor_type): New function.
8307 (x_set_cursor_type): Use it.
8308 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8309 and icon strings.
8310 (validate_x_resource_name, x_get_resource_string): Measure lengths
8311 of external strings in bytes.
8312 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8313 GetTextExtentPoint32 with NULL title.
8314 (Fx_create_frame): Initialize Qline_spacing.
8315 (w32_load_system_font): Initialize font->double_byte_p.
8316 (x_to_w32_charset): Use Vw32_charset_info_alist.
8317 (Image, busy cursor, tooltip functions): Merged changes from
8318 xfns.c. Not yet functional on Windows.
8319
8320 * w32gui.h (W32FontStruct): Add double_byte_p member.
8321
8322 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8323 (emacs_button_translation): Use it.
8324 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8325 in `mask' to be set.
8326
8327 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8328 menu strings.
8329
8330 * w32term.c: Format and doc changes to bring closer to xterm.c.
8331 (w32_char_font_type): New enum.
8332 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8333 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8334 (w32_encode_char): New function.
8335 (x_encode_char): Removed.
8336 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8337 x_encode_char and w32_font_is_double_byte.
8338 (x_produce_image_glyph): Use image_ascent.
8339 (x_produce_glyphs): Use new version of w32_per_char_metric and
8340 handle NULL return value. Allow extra line spacing.
8341 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8342 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8343 w32_font_type member of glyph instead.
8344 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8345 (fast_find_position): Make sure not to consider rows not visible
8346 in the window.
8347 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8348 w32_menu_display_help with input blocked, as it can abort.
8349 (x_display_and_set_cursor): Choose cursor depending
8350 on buffer-local value of cursor_type.
8351 (x_draw_bar_cursor): Add parameter WIDTH.
8352
8353 * w32term.h (CP_DEFAULT): Define.
8354 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8355
10fc3187
GM
83562000-05-30 Gerd Moellmann <gerd@gnu.org>
8357
8358 * search.c (Fre_search_forward, Fre_search_backward)
8359 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8360
d0555360
KH
83612000-05-30 Kenichi Handa <handa@etl.go.jp>
8362
8363 * coding.c (detect_coding_iso2022): Fix code for checking
8364 CODING_CATEGORY_MASK_ISO_8_2.
8365
f1ad044f
SM
83662000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8367
8368 * regex.c (PREFETCH_NOLIMIT): New function.
8369 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8370
84ec3b4b
GM
83712000-05-29 Gerd Moellmann <gerd@gnu.org>
8372
66254a13
GM
8373 * syntax.c (find_defun_start): Move test for
8374 open_paren_in_column_0_is_defun_start outside of the loop.
8375
49e70dec
GM
8376 * xdisp.c (redisplay_window): Really switch buffers when
8377 displaying mode lines, and temporarily set selected_frame to the
8378 frame of the window that's redisplayed.
8379
84ec3b4b
GM
8380 * xfaces.c (free_realized_faces): Block/unblock input.
8381 (free_realized_multibyte_face): Ditto.
8382
869a3a14
DL
83832000-05-29 Dave Love <fx@gnu.org>
8384
8385 * textprop.c (Qkeymap): New variable.
8386 (syms_of_textprop): Intern it.
8387
8388 * keymap.c: Include intervals.h.
8389 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8390
8391 * Makefile.in (keymap.o): Depend on intervals.h.
8392
8393 * keyboard.c (menu_bar_items, tool_bar_items)
8394 (Fexecute_extended_command): Deal with `keymap' property.
8395 (read_key_sequence): Track map from `keymap' property as well as
8396 `local_map'.
8397
8398 * intervals.c (get_local_map): Extra arg to allow looking for
8399 `keymap' too.
8400
8401 * intervals.h (map_property): New enum.
8402 (get_local_map): Extra arg using it.
8403 (Qkeymap): Declare.
8404
84ec3b4b 8405 * lisp.h (get_local_map): Don't declare here.
869a3a14 8406
89d0c844
KH
84072000-05-29 Kenichi Handa <handa@etl.go.jp>
8408
8409 * Makefile.in (callproc.o): Depend on composite.h.
8410
8411 * callproc.c: Include composite.h.
8412 (Fcall_process): Handle composition correctly.
8413
8414 * coding.h (coding_allocate_composition_data): Extern it.
8415 (coding_restore_composition): Likewise.
8416
8417 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8418 yet allocated, finish decoding with result
8419 CODING_FINISH_INSUFFICIENT_CMP.
8420 (coding_allocate_composition_data): Make it non-static.
8421 (coding_restore_composition): Likewise.
8422
797a084a
EZ
84232000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8424
8425 * charset.c (syms_of_charset): Revert last change.
8426
cf872af5
EZ
84272000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8428
8429 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8430 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8431 Handa.
cf872af5 8432
5b1ae051
EZ
84332000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8434
8435 * charset.c (syms_of_charset): Set width of character sets
8436 eight-bit-control and eight-bit-graphic to 1 column.
8437
34ec9ebe
GM
84382000-05-26 Gerd Moellmann <gerd@gnu.org>
8439
8440 * config.in (HAVE_SPEED_T): New define.
8441
8442 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8443 `extern speed_t'.
8444
dd854dc2
DL
84452000-05-26 Dave Love <fx@gnu.org>
8446
8447 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8448
8449 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8450 (Fsubr_arity): New function.
8451 (syms_of_data): Install them.
8452
ba9f8f95
KH
84532000-05-26 Kenichi Handa <handa@etl.go.jp>
8454
0f3e0672
KH
8455 * charset.c (init_charset_once): Set the table bytes_by_char_head
8456 correctly.
8457
cebefb44
KH
8458 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8459 the default fontset to what Emacs uses by default.
0f3e0672
KH
8460 (check_registry_encoding): This function deleted.
8461 (Fset_fontset_font): Remove the adhoc condition for the default
8462 fontset. Allow cons in FONTNAME.
cebefb44 8463
0f3e0672
KH
8464 * fns.c (map_char_table): Ignore char-table entries for
8465 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8466
7a18af49
KR
84672000-05-25 Ken Raeburn <raeburn@gnu.org>
8468
8469 * emacs.c (main): Initialize keyboard syms before initializing
8470 window code, so face names are available.
8471
d2af47df
SM
84722000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8473
8474 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8475 of an anchor at the beginning of a shy-group.
8476
fc6a6a4e
GM
84772000-05-25 Gerd Moellmann <gerd@gnu.org>
8478
8479 * xdisp.c (handle_invisible_prop): Don't try to skip over
8480 invisible text if end of text is already reached.
8481
005f0d35
DL
84822000-05-25 Dave Love <fx@gnu.org>
8483
02513cdd
DL
8484 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8485
005f0d35
DL
8486 * coding.c (encode_eol): Add null statement after label.
8487
89f6ca4e
EZ
84882000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8489
8490 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8491 2000-05-20.
8492
a4e1759e
KH
84932000-05-25 Kenichi Handa <handa@etl.go.jp>
8494
8495 * ccl.c (ccl_driver): Fix previous change.
8496
eacfd7fe
KH
84972000-05-25 Kenichi Handa <handa@etl.go.jp>
8498
46ab33a9
KH
8499 * coding.c (run_pre_post_conversion_on_str): Set point to the
8500 beginning of buffer before calling coding->post_read_conversion.
8501 (decode_coding_string): Give correct args to
8502 run_pre_post_conversion_on_str.
8503 (encode_coding_string): Likewise.
8504
eacfd7fe
KH
8505 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8506 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8507 eight-bit-graphic correctly.
8508
f8569325
DL
85092000-05-24 Kenichi HANDA <handa@etl.go.jp>
8510
8511 * fileio.c (Finsert_file_contents): Even if a file is not found,
8512 execute codes for setting up coding system. Call
8513 after-insert-file-functions unconditionally.
8514
04545643
GM
85152000-05-24 Gerd Moellmann <gerd@gnu.org>
8516
8517 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8518 BSD_PGRPS are not defined.
8519
747d90ea
KH
85202000-05-24 Kenichi Handa <handa@etl.go.jp>
8521
8522 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8523 DESCRIPTION.
8524 (syms_of_charset): Avoid building same strings.
8525
716e3b88
GM
85262000-05-23 Gerd Moellmann <gerd@gnu.org>
8527
8528 * lread.c (Fload): Add a comment about the meaning of
8529 Vuser_init_file being t.
8530
8531 * puresize.h (BASE_PURESIZE): Increase to 675000.
8532
8533 * s/gnu-linux.h (setpgrp): Don't define it here because this
8534 prevents compilation on GNU/Linux systems with glib 2.2.
8535
8536 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8537 as setpgid.
427ec082 8538
9aeb39fa
EZ
85392000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8540
8541 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8542 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8543 version.
8544 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8545
29ced61b
KH
85462000-05-23 Kenichi Handa <handa@etl.go.jp>
8547
52283633 8548 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8549
3d80f24d
KH
8550 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8551
52283633 8552 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8553
29ced61b
KH
8554 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8555
d7e00792
KH
85562000-05-22 Kenichi Handa <handa@etl.go.jp>
8557
c9d80d38
KH
8558 * keyboard.c (read_char): Allow character codes 128..255 to be
8559 handled by input-method-function.
8560
d7e00792
KH
8561 * insdel.c (adjust_markers_for_replace): Fix previous change.
8562 (adjust_after_replace): If PREV_TEXT is nil, call
8563 adjust_markers_for_insert, not adjust_markers_for_replace.
8564
087121cc 85652000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8566
087121cc
GM
8567 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8568 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8569 [HAVE_GRANDPT]: Define.
8570 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8571
8572 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8573 like SYSV_PTYS.
8574
8575 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8576
8577 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8578
c9671f81
KH
85792000-05-20 Kenichi Handa <handa@etl.go.jp>
8580
8581 The following changes are to handle 8-bit characters in a
8582 multibyte buffer/string without facing with byte combining
8583 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8584 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8585
8586 * Makefile.in (fns.o): Depend on charset.h.
8587
8588 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8589 convert it to unibyte.
8590 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8591
8592 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8593 apparent char boundary.
8594 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8595 0x80..0x9F to/from multibyte form.
8596
8597 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8598 to unibyte.
8599
8600 * callproc.c (Fcall_process): Always encode an argument string if
8601 it is multibyte. Setup src_multibyte and dst_multibyte members of
8602 process_coding properly.
ce75fd23 8603
c9671f81
KH
8604 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8605 SPLIT_NON_ASCII_CHAR.
8606
8607 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8608 as is.
8609 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8610
52283633 8611 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8612 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8613 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8614 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8615 and eight-bit-graphic.
8616 (char_to_string): Likewise. Signal an error for too large
8617 character code.
8618 (char_printable_p): Return 0 for 8-bit characters.
8619 (update_charset_table): Update iso_charset_table only when a final
8620 character is non-negative.
8621 (find_charset_in_text): Renamed from find_charset_in_str.
8622 Arguments and return value changed. Callers changed.
8623 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8624 be -1 if CHARSET is used only internally.
8625 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8626 eight-bit-graphic.
8627 (Fcharset_after): Simplified.
8628 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8629 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8630 (multibyte_chars_in_text): Simplified by assuming there's no
8631 invalid multibyte sequence.
52283633
SM
8632 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8633 (str_as_unibyte): New functions.
8634 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8635 (init_charset_once): Initialization for
8636 LEADING_CODE_8_BIT_CONTROL.
8637 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8638 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8639 eight-bit-control and eight-bit-graphic.
8640
52283633
SM
8641 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8642 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8643 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8644 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8645 (CHARSET_REVERSE_CHARSET): Likewise.
8646 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8647 eight-bit-graphic.
8648 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8649 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8650 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8651 encounter an invalid multibyte sequence.
8652 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8653 sequence is always valid.
8654 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8655 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8656 (CHAR_STRING): For 8-bit characters, call char_to_string.
8657 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8658 multibyte sequence is always valid.
8659 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8660 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8661 (str_as_unibyte): Extern them.
c9671f81 8662 (BCOPY_SHORT): Fix a bug.
52283633 8663 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8664 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8665 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8666 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8667
bd4bde7f 8668 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8669 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8670 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8671 (EMIT_BYTES): New macros.
8672 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8673 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8674 macros deleted.
8675 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8676 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8677 check the validity of multibyte sequence.
8678 (decode_coding_emacs_mule): New function.
8679 (encode_coding_emacs_mule): New macro.
8680 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8681 the source.
8682 (DECODE_ISO_CHARACTER): Just return a character code.
8683 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8684 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8685 EMIT_CHAR to produced decoded characters. Exit the loop only by
8686 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8687 block here.
8688 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8689 only position codes for an invalid character.
8690 (encode_designation_at_bol): Return new destination pointer. 5th
8691 arg DSTP is changed to DST.
8692 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8693 from the source by ONE_MORE_CHAR. Don't handle the case of last
8694 block here.
8695 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8696 macros deleted.
52283633
SM
8697 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8698 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8699 TWO_MORE_BYTES to fetch a byte from the source.
8700 (encode_eol): Pay attention to coding->src_multibyte.
8701 (detect_coding, detect_eol): Preserve members src_multibyte and
8702 dst_multibyte.
8703 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8704 (encoding_buffer_size): Set magnification to 3 for all coding
8705 systems that require encoding.
8706 (ccl_coding_driver): For decoding, be sure that the result is
8707 valid multibyte sequence.
8708 (decode_coding): Initialize coding->errors and coding->result.
8709 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8710 and raw-text, always call decode_eol. Handle the case of last
8711 block here. If not coding->dst_multibyte, convert the resulting
8712 sequence to unibyte.
8713 (encode_coding): Initialize coding->errors and coding->result.
8714 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8715 and raw-text, always call encode_eol. Handle the case of last
8716 block here.
8717 (shrink_decoding_region, shrink_encoding_region): Detect cases
8718 that we can't skip data more rigidly.
8719 (code_convert_region): Setup src_multibyte and dst_multibyte
8720 members of coding. For decoding, if the buffer is multibyte,
8721 convert the source sequence to unibyte in advance. For encoding,
8722 if the buffer is multibyte, convert the resulting sequence to
8723 multibyte afterward.
8724 (run_pre_post_conversion_on_str): New function.
8725 (code_convert_string): Deleted and divided into the following two.
8726 (decode_coding_string, encode_coding_string): New functions.
8727 (code_convert_string1, code_convert_string_norecord): Call one of
8728 above.
8729 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8730 MAKE_NON_ASCII_CHAR.
52283633
SM
8731 (Fset_terminal_coding_system_internal)
8732 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8733 and dst_multibyte members.
8734 (init_coding_once): Initialize iso_code_class with new enum
8735 ISO_control_0 and ISO_control_1.
8736
8737 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8738 devided into ISO_control_0 and ISO_control_1.
8739 (struct coding_system): New members src_multibyte, dst_multibyte,
8740 errors, and result. Delete member fake_multibyte.
8741 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8742 nonzero.
8743 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8744 nonzero.
8745
8746 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8747 (Faset): Likewise.
8748
8749 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8750 multibyte form.
8751 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8752 combining occurs.
8753 (Ftranspose_region): Delete codes for handling byte combining.
8754
8755 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8756 dst_multibyte members of coding. On handling REPLACE on unibyte
8757 buffer, convert the result of decode_coding to unibyte. On
8758 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8759 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8760 multibyteness of the source (buffer or string).
8761
8762 * fns.c (concat): Handle 8-bit characters correctly.
8763 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8764 unibyte in the result.
8765 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8766 valid multibyte form in the result.
8767 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8768 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8769 return -1, signal an error.
8770 (base64_encode_1): New arg MULTIBYTE. Get each character by
8771 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8772 character is found, return -1.
8773 (Fbase64_decode_region): Delete codes for handling byte-combining.
8774 Treat each decoded byte as a unibyte character.
8775 (Fbase64_decode_string): Return unibyte string.
8776 (Fcompare_strings, concat, string_byte_to_char): Use
8777 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8778 FETCH_STRING_CHAR_ADVANCE.
8779 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8780 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8781
8782 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8783 SPLIT_NON_ASCII_CHAR.
8784 (fontset_ref_via_base, fontset_set): Likewise
8785
8786 * insdel.c (adjust_markers_for_record_delete): Deleted.
8787 (adjust_markers_for_insert): Argument changed. Caller changed.
8788 (adjust_markers_for_replace): Likewise.
52283633
SM
8789 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8790 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8791 (copy_text): Delete unused local varialbe c_save. For converting
8792 to multibyte, be sure to make all 8-bit characters in valid
8793 multibyte form.
8794 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8795 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8796 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8797 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8798 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8799 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8800 handling byte combining.
8801 (adjust_before_replace): Deleted.
427ec082 8802
c9671f81
KH
8803 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8804 SPLIT_NON_ASCII_CHAR.
8805 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8806 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8807 (Fkey_description): Likewise.
8808
8809 * lread.c (read1): On reading multibyte string, be sure to make
8810 all 8-bit chararacters in valid multibyte form.
8811 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8812
8813 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8814 unconditionally.
8815
8816 * process.c (Fstart_process): GCPRO current_dir before calling
8817 Ffind_operation_coding_system. Encode arguments here.
8818 (create_process): Don't encode arguments here. Setup
8819 src_multibyte and dst_multibyte members of struct coding.
8820 (read_process_output): Setup src_multibyte and dst_multibyte
8821 members of struct coding. If the output is to multibyte buffer,
8822 always decode the output of the process. Adjust the
52283633 8823 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8824 (send_process): Setup coding->src_multibyte according to the
8825 multibyteness of the source.
8826
52283633 8827 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8828 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8829 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8830
52283633 8831 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8832
8833 * w16select.c (Fw16_set_clipboard_data): Setup members
8834 src_multibyte and dst_multibyte of coding. Adjusted for the
8835 change for find_charset_in_str.
8836 (Fw16_get_clipboard_data): Likewise.
8837
8838 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8839 dst_multibyte of coding.
8840 (x_to_w32_font): Likewise.
8841
8842 * w32select.c (Fw32_set_clipboard_data): Setup members
8843 src_multibyte and dst_multibyte of coding. Adjusted for the
8844 change for find_charset_in_str.
8845 (Fw32_get_clipboard_data): Likewise.
8846
8847 * xdisp.c (get_next_display_element): Handle 8-bit characters
8848 correctly.
52283633
SM
8849 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8850 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8851
8852 * xselect.c (selection_data_to_lisp_data): Setup members
8853 src_multibyte and dst_multibyte of coding. Adjusted for the
8854 change for find_charset_in_str.
8855 (lisp_data_to_selection_data): Likewise.
8856
5f64c9e0
GM
88572000-05-19 Gerd Moellmann <gerd@gnu.org>
8858
52283633 8859 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8860
5f64c9e0
GM
8861 * dispextern.h (Vimage_types): Add extern declaration.
8862
8863 * xdisp.c (Vimage_types): Moved here from xfns.c.
8864 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8865
8866 * xfns.c (Vimages_types): Moved to xdisp.c.
8867 (syms_of_xfns): Move `image-types' to xdisp.c.
8868
8869 * w32fns.c (Vimage_types): Removed.
8870 (syms_of_w32fns): Remove `image-types'.
8871
813086ea
KH
88722000-05-18 Kenichi Handa <handa@etl.go.jp>
8873
8874 * fns.c (map_char_table): Pay attention to character number of
8875 charset. Check the validity of charset at the first level. For
8876 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8877 the default value.
8878
8879 * fontset.c: Include "buffer.h".
8880 (fs_load_font): If the face has fontset, record the face ID in
8881 that fontset.
8882 (Finternal_char_font): New function.
8883 (accumulate_font_info): New function.
8884 (Ffontset_info): Rewritten for the new fontset implementation.
8885 (syms_of_fontset): Register Vdefault_fontset in the first element
8886 of Vfontset_table. Include Vdefault_fontset in
8887 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8888 function.
8889
bdaebbf0
DL
88902000-05-16 Dave Love <fx@gnu.org>
8891
8892 * m/iris5d.h: Deleted -- unused.
8893
cb613bb8
GM
88942000-05-16 Gerd Moellmann <gerd@gnu.org>
8895
b15f3b77
GM
8896 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8897 `invalid' instead of `illegal'.
8898
8899 * indent.c (Fmove_to_column): When ending within a tab, insert
8900 spaces first so that markers at the end of the tab get adjusted.
8901
835c1b36
GM
8902 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8903 buffer list that wasn't selected in that frame.
8904
cb613bb8
GM
8905 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8906 is needed on mescaline, use a 2 char prefix, and call
8907 make_temp_name with second arg non-zero.
8908
8909 * fileio.c (make_temp_name): New function, extracted from
8910 Fmake_temp_name.
8911 (Fmake_temp_name): Use it.
8912
f685bea9
EZ
89132000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8914
52283633 8915 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8916
a1b8d58b
GM
89172000-05-15 Gerd Moellmann <gerd@gnu.org>
8918
8919 * Makefile.in (lisp): Add env.elc.
8920
8921 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8922
a265079f
GM
89232000-05-12 Gerd Moellmann <gerd@gnu.org>
8924
8925 * search.c (Freplace_match): Handle case of `\N' in the
8926 replacement when there's no group N.
8927
da4496b6
GM
89282000-05-11 Gerd Moellmann <gerd@gnu.org>
8929
0ace421a
GM
8930 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8931 of the message to message_dolog.
8932
1172eb8d
GM
8933 * keyboard.c (read_char): Don't clear current message for help
8934 events; let the code handling help events handle this. Change
8935 code detecting help events that should be ignored.
8936
da4496b6
GM
8937 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8938 we're interating over a string.
8939
0623e40f
DL
89402000-05-09 Dave Love <fx@gnu.org>
8941
8942 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8943 that offset before writing. Move gcpro region past call of
8944 Ffile_regular_p.
8945
bae2503b
DL
89462000-05-04 Dave Love <fx@gnu.org>
8947
8948 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8949
ec82fb2f
GM
89502000-05-04 Gerd Moellmann <gerd@gnu.org>
8951
8952 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8953 of inserted characters when BUF equals the current buffer, and PT
8954 is in front of or equal to FROM.
8955
cbf18892
GM
89562000-05-03 Gerd Moellmann <gerd@gnu.org>
8957
4ff40dd0
GM
8958 * xdisp.c (handle_single_display_prop): If display property value
8959 is invalid, or something not supported on the frame, restore
8960 iterator's position to what it was initially. Make sure to return
8961 0 for invalid and unsupported property values.
8962
cbf18892
GM
8963 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8964 that x_per_char_metric returns null.
8965
1b0672c3
GM
89662000-05-02 Gerd Moellmann <gerd@gnu.org>
8967
576da55d
GM
8968 * xterm.h (struct face): Add forward declaration.
8969 (struct image): Ditto.
8970 (image_ascent): Add prototype.
8971
8972 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8973 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8974 image_ascent instead of using IMAGE_ASCENT.
8975
8976 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8977 (IMAGE_ASCENT): Removed.
8978
8979 * xfns.c (Qcenter): New variable.
8980 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8981 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8982 (image_ascent): New function.
8983 (lookup_image): Recognize `:ascent center'.
8984 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8985 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8986 (xbm_load): Don't set image's ascent here.
8987 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8988 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8989 check ascent values here.
8990 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8991 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8992 (syms_of_xfns): Initialize Qcenter.
8993
1b0672c3
GM
8994 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8995 to the limits, increase the limits.
8996
0d7811ed
KH
89972000-05-01 Kenichi Handa <handa@etl.go.jp>
8998
8999 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9000 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9001
a943a5ca
GM
90022000-04-28 Gerd Moellmann <gerd@gnu.org>
9003
9004 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9005 taller than the window.
9006
5dba1e29
KH
90072000-04-28 Kenichi Handa <handa@etl.go.jp>
9008
9009 * xfaces.c (realize_x_face): Fix the argument of the second
9010 xassert. BASE_FACE may not be a face for ASCII.
9011
353964e3
GM
90122000-04-27 Gerd Moellmann <gerd@gnu.org>
9013
c76e04a8
GM
9014 * print.c (print_object): Treat print-length < 0 as nil.
9015
9016 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9017
9018 * s/freebsd.h (TERMCAP_OBJ): Removed.
9019 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9020
9021 * lread.c (read1): Don't treat period followed by certain
9022 characters as symbol start.
9023
9024 * xfns.c (slurp_file): New function.
9025 (xbm_image_p): Handle case of in-memory XBM files.
9026 (xbm_scan): Rewritten to work on memory buffers instead of files.
9027 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9028 Work on memory buffers instead of files. If DATA is null test
9029 if buffer looks like an in-memory XBM file.
9030 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9031 memory buffers instead of files.
9032 (xbm_file_p): New function.
9033 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9034
353964e3
GM
9035 * lread.c (end_of_file_error): New function.
9036 (read1): Call it instead of signaling `end-of-file' directly.
9037
427ec082 9038 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9039 with Fprinc instead of Fprin1.
9040
24d744ac
KR
90412000-04-26 Ken Raeburn <raeburn@gnu.org>
9042
9043 * window.c (freeze_window_start): Check that minibuffer scroll
9044 window isn't nil before extracting the window structure pointer
9045 from it.
9046
9047 * undo.c (record_delete): If we hit the end of the undo list, stop
9048 picking elements apart.
9049
7464346d
GM
90502000-04-26 Gerd Moellmann <gerd@gnu.org>
9051
9052 * xdisp.c (display_line): If lines are continued, restore
9053 iterator's ascent/descent information to the values before the
9054 first glyph not fitting on the line.
9055
612839b6
GM
90562000-04-25 Gerd Moellmann <gerd@gnu.org>
9057
9058 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9059 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9060
9061 * dispnew.c (increment_matrix_positions): Renamed from
9062 increment_glyph_matrix_buffer_positions.
9063 (increment_row_positions): Renamed from
9064 increment_glyph_row_buffer_positions.
9065
9066 * dispextern.h: Change names of renamed functions from dispnew.c
9067 in prototypes.
9068
cc181e95
GM
90692000-04-24 Gerd Moellmann <gerd@gnu.org>
9070
abfcc168
GM
9071 * fileio.c (Fdo_auto_save): Create directories for auto-save
9072 list file if necessary.
9073
cc181e95
GM
9074 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9075 from buffer or frame.
9076 (automatic_hscrolling_p): New variable.
9077 (hscroll_windows): Scroll windows horizontally only if automatic
9078 hscrolling is allowed.
9079 (syms_of_xdisp): New variable `automatic-hscrolling'.
9080
9081 * frame.h (struct frame): Add member extra_line_spacing.
9082
9083 * xfns.c (x_set_line_spacing): New function.
9084 (Fx_create_frame): Set line spacing from resources.
9085 (Qline_spacing): New variable.
9086 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9087
cc181e95
GM
9088 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9089
9090 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9091 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9092 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9093 extra_line_spacing from default value.
9094 (init_buffer_once): Initialize default value of extra_line_spacing.
9095
9096 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9097 and extra3.
9098
9099 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9100 prompt_width. Add extra line spacing.
9101
9102 * term.c (produce_glyphs): Remove reference to struct it's
9103 prompt_width.
9104
9105 * dispextern.h (struct it): Remove member prompt_width, add
9106 extra_line_spacing.
9107
58827478
GM
91082000-04-22 Gerd Moellmann <gerd@gnu.org>
9109
9110 * dispnew.c (update_frame_line): When writing a whole line, make
9111 sure cursor is in the right row afterwards, otherwise a use of
9112 capability `ch' in cmgoto might leave the cursor in the row below.
9113
25a87f42
GM
91142000-04-21 Gerd Moellmann <gerd@gnu.org>
9115
9116 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9117
9118 * keyboard.c (timer_check): Fix typo in comment.
9119
54edf5c2
KH
91202000-04-21 Kenichi Handa <handa@etl.go.jp>
9121
9122 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9123 name change: ch -> character.
9124
3a64eef5
GM
91252000-04-20 Gerd Moellmann <gerd@gnu.org>
9126
9127 * keyboard.c (echo_message_buffer): New variable.
9128 (echo_now): Set echo_message_buffer to the echo area buffer used
9129 to display the echo.
9130 (cancel_echoing): Reset echo_message_buffer to nil.
9131 (read_char): Code rewritten that handles canceling an echo or
9132 echoing a dash, respectively.
9133
9134 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9135 directory doesn't exist.
9136
6142fdcb
DL
91372000-04-19 Dave Love <fx@gnu.org>
9138
9139 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9140 (concat): Don't allow numeric args.
9141 (Fconcat): Doc change.
6142fdcb 9142
ac6b5352
SM
91432000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9144
9145 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9146 instead define end_match(1|2) more carefully.
9147 Use GET_CHAR_BEFORE_2 for `begline'.
9148
cb9215e4
GM
91492000-04-19 Gerd Moellmann <gerd@gnu.org>
9150
5e3dac3f
GM
9151 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9152 on 64-bit systems where NULL is defined as `0'.
9153
9154 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9155 the `variable argument list' to make it work on Alpha.
9156
cb9215e4
GM
9157 * m/alpha.h (_LP64) [!_LP64]: Define.
9158 (ORDINARY_LINK): Define for NetBSD.
9159
9160 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9161
f532dca0
DL
91622000-04-19 Dave Love <fx@gnu.org>
9163
c750667e
DL
9164 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9165 change.
9166
9167 * Makefile.in (LIBS): Don't use.
9168 (GETLOADAVG_OBJ): Define again.
9169 (otherobj): Add GETLOADAVG_OBJ.
9170
f532dca0
DL
9171 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9172
1c7e22fd
GM
91732000-04-18 Gerd Moellmann <gerd@gnu.org>
9174
f6d3257b
GM
9175 * lread.c (read_filtered_event): Cancel and start busy cursor.
9176
427ec082 9177 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9178 that the per-character metrics may be null.
9179
e10f64e7
GM
91802000-04-17 Gerd Moellmann <gerd@gnu.org>
9181
0daee095
GM
9182 * buffer.c (clone_per_buffer_values): New function.
9183 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9184 clone_per_buffer_values if CLONE is not nil.
9185
e10f64e7
GM
9186 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9187
38687d43
DL
91882000-04-16 Dave Love <fx@gnu.org>
9189
9190 * Makefile.in: Remove obsolete localcpp stuff.
9191 (GETLOADAVG_OBJ): Don't define.
9192 (obj): Move LIBOBJS...
9193 (otherobj): ... to here.
9194 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9195 whitespace-only lines after the continuation (Irix).
9196
c21c7262
GM
91972000-04-14 Gerd Moellmann <gerd@gnu.org>
9198
9199 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9200
9201 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9202
314767c0
DL
92032000-04-14 Dave Love <fx@gnu.org>
9204
9205 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9206 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9207 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9208 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9209 NLIST_STRUCT.
9210
9211 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9212 autoconfiscated HAVE_GETLOADAVG.
9213
9214 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9215 BROKEN_MKTIME.
9216
a2522dca
GM
92172000-04-14 Gerd Moellmann <gerd@gnu.org>
9218
9219 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9220 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9221
33744b5d
DL
92222000-04-14 Dave Love <fx@gnu.org>
9223
c21c7262 9224 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9225 (INTERVAL_SRC): Convert to make variable.
9226 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9227 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9228 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9229 add LIBOBJS.
9230 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9231 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9232 (shortlisp): Add facemenu, float-sup, frame.
9233 (SOME_MACHINE_LISP): Remove them from here.
9234 (LIBES): Change unused LDLIBS to autoconf LIBS.
9235
9236 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9237
9d3d5916
KH
92382000-04-14 Kenichi Handa <handa@etl.go.jp>
9239
9240 * composite.c (update_compositions): If FROM and TO are not in a
9241 valid range, do nothing.
9242
198e3c7a
GM
92432000-04-13 Gerd Moellmann <gerd@gnu.org>
9244
52283633 9245 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9246
52283633 9247 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9248
9249 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9250 as TERMCAP_OBJ.
9251
055a28c9
EZ
92522000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9253
9254 * fileio.c (a_write): Remove redundant semi-colons.
9255 (e_write): Return -1 if failed to write all the data.
9256 This fixes the changes made at 1999-12-15.
9257
f5c75033
DL
92582000-04-12 Dave Love <fx@gnu.org>
9259
9260 * fns.c (mapcar1): Test for null vals to support mapc.
9261 (Fmapc): New function.
9262
0c3cfc51
EZ
92632000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9264
9265 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9266 (IT_frame_up_to_date): Support the buffer local value of
9267 cursor-type, if defined.
9268
33465a31
DL
92692000-04-10 Dave Love <fx@gnu.org>
9270
9271 * editfns.c (preceding-char, following-char): Doc fix.
9272
6ed56568
KR
92732000-04-10 Ken Raeburn <raeburn@gnu.org>
9274
9275 * Makefile.in (temacs): Revert 2000-03-12 change.
9276
7cf80d4e
JR
92772000-04-10 Jason Rumney <jasonr@gnu.org>
9278
9279 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9280
34f3f342
GM
92812000-04-10 Gerd Moellmann <gerd@gnu.org>
9282
1a1b1895
GM
9283 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9284 area buffer, if it's not set up yet.
9285
34f3f342
GM
9286 * indent.c (compute_motion): Set immediate_quit.
9287
be0dbdab
GM
92882000-04-09 Gerd Moellmann <gerd@gnu.org>
9289
52283633 9290 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9291 (realize_tty_face): Suppress boldness if colors are the inverse of
9292 the default colors, and tty_suppress_bold_inverse_default_colors_p
9293 is set.
9294 (Ftty_suppress_bold_inverse_default_colors): New function.
9295 (syms_of_xfaces): Defsubr it.
9296
be0dbdab
GM
9297 * buffer.c (Frestore_buffer_modified_p): New function.
9298 (syms_of_buffer): Defsubr it.
9299
e8413c3b
KR
93002000-04-08 Ken Raeburn <raeburn@gnu.org>
9301
87f67317
KR
9302 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9303 charset id (int) argument, not a charset (Lisp_Object).
9304
e8413c3b
KR
9305 * coding.h (code_convert_string): Declare.
9306 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9307 object, as the fourth argument to code_convert_string.
9308
52283633 9309 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9310 (Fset_fontset_font): Use EQ to compare lisp objects.
9311
7c752c80
KR
93122000-04-05 Ken Raeburn <raeburn@gnu.org>
9313
c0333abc
KR
9314 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9315 a pointer that looks like a lisp object.
9316 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9317 zero, instead see whether it's an integer object, since they can't
9318 have intervals.
9319 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9320
52283633
SM
9321 * dispnew.c (allocate_matrices_for_frame_redisplay)
9322 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9323 to convert between (unsigned) int values and lisp integers.
9324 * keyboard.c (read_key_sequence): Likewise.
9325 * lread.c (substitute_object_recurse): Likewise.
9326 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9327 * minibuf.c (do_completion, Fminibuffer_complete_word)
9328 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9329 * term.c (produce_special_glyphs): Likewise.
9330
9331 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9332 * print.c (print_preprocess, print_object): Likewise.
9333
9334 * search.c (compile_pattern): Use NILP when checking for nil.
9335
74e49b38
KR
9336 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9337 __OPTIMIZE__]: Provide a GNU C macro version that handles
9338 lisp-object unions.
9339 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9340 field, to better cope with ENABLE_CHECKING and calls that modify a
9341 Lisp_Object using its old value.
9342
685e5ed2
GM
93432000-04-04 Gerd Moellmann <gerd@gnu.org>
9344
c407c570
GM
9345 * window.c (compare_window_configurations): Signal an error
9346 if parameters C1 or C2 aren't window configurations.
9347
685e5ed2
GM
9348 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9349 AFTER_POTENTIAL_GC calls around calls to functions that can
9350 signal an error and thus invoke the debugger.
9351
587a49ab
GM
93522000-04-03 Gerd Moellmann <gerd@gnu.org>
9353
62f20204
GM
9354 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9355 an error if decoding fails.
9356
587a49ab
GM
9357 * keyboard.c (lispy_mouse_names): Variable removed.
9358 (Vlispy_mouse_stem): New variable.
9359 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9360 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9361 for any mouse button number. Increase size of mouse_syms and
9362 button_down_location as needed. Call modify_event_symbol with
9363 different arguments.
9364 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9365 Call modify_event_symbol with different arguments.
9366 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9367 for any button number. Call modify_event_symbol with different
9368 arguments.
9369 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9370 Accept a string for NAME_ALIST_OR_STEM.
9371
9372 * lisp.h (larger_vector): Add prototype.
9373
9374 * fns.c (larger_vector): Make externally visible.
9375
9376 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9377
2d1675e4
SM
93782000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9379
9380 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9381 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9382 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9383 we are between str1 and str2.
9384 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9385 (PATFETCH): Use `TRANSLATE'.
9386 (PATFETCH_RAW): Fetch multibyte char if applicable.
9387 (PATUNFETCH): Remove.
9388 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9389 When writing a char, write it directly into the pattern buffer rather
9390 than going needlessly through a temp char-array.
9391 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9392 multibyte magic and remove the useless `#ifdef emacs'.
9393 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9394 buffer.
9395
9396 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9397 conditional on `emacs'.
9398
9399 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9400
cc2d8c6b
KR
94012000-04-01 Ken Raeburn <raeburn@gnu.org>
9402
9403 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9404 non-union-type versions of XMARK and friends here, because XMARK
9405 and friends won't work on an integer field if NO_UNION_TYPE is not
9406 defined.
52283633 9407 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9408
52283633 9409 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9410 (syms_of_composite): Delete local var NARGS, pass an int as first
9411 argument to Fmake_hash_table.
9412
2387b382
KR
9413 * editfns.c (text_property_stickiness): Use NILP to test
9414 Lisp_Object boolean value.
9415 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9416 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9417 problems reading from and changing the same lisp value in an
9418 XSETSTRING call.
9419
27660e89
GM
94202000-04-01 Gerd Moellmann <gerd@gnu.org>
9421
9422 * term.c (TN_no_color_video): New variable.
9423 (term_init): Intitialize TN_no_color_video.
9424 (enum no_color_bit): New enumeration.
9425 (MAY_USE_WITH_COLORS_P): New macro.
9426 (turn_on_face): Use it to determine if attributes may be used
9427 combined with colors.
9428
3578db3c
KR
94292000-04-01 Ken Raeburn <raeburn@gnu.org>
9430
9431 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9432 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9433 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9434 proper accessor macros.
9435 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9436 (grow_mini_window): Fix typo getting int value of root->height.
9437
6fc556fd
KR
9438 * xdisp.c (compute_string_pos): Fix order of arguments to
9439 string_pos_nchars_ahead.
9440 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9441 count arg to variable-arg routines like Frun_hook_with_args and
9442 Fformat.
587a49ab
GM
9443 (back_to_previous_visible_line_start)
9444 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9445 fixed-arg routines like Fget_char_property and Fmake_string.
9446 (reconsider_clip_changes): Use XINT when comparing integer lisp
9447 objects, or passing them as int arguments.
587a49ab
GM
9448 (mark_window_display_accurate, insert_left_trunc_glyphs)
9449 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9450 storing or passing integer values as lisp objects.
9451 (set_cursor_from_row, highlight_trailing_whitespace): Use
9452 INTEGERP, not implicit test against zero, for glyph object.
9453 (try_window_id): Don't use make_number when we want an int value.
9454
9455 * xfaces.c (xlfd_symbolic_value): Make last argument a
9456 Lisp_Object, to be consistent with callers.
9457 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9458 (lface_hash): Apply XFASTINT to lisp values before folding in.
9459
9460 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9461 fill in window width and height. Pass an int, not a lisp object,
9462 as first arg to Finsert.
9463
6e7b2457
GM
94642000-04-01 Gerd Moellmann <gerd@gnu.org>
9465
610d841e
GM
9466 * xfaces.c (realize_basic_faces): Block input while realizing
9467 the faces.
9468
6e7b2457
GM
9469 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9470
9471 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9472
aa110c0c
GM
94732000-03-31 Gerd Moellmann <gerd@gnu.org>
9474
9475 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9476 or ASCII, handle case that per-char metric is null.
aa110c0c 9477
8801a864
KR
94782000-03-30 Ken Raeburn <raeburn@gnu.org>
9479
c6129d7e
KR
9480 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9481
52283633
SM
9482 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9483 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9484 pointer, using eassert.
9485 * frame.h (XFRAME): Likewise.
9486
52283633
SM
9487 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9488 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9489 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9490 * data.c (set_internal): Likewise.
52283633
SM
9491 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9492 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9493 * fileio.c (auto_save_1): Likewise.
9494 * insdel.c (check_markers): Likewise.
9495 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9496 * undo.c (record_insert): Likewise.
9497 * vmsproc.c (child_sig): Likewise.
9498 * window.c (unshow_buffer, window_loop): Likewise.
9499 * xterm.c (x_erase_phys_cursor): Likewise.
9500
8e7af858
GM
95012000-03-30 Gerd Moellmann <gerd@gnu.org>
9502
9503 * xfns.c (free_image_cache): Free the cache structure itself
9504 last, after all its members have been freed.
9505
9506 * lisp.h (xstrdup): Add prototype.
9507
9508 * alloc.c (xstrdup): Moved here from xfaces.c.
9509 (allocating_for_lisp): Variable removed.
52283633 9510 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9511
9512 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9513 of Fsymbol_value.
9514 (xstrdup): Moved to alloc.c.
9515
e0b8c689
KR
95162000-03-29 Ken Raeburn <raeburn@gnu.org>
9517
b96f9fb7
KR
9518 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9519
9520 * emacs.c (main): Fix sense of no-loadup test.
9521
e0b8c689
KR
9522 * config.in (ENABLE_CHECKING): Undef.
9523
9524 * lisp.h (struct interval): Replace "parent" field with a union of
9525 interval pointer and Lisp_Object; add new bitfield to use as
9526 discriminant. Change other flag fields to bitfields.
9527 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9528 is defined and the supplied test fails, print a message and abort.
9529 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9530
9531 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9532 pointers; abort if the value looks like a lisp object.
52283633
SM
9533 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9534 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9535 Modify for new interval parent definition.
9536
52283633
SM
9537 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9538 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9539 addressable lisp object in the interval structure.
9540 (die): New function.
9541 (suppress_checking): New variable.
9542
9543 * intervals.c (interval_start_pos): Just return 0 if there's no
9544 parent object.
9545
f83c5440
GM
95462000-03-29 Gerd Moellmann <gerd@gnu.org>
9547
9548 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9549 and earlier Emacs versions.
9550
9551 * keyboard.c (Ftop_level): Cancel busy-cursor.
9552
9553 * eval.c (call_debugger): Cancel busy-cursor.
9554
fdce64ff
KH
95552000-03-29 Kenichi Handa <handa@etl.go.jp>
9556
9557 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9558 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9559
f6a3f532
SM
95602000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9561
9562 * regex.c (analyse_first): New function obtained by ripping out most
9563 of re_compile_fastmap and generalizing it a little bit so that it
9564 can also just return whether a given (sub)pattern can match the empty
9565 string or not.
9566 (regex_compile): Use `analyse_first' to decide whether the loop-check
9567 needs to be done or not for *, +, *? and +? (the loop check is costly
9568 for non-greedy repetition).
9569 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9570
e9b309ac
DL
95712000-03-28 Dave Love <fx@gnu.org>
9572
52283633 9573 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9574
e9b309ac
DL
9575 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9576
ed0767d8
SM
95772000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9578
9579 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9580 an expression.
9581 (enum re_opcode_t): Update description of succeed_n.
9582 (PATFETCH): Always define.
9583 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9584 operators, char classes, shy-groups and intervals).
9585 Optimize special cases of intervals so as to only use succeed_n and
9586 jump_n when really needed.
9587 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9588 that we don't have to handle the special cases any more.
9589 Simplify on_failure_jump handling as well.
9590
e11e7e46
JR
95912000-03-28 Jason Rumney <jasonr@gnu.org>
9592
9593 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9594
88faab89
GM
95952000-03-27 Gerd Moellmann <gerd@gnu.org>
9596
182ff242
GM
9597 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9598
9599 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9600
182ff242
GM
9601 * alloc.c (mark_maybe_object): New function.
9602 (mark_memory): Use it.
9603 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9604 (setjmp_tested_p, longjmp_done): New variables.
9605 (test_setjmp): New function.
9606 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9607 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9608
c1005d06
GM
9609 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9610 to DEC_TEXT_POS and INC_TEXT_POS.
9611
9612 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9613 with parameter MULTIBYTE_P.
9614
52283633 9615 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9616
7439e5b9 9617 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9618 buffers because it looks for multibyte character byte sequences
9619 which don't exist in unibyte text.
7439e5b9 9620
d9c545da
GM
9621 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9622
11fd416e 9623 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9624 [DEBUG_X_COLORS]: New functions.
9625 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9626
9627 * xfns.c (x_set_cursor_color): Get color reference counts right.
9628
9629 * xterm.c (x_copy_color): New function.
9630 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9631
9632 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9633 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9634 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9635 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9636 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9637 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9638 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9639 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9640 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9641 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9642
11fd416e
GM
9643 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9644 names for handling per-buffer variables.
d9c545da
GM
9645
9646 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9647 instead of MAX_BUFFER_LOCAL_VARS.
9648 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9649
9650 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9651
88faab89
GM
9652 * xfns.c (x_specified_cursor_type): New function.
9653 (x_set_cursor_type): Use it.
9654
9655 * buffer.h (struct buffer): Add cursor_type.
9656
d80f42b7
SM
96572000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9658
9659 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9660 (print_partial_compiled_pattern, re_compile_fastmap):
9661 Handle new opcode.
d80f42b7
SM
9662 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9663 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9664 executing it as well as when popping it off the stack to find infinite
9665 loops in non-greedy repetition operators.
9666
89e80928
GM
96672000-03-26 Gerd Moellmann <gerd@gnu.org>
9668
3d4ff2dd
GM
9669 * doc.c (Qfunction_documentation): New variable.
9670 (syms_of_doc): Initialize Qfunction_documentation.
9671 (Fdocumentation): If FUNCTION is a symbol with non-nil
9672 `function-documentation' property, return a documentation derived
9673 from that.
9674
bd96bd79
GM
9675 * buffer.c (syms_of_buffer): Add default-cursor-type.
9676 (init_buffer_once): Don't let cursor_type have a local value
9677 in every buffer.
9678
19d1bc27
GM
9679 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9680 on buffer-local value of cursor_type.
9681 (x_draw_bar_cursor): Add parameter WIDTH.
9682
9683 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9684 (init_buffer_once): Set default cursor_type value to t.
9685 Mark cursor_type as local everywhere.
9686 (syms_of_buffer): New per-buffer variable cursor-type.
9687
89e80928
GM
9688 * buffer.h (struct buffer): Remove member local_var_flags,
9689 add local_flags.
9690 (MAX_BUFFER_LOCAL_VARS): New macro.
9691 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9692 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9693 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9694 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9695
52283633 9696 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9697
9698 * category.c (Fset_category_table): Use new macros for per-buffer
9699 variables.
9700
9701 * buffer.c (buffer_permanent_local_flags): Make a char array.
9702 (max_buffer_local_idx): New variable.
9703 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9704 for new handling of per-buffer variables.
9705 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9706 (init_buffer_once): Initialize per-buffer vars differently.
9707 Set max_buffer_local_idx.
9708
9709 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9710 variables.
9711
52283633 9712 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9713
9714 * data.c (do_symval_forwarding, store_symval_forwarding)
9715 (find_symbol_value, set_internal, default_value, Fset_default)
9716 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9717 per-buffer variables.
9718
9719 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9720
9a0dd3dc
GM
97212000-03-24 Gerd Moellmann <gerd@gnu.org>
9722
b68c375f
GM
9723 * xterm.c (x_term_init): Unblock input around call1 of
9724 Qvendor_specific_keysyms.
9725
9a0dd3dc
GM
9726 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9727 (find_defun_start): Consider an open parenthesis in column 0
9728 a defun start only if open_paren_in_column_0_is_defun_start is set.
9729 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9730
7973e637
SM
97312000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9732
9733 * eval.c (Fautoload): Add entry in load-history (if after dump).
9734 * lread.c (load-history): Update docstring.
9735
39210e90
GM
97362000-03-24 Gerd Moellmann <gerd@gnu.org>
9737
9738 * indent.c (Fvertical_motion): Always use the current buffer.
9739 Temporarily change the window's buffer, if necessary.
9740
72db3ab5
GM
97412000-03-23 Gerd Moellmann <gerd@gnu.org>
9742
9743 * xterm.c (fast_find_position): Make sure not to consider rows
9744 not visible in the window.
9745
990b2375
SM
97462000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9747
9748 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9749 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9750
ff4df011
JR
97512000-03-22 Jason Rumney <jasonr@gnu.org>
9752
9753 * w32menu.c (single_submenu): Set help string to NULL if none.
9754 (w32_menu_show): Set help string correctly.
9755 (add-menu-item): Set help string in MIIM_DATA for menu item.
9756 Load SetMenuItemInfoA explicitly.
9757 (w32_menu_display_help): New function.
427ec082 9758
ff4df011
JR
9759 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9760 (QCdata): Moved to xdisp.c.
9761
9762 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9763 (Vw32_charset_to_codepage_alist): Removed.
9764 (Vw32_charset_info_alist): New variable.
52283633
SM
9765 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9766 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9767 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9768 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9769 with TODO comment.
9770 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9771 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9772 Define Vw32_charset_info_alist and w32_charset symbols.
9773
97742000-03-22 Jason Rumney <jasonr@gnu.org>
9775
9776 * makefile.nt (w32bdf.obj): Update dependencies.
9777
9778 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9779
9780 * w32fns.c: Include fontset.h after dispextern.h.
9781 (Fx_create_frame): Do not create fontset.
9782 (w32_load_system_font): Doc fix.
9783 (Fx_close_connection): Free full_name if it is not shared.
9784
9785 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9786 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9787 Callers updated.
ff4df011
JR
9788 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9789 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9790 (w32_font_is_double_byte): New function, needs body.
9791 (x_append_glyph): Set glyph->glyph_not_available_p.
9792 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9793 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9794 character, convert it to a unibyte character.
9795 (struct glyph_string): Delete member `charset'.
9796 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9797 calculating it is found.
9798 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9799 the case that per char metric is not available correctly.
9800 (x_fill_glyph_string): Handle the case that the specific glyph is
9801 not available correctly.
9802 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9803 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9804 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9805 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9806 fontset. Don't call FS_LOAD_FONT.
9807
439d5cb4
KR
98082000-03-22 Ken Raeburn <raeburn@gnu.org>
9809
9810 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9811 (INT_LISPLIKE): New macro.
9812 (NULL_INTERVAL_P): Use it.
52283633
SM
9813 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9814 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9815 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9816
9817 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9818 explicit references to "parent" field of struct interval and
9819 associated unclean type conversions.
52283633
SM
9820 * intervals.c (create_root_interval, root_interval, rotate_right)
9821 (rotate_left, balance_possible_root_interval, split_interval_right)
9822 (split_interval_left, interval_start_pos, find_interval)
9823 (next_interval, previous_interval, update_interval)
9824 (adjust_intervals_for_insertion, delete_node, delete_interval)
9825 (adjust_intervals_for_deletion, merge_interval_right)
9826 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9827 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9828 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9829 Likewise.
9830 * syntax.c (update_syntax_table): Likewise.
9831
9832 * intervals.c (reproduce_tree_obj): New function, like
9833 reproduce_tree but takes a Lisp_Object for the parent. Declare
9834 with prototype.
9835 (graft_intervals_into_buffer): Use it when appropriate.
9836 (reproduce_tree): Declare with prototype.
9837 (balance_possible_root_interval): Check that the parent is a lisp
9838 object before trying to examine its type.
9839
ee1c5b21
GM
98402000-03-22 Gerd Moellmann <gerd@gnu.org>
9841
9842 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9843 as strings only if both are known to be strings.
9844
9845 * s/openbsd.h (LIBS_TERMCAP): Undef.
9846
1fb352e0
SM
98472000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9848
9849 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9850 definitions for non-Emacs compilation.
9851 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9852 outside of `#ifdef emacs'.
9853 (print_partial_compiled_pattern): Update.
9854 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9855 (re_compile_fastmap): Merge handling of charset and charset_not (for
9856 emacs and non-emacs compilation as well).
9857 Similarly for (not)categoryspec and (not)syntaxspec.
9858 Don't use the fastmap when reaching `anychar' since the added
9859 complexity is not justified.
9860 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9861 and (not)syntaxspec. Merge (not)categoryspec.
9862
fdaa1f77
KH
98632000-03-22 Kenichi Handa <handa@etl.go.jp>
9864
52283633
SM
9865 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9866 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9867 --without-x.
fdaa1f77 9868
d152fb46
DL
98692000-03-21 Dave Love <fx@gnu.org>
9870
9871 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9872 doc string.
9873
d2cafc8c
GM
98742000-03-21 Gerd Moellmann <gerd@gnu.org>
9875
9876 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9877 (lface_fully_specified_p): Don't check contents of
9878 LFACE_FONT_INDEX because that attribute is optional.
9879 (realize_x_face): Remove now unwarranted xassert.
9880
9111d4b5
KH
98812000-03-21 Kenichi HANDA <handa@etl.go.jp>
9882
9883 The following changes are to make font selection based on
9884 characters, not charset. In addition, they recover fontset
9885 facilities while utilizing the new font selection mechanism.
9886
6c4bfdc0
KH
9887 * Makefile.in (fontset.o): Depend on dispextern.h.
9888
9889 * alloc.c (mark_face_cache): Don't mark face->registry.
9890
9111d4b5
KH
9891 * dispextern.h (struct glyph): New member glyph_not_available_p.
9892 Use 22 bits for face_id.
9893 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9894 (struct face): Delete member registry, new member ascii_face.
9895 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9896 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9897 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9898 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9899
9900 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9901 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9902 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9903 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9904 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9905 (fs_free_face_fontset, fontset_font_pattern)
9906 (face_suitable_for_char_p, face_for_char)
9907 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9908 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9909 (FS_LOAD_FACE_FONT): New macro.
9910
9911 * fontset.c: All codes rewritten or adjusted for the change of
9912 fontset implementation. Now fontset is represented by char table.
52283633
SM
9913 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9914 Variables removed.
9111d4b5 9915 (my_strcasecmp): Function removed.
52283633 9916 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9917 (AREF, ASIZE): New macros.
52283633
SM
9918 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9919 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9920 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9921 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9922 (fontset_id_valid_p, font_family_registry, fontset_name)
9923 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9924 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9925 New functions.
9926 (fs_load_font): New arg FACE. Caller changed.
9927 (fs_query_fontset): Argument changed. Caller changed.
9928 (Fquery_fontset): call fs_query_fontset.
9929 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9930 Functions removed.
52283633
SM
9931 (clear_fontset_elements, check_registry_encoding)
9932 (check_fontset_name): New functions.
9111d4b5
KH
9933 (syms_of_fontset): Set char-table-extra-slots property of fontset
9934 to 3. Staticpro and initialize Vfontset_table and
9935 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9936
9937 * frame.h (struct frame): Member `fontset_data' removed.
9938 (FRAME_FONTSET_DATA): Macro removed.
9939
9940 * frame.c (make_frame): Don't allocate f->fontset_data.
9941 (Fdelete_frame): Don't free f->fontset_data.
9942
6c4bfdc0
KH
9943 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9944
9111d4b5
KH
9945 * xdisp.c (charset_at_position): Function removed.
9946 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9947 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9948 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9949 Likewise.
9950 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9951 FACE_FOR_CHARSET.
52283633
SM
9952 (get_next_display_element, append_space)
9953 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9954
9955 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9956 Variables removed.
9957 (clear_font_table, frame_update_line_height, load_face_font):
9958 Adjusted for the change of fontset implementation.
9959 (load_face_fontset_font): Function removed.
9960 (pixel_point_size): New function.
9961 (font_list): Argument type changed. Caller changed.
9962 (LFACE_FONT): New macro.
9963 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9964 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9965 Lisp_Object. Determine the font name by actually loading a font
9966 by the specified pattern. Set LFACE_FONT (lface) to the specified
9967 pattern. Even if a font is not found, don't try alternatives.
9968 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9969 (set_font_frame_param): If `font' is specified in lface, use it.
9970 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9971 (lface_same_font_attributes_p): Likewise.
9972 (make_realized_face): Arguent changed. Caller changed. Set
9973 face->ascii_face to face itself.
9974 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9975 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9976 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9977 (free_realized_multibyte_face): New function.
9978 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9979 changed. Caller changed.
9980 (try_font_list): Argument type changed.
9981 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9982 (choose_face_font): Argument changed. Handle fontset properly.
9983 (choose_face_fontset_font): Function removed.
9984 (realize_default_face, realize_named_face): Don't remove the
9985 former face here.
9986 (realize_face): Argument changed. Caller changed. Remove face
52283633 9987 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9988 (realize_x_face): Argument changed. Caller changed. For a
9989 multibyte character, share fontset with base_face. For a single
52283633 9990 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9991 (realize_tty_face): Argument changed. Caller changed.
9992 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9993 (face_at_buffer_position): Don't check multibyte_p for returning
9994 DEFAULT_FACE_ID.
9995 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9996 FACE_SUITABLE_FOR_CHARSET_P.
9997 (syms_of_xfaces): Remove code for Qx_charset_registry and
9998 Vface_default_registry.
9999
6c4bfdc0
KH
10000 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10001 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10002 (x_per_char_metric): Don't try FONT->default_char. Even if
10003 pcm->width is zero, glyph bits may exist.
10004 (x_encode_char): Always initialize char2b->byte1.
10005 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10006 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10007 (x_append_glyph): Set glyph->glyph_not_available_p.
10008 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10009 it->charset. Handle the case that per char metric is not
10010 available. If it->multibyte_p is zero and it->c is a multibyte
10011 character, convert it to a unibyte character.
10012 (struct glyph_string): Delete member `charset'.
10013 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10014 the case that per char metric is not available correctly.
10015 (x_fill_glyph_string): Handle the case that the specific glyph is
10016 not available correctly.
10017 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10018 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10019 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10020 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10021 fontset. Don't call FS_LOAD_FONT.
10022
10023 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10024 (x_create_tip_frame): Likewise.
10025 (Fx_close_connection): Free full_name of font_info.
10026
10027 * fns.c (optimize_sub_char_table): New function.
10028 (Foptimize_char_table): New function.
10029 (syms_of_fns): Defsubr Soptimize_char_table.
10030
b33dd3b0
GM
100312000-03-20 Gerd Moellmann <gerd@gnu.org>
10032
10033 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10034 only if buffer is displayed in some window.
10035
10036 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10037 (try_window_reusing_current_matrix): Don't call scroll run
10038 function if run's current and desired position are the same;
10039 this prevents cursor flickering.
10040
4e8a9132
SM
100412000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10042
10043 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10044
10045 * regex.c (RE_STRING_CHAR): New macro.
10046 (GET_CHAR_AFER_2): Remove.
10047 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10048 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10049 (print_partial_compiled_pattern, re_compile_fastmap)
10050 (re_match_2_internal): Remove on_failure_jump_exclusive.
10051 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10052 optimization only need to work for * (ie. can use of_keep_string_jump).
10053 Remove the special case for .*\n since it is now covered by the general
10054 optimization.
10055 (re_search_2): Don't bother with `room'.
10056 (skip_one_char): New function.
10057 (skip_noops): Simplify since `memory' is not needed any more.
10058 (mutually_exclusive_p): Restructure slightly to use `switch' and
10059 add handling for "all" remaining cases.
10060 (re_match_2_internal): Change on_failure_jump_smart to use
10061 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10062 rather than on_failure_jump_exclusive.
10063
2136fdd4
GM
100642000-03-19 Gerd Moellmann <gerd@gnu.org>
10065
10066 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10067 number of bits per RGB because it's everywhere used as the depth
10068 of the visual.
10069
10070 * term.c (calculate_costs): Remove code dealing with X frames.
10071
18e21ce8 100722000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10073
10074 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10075
d7b511c4
GM
100762000-03-18 Gerd Moellmann <gerd@gnu.org>
10077
10078 * lread.c (read_integer): Unread the last char not consumed.
10079
16b5d424
GM
100802000-03-17 Gerd Moellmann <gerd@gnu.org>
10081
10082 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10083 which are in the process of being deleted.
16b5d424 10084
1fa28578
GM
100852000-03-16 Gerd Moellmann <gerd@gnu.org>
10086
83488cce
GM
10087 * Makefile.in (mostlyclean): Add `*.core'.
10088 (clean): Add `bootstrap-emacs'.
10089
1fa28578
GM
10090 * lread.c (read_integer): New function.
10091 (read1): Support read syntax #o, #x, #b, #r.
10092
99633e97
SM
100932000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10094
1fa28578
GM
10095 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10096 make sure POINTER_TO_OFFSET gives the same value before and after
10097 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10098 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10099 (debug): Now only active if > 0 rather than if != 0.
10100 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10101 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10102 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10103 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10104 (store_op1, store_op2, insert_op1, insert_op2)
10105 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10106 (group_in_compile_stack): Move to after its arg's types are
10107 declared and add a prototype.
99633e97 10108 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10109 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10110 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10111 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10112 indentation of the greedy-op and shy-group code.
99633e97
SM
10113 (at_(beg|end)line_loc_p): Fix argument's types.
10114 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10115 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10116 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10117 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10118 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10119 QUIT unconditionally.
99633e97 10120
699238d9
GM
101212000-03-15 Gerd Moellmann <gerd@gnu.org>
10122
10123 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10124 a sole completion.
10125
10126 * process.c (send_process): Add a hint that the function
10127 can call Lisp code to its comment.
10128
10129 * lread.c (load_dangerous_libraries): New variable.
10130 (Vbytecomp_version_regexp): New variable.
10131 (safe_to_load_p): New function.
10132 (Fload): Handle files not compiled with Emacs specially.
10133 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10134
34e23e5a
GM
101352000-03-14 Gerd Moellmann <gerd@gnu.org>
10136
9c763cca
GM
10137 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10138
10139 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10140 support functions only if HAVE_X11R6_XIM is defined.
10141 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10142
10143 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10144
10145 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10146 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10147 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10148
10149 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10150 (HAVE_X11R6_XIM): Define.
10151
10152 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10153
34e23e5a
GM
10154 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10155 If set, call XSynchronize.
10156
66f0296e
SM
101572000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10158
34e23e5a
GM
10159 * regex.c: Declare a new type `re_char' used throughout the code
10160 for the string char type. It's `const unsigned char' to match the
10161 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10162 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10163 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10164 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10165 code duplication.
66f0296e
SM
10166
10167 * charset.h (GET_CHAR_AFTER_2): Remove.
10168 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10169
854a025c
KR
101702000-03-12 Ken Raeburn <raeburn@gnu.org>
10171
10172 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10173 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10174 of them try to use backquotes.
10175
b9d2c7e2
DL
101762000-03-12 Dave Love <fx@gnu.org>
10177
10178 * unexelf.c: Restore changes of 1999-10-19.
10179 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10180 fix its type and alignment; copy it from current process.
10181
5e5dff44
GM
101822000-03-12 Gerd Moellmann <gerd@gnu.org>
10183
9b2f3c38
GM
10184 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10185 has been found. Fix bug not computing timer's predecessor.
10186
427ec082 10187 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10188 file name.
10189
e1cff360
GM
10190 * window.c (Fsave_window_excursion): Doc fix.
10191
52283633 10192 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10193
e411ce4b
EZ
101942000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10195
10196 * msdos.c (vga_installed): New function, code moved from
10197 dos_set_window_size.
10198 (Qbar, Qcursor_type, outside_cursor): New variables.
10199 (syms_of_msdos): Intern and staticpro them.
10200 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10201 shape used outside Emacs when called for the first time.
10202 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10203 cursor shape used outside Emacs.
10204 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10205 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10206 type has changed.
10207 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10208 parameters specify the cursor. Make qreverse a global
10209 variable (renamed to Qreverse).
10210
80460654
GM
102112000-03-09 Gerd Moellmann <gerd@gnu.org>
10212
10213 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10214
95cd4c40
SM
102152000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10216
10217 This is a big redesign of failure-stack and register handling, prompted
10218 by bugs revealed when trying to add shy-groups. Overall, what happened
10219 is that loops are now structured a little differently, groups can be
10220 shy and the code is a little simpler.
10221
10222 * regex.h: Update the copyright.
10223 (RE_SHY_GROUPS): New value.
10224 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10225 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10226
80460654
GM
10227 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10228 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10229 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10230 for (start|stop)_memory since they now only take one argument (the
10231 second has becomes unnecessary).
52283633 10232 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10233 (print_compiled_pattern): Use %ld to printf long ints and flush to
10234 make debugging a little easier.
95cd4c40
SM
10235 (union fail_stack_elt): Make the integer unsigned.
10236 (struct fail_stack_type): Add a `frame' element.
10237 (INIT_FAIL_STACK): Init `frame' as well.
10238 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10239 (DEBUG_PUSH, DEBUG_POP): Remove.
10240 (NUM_REG_ITEMS): Remove.
10241 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10242 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10243 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10244 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10245 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10246 New macros.
80460654
GM
10247 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10248 address pushed is not the destination of the jump but the source
10249 of it instead.
95cd4c40
SM
10250 (NUM_FAILURE_ITEMS): Remove.
10251 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10252 registers before the actual failure point). Don't hardcode any
10253 meaning for str==NULL anymore.
95cd4c40 10254 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10255 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10256 Remove.
95cd4c40
SM
10257 (REG_UNSET_VALUE): Use NULL (why not?).
10258 (compile_range): Remove declaration since it doesn't exist.
10259 (struct compile_stack_elt_t): Remove inner_group_offset.
10260 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10261 (regex_grow_registers): Remove dead code.
10262 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10263 (regex_compile): Add shy-groups Change loops to use
10264 on_failure_jump_smart&jump instead of
10265 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10266 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10267 variable to me). Use `jump' instead of `jump_past_alt' and don't
10268 bother with push_dummy_failure in alternatives since it is now
10269 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10270 emacs' for (re)allocating the stack.
10271 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10272 from loop when bufp->can_be_null rather than jumping to `done'.
10273 Avoid jumping backwards so as to ensure termination. Use
10274 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10275 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10276 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10277 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10278 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10279 (lowest_active_reg, highest_active_reg)
10280 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10281 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10282 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10283 variables. Push register (in `start_memory') on the stack rather
10284 than storing it in old_reg(start|end). Remove the cycle detection
10285 from `stop_memory', replaced by the use of on_failure_jump_loop
10286 for greedy loops. Add code for the new on_failure_jump_<foo>.
10287 Remove ad-hoc code in `on_failure_jump' to push more registers in
10288 the case of a loop. Take out code from `maybe_pop_jump' into
10289 separate functions and adapt it to the semantics of
10290 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10291 and push_dummy_failure. Remove dummy_failure handling and
10292 handling of `failures to jump to on_failure_jump' (this last one
10293 was already dead code, it seems).
10294 (group_match_null_string_p, alt_match_null_string_p)
10295 (common_op_match_null_string_p): Remove.
95cd4c40 10296
7397acc4
DL
102972000-03-08 Dave Love <fx@gnu.org>
10298
10299 * config.in: Don't depend on __STDC__ for volatile.
10300 Add POINTER_TYPE, PTR, PROTOTYPES.
10301
10302 * hftctl.c, strftime.c: Use PROTOTYPES.
10303 * eval.c (find_handler_clause): Likewise.
10304
10305 * mem-limits.h: Use POINTER_TYPE.
10306
10307 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10308 (memory_warnings): Declare using POINTER_TYPE.
10309
5e91ff9e
GM
103102000-03-08 Gerd Moellmann <gerd@gnu.org>
10311
feab4fba
GM
10312 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10313
52283633 10314 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10315
5e91ff9e
GM
10316 * xfns.c: Remove obsolete code in #if 0.
10317 (Fx_focus_frame): New function.
10318
a735b7e1
KH
103192000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10320
10321 * coding.c (coding_category_name): Add coding-category-utf-8,
10322 coding-category-utf-16-be, coding-category-utf-16-le.
10323 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10324 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10325 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10326 (detect_coding_utf_8): New function.
10327 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10328 UTF_16_LOW_SURROGATE_P): New macros.
10329 (detect_coding_utf_16): New function
10330 (detect_coding_mask): When priorities are specified, skip any
10331 categories that have `nil' coding-system. Fix bug of returning
10332 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10333 returns a mask not set in PRIORITIES.
10334 (detect_eol_type_in_2_octet_form): New function.
10335 (detect_eol): selects detect_eol_type_XXX to call according to
10336 cooding->category_idx.
10337 (detect_coding_system): Remove `nil' coding-system in the result.
10338 (Fupdate_coding_systems_internal): Update all coding-categories.
10339
52283633
SM
10340 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10341 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10342 New macros.
10343 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10344 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10345 (CODING_CATEGORY_IDX_UTF_16_LE)
10346 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10347 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10348 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10349 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10350
9994cc69
GM
103512000-03-07 Gerd Moellmann <gerd@gnu.org>
10352
e9b4e5ff
GM
10353 * doc.c (Fdocumentation_property): If value is not a string,
10354 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10355
f7daf1e1
GM
10356 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10357 close the display with XtCloseDisplay. This caused a bus error
10358 on OpenWindows.
10359
9994cc69
GM
10360 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10361 complete but not unique.
10362
4336c705
GM
103632000-03-06 Gerd Moellmann <gerd@gnu.org>
10364
18bb0684
GM
10365 * process.c (send_process): Remove local variable `procname' that
10366 might become invalid when a GC happens. Instead, access the
10367 process name slot directly.
10368
4336c705
GM
10369 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10370 orig_height if set.
10371
10372 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10373 orig_height if set.
10374
515d0d0e
EZ
103752000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10376
10377 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10378 glyph matrices have been freed.
10379
100b3cbb
GM
103802000-03-05 Gerd Moellmann <gerd@gnu.org>
10381
50df5e5a 10382 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10383 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10384
10385 * xfns.c (QCdata): Moved to xdisp.c.
10386
10387 * xdisp.c (QCdata): Moved here from xfns.c.
10388 (syms_of_xdisp): Initialize QCdata.
10389
10390 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10391
10392 * window.c (coordinates_in_window): Use
10393 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10394 FRAME_INTERNAL_BORDER_WIDTH.
10395
100b3cbb 10396 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10397 it is obviously invalid.
100b3cbb
GM
10398
10399 * xterm.c (x_term_init): Create a colormap if not using the
10400 default visual.
10401
10402 * xterm.h (select_visual): Change prototype.
10403
10404 * xfns.c (select_visual): Rewritten. Recognize user-specified
10405 visual classes.
10406 (visual_classes): New variable.
10407
64d739c4
GM
104082000-03-04 Gerd Moellmann <gerd@gnu.org>
10409
10410 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10411 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10412 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10413 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10414 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10415 XtNcolormap resources.
10416 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10417 (Fx_create_frame): Initialize color members of x_output structure.
10418 (xpm_load): Pass colormap to XPM lib.
10419
10420 * xfaces.c (x_free_colors): Access colormap of frame using
10421 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10422 when default colormap is used.
10423
10424 * xterm.c (x_term_init): Set Colormap member of x_display_info
10425 structure. Copy colormap if resource `privateColormap' is
10426 specified (PseudoColor only).
10427 (x_setup_relief_color): Access colormap of frame using
10428 FRAME_X_COLORMAP.
10429
10430 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10431 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10432
c3cee013
JR
104332000-03-04 Jason Rumney <jasonr@gnu.org>
10434
10435 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10436 other non-platform-specific equivalents.
64d739c4 10437 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10438 specific functions and macros as their w32 equivalents where
10439 non-platform-specifics are not available.
10440 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10441 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10442 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10443 (frame_update_line_height): Use macros to access f->output_data.
10444 (defined_color): Remove FIXME comments; fixed.
10445 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10446 into #ifdef blocks. Add WINDOWSNT blocks.
10447 (Fx_list_fonts): Use macros for accessing font data.
10448 (set_lface_from_font_name): Different default fonts for X and
10449 WINDOWSNT.
10450 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10451 scalable for backward compatibility.
64d739c4 10452 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10453 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10454
64d739c4 10455 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10456 syms_of_w32faces.
10457
10458 * makefile.nt (w32faces.obj): Remove.
10459 (xfaces.obj): Add.
10460
807cc41c
JR
104612000-03-03 Jason Rumney <jasonr@gnu.org>
10462
10463 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10464 correct parameters.
10465
0007072a
KR
104662000-03-03 Ken Raeburn <raeburn@gnu.org>
10467
10468 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10469 standard ELF definitions here if the system header does not.
10470
71a6ba55
GM
104712000-03-03 Gerd Moellmann <gerd@gnu.org>
10472
10473 * xterm.c (PER_CHAR_METRIC): Removed.
10474 (x_per_char_metric_1, x_default_char): New functions.
10475 (x_per_char_metric): If font's default char is invalid, return
10476 metrics of a suitably chosen usable default char.
10477 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10478 char, replace occurrences of unprintable chars with a suitably
10479 chosen usable default char.
71a6ba55 10480
900fa1f1
GM
104812000-03-02 Gerd Moellmann <gerd@gnu.org>
10482
42f55fe0
GM
10483 * xterm.c (note_mouse_highlight): Return quickly if frame's
10484 glyph matrices have been freed.
10485
10486 * dispnew.c (free_glyphs): Block input while freeing matrices.
10487
900fa1f1
GM
10488 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10489
52283633
SM
10490 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10491 Use x_free_colors.
900fa1f1
GM
10492
10493 * dispextern.h (x_free_colors): Add prototype.
10494
10495 * xfaces.c (x_free_colors): New function.
10496 (unload_color, free_face_colors): Use it.
10497
2f950292
EZ
104982000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10499
10500 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10501
10502 * window.c [MSDOS]: Include msdos.h.
10503
54d04320
DL
105042000-03-02 Dave Love <fx@gnu.org>
10505
10506 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10507
10508 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10509 set C_OPTIMIZE_SWITCH for gcc.
10510
0ba93ac4
KH
105112000-03-02 Kenichi Handa <handa@etl.go.jp>
10512
10513 * coding.c (coding_save_composition): Be sure to allocate
10514 composition data area in coding even if there's no composition in
10515 the current run.
10516
a2bc11d4
JR
105172000-03-01 Jason Rumney <jasonr@gnu.org>
10518
10519 * w32term.c: Equivalent changes to those made to xterm.c on
10520 2000-02-25 and 2000-02-24.
10521
10522 * w32fns.c: Equivalent changes to those made to xfns.c on
10523 2000-02-25 and 2000-02-21.
10524
10525 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10526 correct line-end convention is followed.
10527
10528 * w32menu.c [HAVE_BOXES]: Remove #undef.
10529 (single_keymap_panes): Remove code for simulating checkmarks.
10530 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10531 Remove code for drawing simulated checkmarks.
10532 (w32_menu_show): make unibyte help string correctly.
10533 (add_menu_item): draw standard Windows checkmarks. Draw radio
10534 buttons as radio buttons if possible.
10535
72d19d75
GM
105362000-03-01 Gerd Moellmann <gerd@gnu.org>
10537
2df636f4
GM
10538 * sysdep.c (start_of_text): Don't define this function for NetBSD
10539 with ELF.
10540
427ec082 10541 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10542 Don't define.
10543 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10544 (LINKER): Don't undef if __NetBSD__ is defined.
10545
10546 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10547
10548 * fileio.c [__NetBSD__]: Define `unix'.
10549
72d19d75
GM
10550 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10551
ed4d0512
GM
105522000-02-29 Gerd Moellmann <gerd@gnu.org>
10553
50b1039f
GM
10554 * atimer.c (start_atimer): Don't abort when timers are stopped.
10555 (append_atimer_lists): New function.
10556 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10557 arbitrary lists of stopped and running atimers.
10558
ed4d0512
GM
10559 * atimer.c (cancel_atimer): Handle canceling an atimer when
10560 some timers are stopped.
10561
10562 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10563 after canceling it.
10564
10565 * fns.c (maybe_resize_hash_table): Handle case of new size
10566 coming out as being the same as old size.
10567
387023ee
JR
105682000-02-27 Jason Rumney <jasonr@gnu.org>
10569
10570 * makefile.nt: Add atimer.h to dependencies.
10571 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10572 * w32console.c: Only disable window system features for dispextern.h
10573 (initialize_w32_display): Build a display info for the console.
10574 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10575 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10576 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10577 as 2 button mice.
10578 * w32gui.h (struct W32FontStruct): Revert last change after change
10579 to xdisp.c.
10580 * w32menu.c (single_submenu): Set up help string.
10581 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10582 (w32_dialog_show): Set up help string.
10583 * w32term.c (w32_display_info_for_display): Remove unused function.
10584 (w32_draw_bitmap): Use pre-built bitmaps.
10585 (w32_initialize_display_info): New function to initialize parts of
10586 display info that are common to both GUI and console frames.
10587 (w32_term_init): Use w32_initialize_display_info. Do not set
10588 Vw32_num_mouse_buttons here, as it is not called for console
10589 frames. Build bitmaps for indicating truncated lines etc.
10590 (x_delete_display): Destroy pre-built bitmaps.
10591 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10592 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10593
4516715a
DL
105942000-02-27 Dave Love <fx@gnu.org>
10595
10596 * lisp.h: Add a bunch of prototypes.
10597
171ca836
KH
105982000-02-26 Kenichi Handa <handa@etl.go.jp>
10599
10600 * keyboard.c (read_char): Set `usec' correctly.
10601
4013921d
KH
106022000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10603
10604 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10605 `lambda', set reg[RRR] to the map index.
10606 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10607 reg[RRR] to 0. Otherwise, set it to -1.
10608
9244a058
GM
106092000-02-25 Gerd Moellmann <gerd@gnu.org>
10610
2df636f4 10611 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10612
18e21ce8 106132000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10614
f43d79c1
GM
10615 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10616 and contains a `:', prepend `/:'.
10617
10618 * window.c (select_window_1): If selected_window is nil,
10619 don't "swap out" the buffer's point.
10620 (Fset_window_configuration): Set selected_window to nil
10621 before calling Fselect_window.
10622 (unshow_buffer): Don't set point in buffer from window's point
10623 if another more recently selected window also shows the buffer.
10624
bed0c171
GM
106252000-02-25 Gerd Moellmann <gerd@gnu.org>
10626
449c3c52
GM
10627 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10628
f5b58615
GM
10629 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10630 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10631 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10632 New variables.
f5b58615
GM
10633 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10634 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10635 (hide_busy_cursor): New functions.
10636 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10637
10638 * minibuf.c (read_minibuf): Cancel busy-cursor.
10639
10640 * keyboard.c (command_loop_1): Call start_busy_cursor before
10641 Fcommand_execute and cancel_busy_cursor after it.
10642 (timer_check): Remove busy-cursor code.
10643 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10644 cursor timer.
10645
10646 * process.c (wait_reading_process_input): Remove busy-cursor code.
10647
10648 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10649 Fx_hide_busy_cursor.
10650
10651 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10652 Remove prototyoes.
10653 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10654
10655 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10656
10657 * xterm.c (XTread_socket): Remove busy-cursor code.
10658
4eb8436f
GM
10659 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10660 (build_frame_matrix_from_leaf_window): Put code handling
10661 glyph row's not being a slice of a frame row in #if 0.
10662 (sync_window_with_frame_matrix_rows): New function.
10663 (frame_row_to_window): New function.
10664 (mirror_line_dance): Handle copies between windows.
10665
3cb65b0e
GM
10666 * lread.c (Fload): Use `xfree' instead of `free'.
10667 (init_obarray): Use `xmalloc' instead of `malloc'.
10668
bed0c171
GM
10669 * window.c (Fset_window_buffer): Set WINDOW to the window
10670 after decoding.
2add4349
GM
10671 (coordinates_in_window): Take frame's internal border width
10672 into account.
bed0c171 10673
42088c12
GM
106742000-02-24 Gerd Moellmann <gerd@gnu.org>
10675
10676 * xterm.c (x_display_and_set_cursor): Display cursor of
10677 non-selected windows depending on the setting of
10678 cursor_in_non_selected_windows.
10679
10680 * xdisp.c (cursor_in_non_selected_windows): New variable.
10681 (syms_of_xdisp): DEFVAR_BOOL it.
10682
d1e103b2
GM
106832000-02-23 Gerd Moellmann <gerd@gnu.org>
10684
723e779c
GM
10685 * data.c (Fstring_to_number): If number is greater than what
10686 fits into an integer, return a float.
10687
d1e103b2
GM
10688 * eval.c (specbind): Remove references to
10689 keyword_symbols_constant_flag.
10690
10691 * data.c (keyword_symbols_constant_flag): Removed.
10692 (Fmakunbound, set_internal, syms_of_data): Remove references to
10693 keyword_symbols_constant_flag.
10694
10695 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10696
214f877f
KH
106972000-02-23 Kenichi Handa <handa@etl.go.jp>
10698
10699 * syntax.c (multibyte_syntax_as_symbol): New variable.
10700 (syms_of_syntax): Declare it as a Lisp variable.
10701 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10702 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10703 nonzero, treat all multibyte characters as symbol.
52283633 10704 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10705
130adcb7
EZ
107062000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10707
3cb65b0e 10708 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10709 a deleted frame.
130adcb7 10710
17cbbf95
GM
107112000-02-21 Gerd Moellmann <gerd@gnu.org>
10712
10713 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10714
10715 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10716 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10717
beb0bc36
DL
107182000-02-21 Dave Love <fx@gnu.org>
10719
10720 * frame.c (Vmouse_position_function): New variable.
10721 (Fmouse_position): Use it.
10722 (syms_of_frame): Install it.
10723
10724 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10725
1d92afcd
GM
107262000-02-20 Gerd Moellmann <gerd@gnu.org>
10727
10728 * fileio.c (Finsert_file_contents): Unbind the binding of
10729 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10730
10731 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10732 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10733 (specbind, unbind_to): Handle most common case of non-constant
10734 symbol with trivial value specially.
10735
10736 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10737
18e21ce8 107382000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10739
10740 * data.c (Fmake_variable_buffer_local): Doc fix.
10741 Init found_for_buffer to 0.
10742 (Fmake_variable_frame_local): If the variable has already
10743 been buffer-local, set the check_frame field.
10744
1d4311c3
EZ
107452000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10746
10747 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10748 produced for CODING_MODE_LAST_BLOCK requires.
10749
2dc95ddd
DL
107502000-02-18 Dave Love <fx@gnu.org>
10751
10752 * keyboard.c (echo_keystrokes): Remove declaration.
10753 (Vecho_keystrokes) New variable.
10754 (read_char, record_menu_key, read_key_sequence): Use it to allow
10755 use of float value.
10756 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10757
10758 * lread.c: Undef feature selection macros before defining.
10759
f0930f35
GM
107602000-02-18 Gerd Moellmann <gerd@gnu.org>
10761
10762 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10763 for symbols other than the symbol in question.
10764
e3d4de90
DL
107652000-02-17 Dave Love <fx@gnu.org>
10766
10767 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10768
0b378936
GM
107692000-02-17 Gerd Moellmann <gerd@gnu.org>
10770
d621caf7
GM
10771 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10772
0b378936
GM
10773 * alloc.c (enum mem_type): Compile unconditionally.
10774
3b451f74
EZ
107752000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10776
10777 * xfaces.c (tty_defined_color): Don't return faulire indication
10778 for unspecified-fg and unspecified-bg pseudo-colors.
10779
10689a01
GM
107802000-02-17 Gerd Moellmann <gerd@gnu.org>
10781
1216f5e4
GM
10782 * alloc.c (mark_object): Don't mark symbol names in pure space.
10783 (gc_sweep): Don't unmark symbol names in pure space.
10784
10785 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10786 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10787 [GC_MARK_STACK]: New defines.
427ec082 10788 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10789 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10790
10791 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10792
10793 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10794 allocate_buffer instead of xmalloc.
10795
10796 * alloc.c (toplevel): Include setjmp.h.
10797 (PURE_POINTER_P): New define.
10798 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10799 (Vdead) [GC_MARK_STACK]: New variable.
10800 (lisp_malloc): Add parameter TYPE, call mem_insert if
10801 GC_MARK_STACK is defined.
10802 (allocate_buffer): New function.
427ec082 10803 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10804 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10805 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10806 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10807 (MEM_NIL) [GC_MARK_STACK]: New define.
10808 (struct mem_node) [GC_MARK_STACK]: New structure.
10809 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10810 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10811 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10812 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10813 (mark_stack) [GC_MARK_STACK]: New functions.
10814 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10815 (clear_marks): Removed.
10816 (gc_sweep): Set free conses' car, free floats' type, free
10817 symbols' function to Vdead. Use lisp_free to free buffers.
10818 (init_alloc_once): Initialize Vdead.
10819 (survives_gc_p): Return non-zero for pure objects.
10820
10821 * alloc.c: Add comments throughout the file.
10822
2503c8b1
GM
10823 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10824 that unblocks alarms.
10825
8389e1e2
GM
10826 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10827 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10828 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10829
10689a01 10830 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10831
bfc17d18
KH
108322000-02-17 Kenichi Handa <handa@etl.go.jp>
10833
4a09dee0
KH
10834 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10835 avoid infinite error signaling. Allocate sufficient memory for
10836 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10837
2b927d02
SM
108382000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10839
10840 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10841 depends on the previous behavior.
10842
b49cb764
GM
108432000-02-16 Gerd Moellmann <gerd@gnu.org>
10844
10845 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10846
99e95407
GM
108472000-02-15 Gerd Moellmann <gerd@gnu.org>
10848
10849 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10850
10851 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10852 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10853 write(2).
10854
6ffd3cf7
RS
108552000-02-15 Richard M. Stallman <rms@gnu.org>
10856
10857 * data.c (set_internal): Don't make variable buffer-local
10858 if within a let-binding for the same buffer.
10859 (let_shadows_buffer_binding_p): New function.
10860
10861 * eval.c (specbind): For buffer-local value,
10862 record the current buffer also.
10863 (unbind_to): Cope with that change.
10864
cad53475
GM
108652000-02-15 Gerd Moellmann <gerd@gnu.org>
10866
10867 * window.c (Fsave_window_excursion): Doc fix.
10868
1aa963c8
SM
108692000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10870
10871 * syntax.c (back_comment): Make sure we only consider comment-starters
10872 of the relevant style and return -1 in case of a failure to find the
10873 beginning of the comment.
10874 (Fforward_comment): If back_comment fails, go back to the position just
10875 after the comment-end.
10876 (scan_lists): Add comment describing a very minor bug.
10877
b9b84fd3
SM
108782000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10879
10880 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10881 `completion-regexp-list' in the docstring.
10882
3a28db80
DL
108832000-02-14 Dave Love <fx@gnu.org>
10884
10885 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10886
fb4a568d
SM
108872000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10888
10889 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10890 to Emacs' syntax. Also fix the comment about set/not-set meanings
10891 since Emacs syntax is not the value 0 any more.
10892 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10893 since it's now part of RE_SYNTAX_EMACS.
10894
1063ebb5
DL
108952000-02-12 Dave Love <fx@gnu.org>
10896
52283633 10897 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10898
fb07a302
GM
108992000-02-12 Gerd Moellmann <gerd@gnu.org>
10900
10901 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10902
aaf2320c
DL
109032000-02-12 Dave Love <fx@gnu.org>
10904
10905 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10906
10907 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10908 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10909 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10910
10911 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10912
10913 * s/nextstep.h: Don't define HAVE_ALLOCA.
10914
10915 * config.in: Add vfork bits.
10916
eedf8bde
GM
109172000-02-12 Gerd Moellmann <gerd@gnu.org>
10918
10919 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10920 unwind function to undo the effect of stopping atimers.
10921
52283633 10922 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10923
10924 * atimer.c (stopped_atimers): New variable.
10925 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10926 New functions.
10927
10928 * atimer.h (stop_other_atimers, run_all_atimers)
10929 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10930
eedf8bde
GM
10931 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10932
8476c2f8
KR
109332000-02-11 Ken Raeburn <raeburn@gnu.org>
10934
10935 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10936 library may depend on jpeg.
10937 (atimer.o): Depends on atimer.c.
10938
0e85e4a3
KH
109392000-02-11 Kenichi Handa <handa@etl.go.jp>
10940
10941 * insdel.c (del_range_1): Call update_compositions.
10942 (del_range_both): Call update_compositions just once..
10943
97fa0cc8
DL
109442000-02-10 Dave Love <fx@gnu.org>
10945
10946 * xfns.c (create_frame_xic): Fix initialization of automatic
10947 aggregates for pcc.
10948
25566a3c
KH
109492000-02-09 Kenichi Handa <handa@etl.go.jp>
10950
10951 * ccl.c (CCL_MAKE_CHAR): New macro.
10952 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10953 registers by CCL_MAKE_CHAR before calling translate_char.
10954 <CCL_TranslateCharacterConstTbl> Likewise.
10955
69da54ba
DL
109562000-02-08 Dave Love <fx@gnu.org>
10957
10958 * lread.c (__EXTENSIONS__): Define.
10959
f7136ee8
GM
109602000-02-08 Gerd Moellmann <gerd@gnu.org>
10961
10962 * puresize.h (BASE_PURESIZE): Increase to 650000.
10963
7768790b
EZ
109642000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10965
10966 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10967 the help message.
10968
38fd211b
EZ
109692000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10970
10971 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10972 md, mh, mb, mr, and me to the fake termcap entry.
10973
66e4690f
KR
109742000-02-06 Ken Raeburn <raeburn@gnu.org>
10975
10976 * sound.c (sound_cleanup): Don't call device close routine if the
10977 function pointer is null.
10978
a75dfea0
AI
109792000-02-06 Andrew Innes <andrewi@gnu.org>
10980
10981 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10982 around image definitions and prototypes.
10983 (gamma_correct) [WINDOWSNT]: New prototype.
10984
10985 * w32term.c (x_make_frame_visible): Replace call to
10986 input_poll_signal with poll_for_input.
10987
10988 * window.c [WINDOWSNT]: Include w32term.h.
10989
10990 * xdisp.c [WINDOWSNT]: Include w32term.h.
10991
10992 * makefile.nt: Add dependencies on w32gui.h.
10993 (OBJ1): Include atimer.obj.
10994 ($(BLD)\atimer.obj): New dependency rule.
10995
10996 * w32.c (sigmask): New function (does nothing).
10997 (sigunblock): Ditto.
10998
10999 * frame.c [WINDOWSNT]: Include w32term.h.
11000
11001 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11002
11003 * lread.c (syms_of_lread): Fix literal newlines.
11004
11005 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11006 the string constant limit (2048 bytes) in MSVC.
11007 (main): Ditto.
11008
59ddecde
GM
110092000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11010
52283633 11011 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11012 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11013 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11014 dispatch the event.
11015
07590973
DL
110162000-02-04 Dave Love <fx@gnu.org>
11017
11018 * fileio.c: Remove some unused vars.
11019 (_GNU_SOURCE): Define (for euidaccess).
11020
11021 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11022
11023 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11024 gcpro1, gcpro2.
11025 (read_minibuf): Deal with allow_props correctly.
11026
649351f9
EZ
110272000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11028
11029 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11030
66e4690f 110312000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11032
11033 * search.c (compile_pattern): If a cache entry has a nil regexp,
11034 fill in that entry instead of clobbering a previously cached
11035 string regexp.
11036
66e4690f 110372000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11038
11039 * puresize.h (BASE_PURESIZE): Increase to 610000.
11040
d240a249
GM
110412000-02-02 Gerd Moellmann <gerd@gnu.org>
11042
11043 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11044 can GC.
11045
ca91fb26
KH
110462000-02-02 Kenichi Handa <handa@etl.go.jp>
11047
25660570
KH
11048 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11049 instead of incrementing ic directly.
11050 <CCL_WriteExprConst> Likewise.
11051 <ccl_set_expr>: Set ic to jump_address.
11052
ca91fb26
KH
11053 * fileio.c (e_write): Fix the handling of
11054 CODING_FINISH_INSUFFICIENT_SRC.
11055
2ede9689
DL
110562000-02-01 Dave Love <fx@gnu.org>
11057
11058 * editfns.c (Fpropertize): Doc fix.
11059
11060 * process.c (Fstart_process): Doc fix.
11061
11062 * eval.c: Fix various doc strings not to duplicate information
11063 from help-manyarg-func-alist.
11064
52283633 11065 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11066
11067 * doc.c (Vhelp_manyarg_func_alist): New variable.
11068 (Fdocumentation): Use it.
11069 (syms_of_doc): Define it.
11070
b6680a0e
GM
110712000-01-31 Gerd Moellmann <gerd@gnu.org>
11072
2cb750ba
GM
11073 * xterm.c (xim_open_dpy): Remove unused local variable.
11074
52283633 11075 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11076
11077 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11078 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11079
b6680a0e
GM
11080 * fns.c (sweep_weak_table): New function.
11081 (sweep_weak_hash_tables): Use it. Keep on marking until there
11082 is no more change.
11083
994c5afe
GM
110842000-01-30 Gerd Moellmann <gerd@gnu.org>
11085
11086 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11087 that XTread_socket does not crash by trying to call XNoOp on a
11088 closed display.
427ec082 11089
f00276e3
JR
110902000-01-30 Jason Rumney <jasonr@gnu.org>
11091
11092 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11093 Change selected_frame to SELECTED_FRAME ().
11094 (w32_console_mouse_position): Remove #ifndef MULE from around
11095 `insist' parameter.
11096
11097 * makefile.nt: Remove dosfns.obj.
11098
11099 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11100
11101 * w32fns.c (w32_defined_color): Check for valid frame before
11102 applying gamma correction. Eliminate dependency on frame elsewhere.
11103 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11104 (w32_to_x_font): Use resx and resy not height_in and width_in.
11105 (x_to_w32_font): Doc fix.
11106 (xlfd_strip_height): New function to strip and return font height.
11107 (w32_font_match): Compare height separately from rest of xlfd
11108 spec, using xlfd_strip_height.
11109
11110 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11111 width_in. Use w32_defined_color in place of defined_color.
11112
11113 * w32faces.c: Merge more of DOS and X specifics in preparation for
11114 merge with xfaces.c.
11115 (defined_color): Remove FIXME comment.
11116 (tty_color_name): Provide w32-specific function.
11117 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11118
11119 * w32console.c (turn_on_face, turn_off_face): Removed.
11120 (w32_face_attributes): New function.
11121 (Global_variables): Reduce scope where possible.
11122 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11123 fill attribute.
11124 (hl_mode): Don't modify text attributes.
11125 (write_glyphs): Don't do anything if len <= 0. Use
11126 w32_face_attributes to get attributes for drawing. Write
11127 terminating codes using char_attr_normal.
11128 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11129 (update_begin, update_end): Likewise.
11130 (vga_stdcolor_name): New function.
11131 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11132 (Fset_screen_color): Remove char_attr_reverse.
11133
b08e8bb2
GM
111342000-01-29 Gerd Moellmann <gerd@gnu.org>
11135
11136 * xfns.c (xic_set_preeditarea): Take window parameter and
11137 window-relative pixel-positions.
11138
11139 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11140 is its frame's selected window.
11141 (xim_instantiate_callback): Likewise.
11142
11143 * xfns.c (x_create_im): Removed.
11144 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11145 (supported_xim_styles): Renamed from supported_styles.
11146 (best_xim_style): Renamed from best_style.
11147 (create_frame_xic): Renamed from xic_create_frame.
11148 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11149
b08e8bb2
GM
111502000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11151
11152 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11153 our frames, call XFilterEvent with 2nd parameter `None'.
11154 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11155 returning XBufferOverflow.
52283633 11156 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11157 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11158 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11159 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11160 (xim_initialize, xim_close)
11161 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11162 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11163 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11164 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11165
11166 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11167 and `xim_styles'.
11168 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11169 `xic_style' and `xic_xfs'.
11170 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11171 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11172 (FRAME_XIM): Removed.
11173
11174 * xfns.c (supported_styles): New variable.
11175 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11176 (xic_create_xfontset, best_style, xic_create_frame)
11177 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11178 (xic_set_xfontset): New functions.
11179
142e109c
DL
111802000-01-28 Dave Love <fx@gnu.org>
11181
11182 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11183
11184 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11185
b02786f9
GM
111862000-01-28 Gerd Moellmann <gerd@gnu.org>
11187
d060bc9f
GM
11188 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11189 for *scratch* if it already existed.
11190
b02786f9
GM
11191 * emacs.c (USAGE): New macro.
11192 (main): Use it to display usage information.
11193
2c52d7e4
EZ
111942000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11195
11196 Support for the menu-help feature:
11197
52283633 11198 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11199
11200 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11201 part of the line to the termscript file.
11202 (IT_clear_to_end): Clear the entire line, not just its beginning.
11203 (menu_help_message, prev_menu_help_message): New variables.
11204 (IT_menu_make_room): Make room for the help_text member.
11205 (IT_menu_display): New argument disp_help; all callers changed.
11206 If disp_help is non-zero, store the help text of the active menu
11207 item in menu_help_message.
11208 (XMenuAddPane): Initialize the help_text member to NULL.
11209 (XMenuAddSelection): New argument help_text. Store it in the
11210 XMenu structure.
11211 (XMenuActivate): New argument help_callback. If the value of
11212 menu_help_message has changed since the last time, display the
11213 menu help message text while waiting for the mouse to move. Clear
11214 the echo area before exiting.
11215 (XMenuDestroy): Free the help_text member.
11216
ffe0bcd1
GM
112172000-01-27 Gerd Moellmann <gerd@gnu.org>
11218
11219 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11220 XMenuAddSelection. Pass help callback to XMenuActivate.
11221 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11222
50dbd23f
EZ
112232000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11224
11225 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11226 and EMACS_SET_USECS.
11227
f5941bf8
GM
112282000-01-26 Dave Love <fx@gnu.org>
11229
6c67ddee
DL
11230 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11231
f5941bf8
GM
11232 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11233 an error may be signalled.
11234
9e49c990
GM
112352000-01-26 Gerd Moellmann <gerd@gnu.org>
11236
fc3cb460
GM
11237 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11238 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11239
9e49c990
GM
11240 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11241
d0c037d8
GM
112422000-01-25 Gerd Moellmann <gerd@gnu.org>
11243
11244 * charset.c (Fstring): If there is a multibyte char among
11245 the args, always return a multibyte string.
11246
e12489f9
GM
112472000-01-25 Gerd Moellmann <gerd@gnu.org>
11248
11249 * sysdep.c (sys_select): Turn atimers off and on instead of
11250 recording and restoring old alarm handler
11251
11252 * process.c (toplevel): Include atimer.h.
11253 (create_process_1): Rewritten.
11254 (create_process): Use atimers instead of alarm.
11255 (wait_reading_process_input) [hpux]: Turn atimers off instead
11256 of turning off SIGALRM.
11257 (wait_reading_process_input): Turn off atimers instead off
11258 calling stop_polling.
11259
11260 * emacs.c (main): Call init_atimer.
11261
11262 * keyboard.c (toplevel): Include systime.h and atimer.h.
11263 (polling_for_input): Removed because unused.
11264 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11265 (poll_timer): New variable.
11266 (poll_for_input, poll_for_input_1): New functions.
11267 (start_polling, stop_polling): Rewritten.
11268
11269 * keyboard.h (polling_for_input): Removed.
427ec082 11270
e12489f9
GM
11271 * atimer.h, atimer.c: New files.
11272
11273 * Makefile.in (obj): Add atimer.o.
11274 (atimer.o): New target.
11275
11276 * blockinput.h (pending_atimers): Add extern declaration.
11277 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11278
11279 * lisp.h (popup_activated_flag): Add extern declaration.
11280
11281 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11282 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11283 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11284
11285 * xterm.c (toplevel): Include atimer.h.
11286 (toolkit_scroll_bar_interaction): New variable.
11287 (Fxt_process_timeouts): Removed.
11288 (x_process_timeouts): New function.
11289 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11290 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11291 (x_make_frame_visible): Call poll_for_input_1 instead of
11292 input_poll_signal. Don't call alarm.
11293 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11294
1e5279b9
DL
112952000-01-24 Dave Love <fx@gnu.org>
11296
6c67ddee 11297 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11298 Don't use -cckr -- apparently not now necessary.
11299
edf6aeb8
EZ
113002000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11301
11302 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11303 screen boundary.
11304
9badad41
JR
113052000-01-23 Jason Rumney <jasonr@gnu.org>
11306
11307 * w32fns.c (w32_defined_color): Apply gamma correction before
11308 trying to map to the palette.
11309 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11310 to w32_clear_rect.
11311
11312 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11313 here. Callers changed to always pass real device context.
11314 (w32_draw_bitmap): Likewise.
11315 (w32_get_glyph_overhangs): Likewise.
52283633 11316 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11317 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11318 pfnSetScrollInfo and SetScrollRange.
11319 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11320 back into MULE characters after decoding them.
11321 (x_get_glyph_face_and_encoding): Likewise.
11322 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11323 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11324 (x_produce_glyphs): Calculate per char metrics for a character
11325 that we know exists in default font when font_not_found_p is true.
11326
63bd786b
JR
113272000-01-22 Jason Rumney <jasonr@gnu.org>
11328
11329 * makefile.nt (intervals.obj, composite.obj): New modules.
11330 (composite.h): Added as dependency where appropriate.
11331
11332 * w32gui.h (XGCValue): New struct for emulating X GCs.
11333
11334 * w32term.h (XCharStruct): New struct for emulating X.
11335
11336 * w32console.c (turn_on_face, turn_off_face): New functions.
11337 (change_line_highlight): New prototype for new redisplay.
11338 (write_glyphs): Support multibyte text. Support faces.
11339
52283633 11340 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11341
11342 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11343 throughout. struct frame * in place of FRAME_PTR.
11344 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11345 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11346 (w32_get_arg): Renamed from x_get_arg.
11347 (Fx_file_dialog): New function.
11348 (w32_list_fonts): Check cache before asking system.
11349 (Vw32_enable_synthesized_fonts): New variable.
11350 (Vw32_enable_italics): Obsolete, removed.
11351
11352 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11353 Use SELECTED_FRAME macro.
11354
11355 * w32menu.c: Add skeleton support for help strings on menus.
11356 (add_menu_item): Native checkbox and radio support added, but not
11357 yet enabled due to bugs.
11358 (push_menu_item): Add parameters type, selection and help.
11359 Callers updated.
11360 Formatting changes to reduce unnecessary diffs with xmenu.c.
11361
11362 * w32select.c (Fw32_set_clipboard_data): Update call to
11363 find_charset_in_str.
11364
11365 * w32term.c: Complete rewrite for new redisplay based on new
11366 xterm.c with necessary sections merged back in from old w32term.c.
11367
6ffd3cf7 113682000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11369
11370 * data.c (set_internal): Further fix in same criterion.
11371
6ffd3cf7 113722000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11373
11374 * data.c (set_internal): Fix the criteria for whether
11375 to swap out the old cached binding.
11376
60af03f1
DL
113772000-01-19 Dave Love <fx@gnu.org>
11378
11379 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11380
f9be074f
KH
113812000-01-18 Kenichi Handa <handa@etl.go.jp>
11382
11383 * regex.c (re_compile_fastmap): While checking a range table for
11384 `charset', skip flag bits for a character class correctly.
11385
52b8dbf9
GM
113862000-01-17 Gerd Moellmann <gerd@gnu.org>
11387
d36100c9
GM
11388 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11389
52283633 11390 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11391
11392 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11393 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11394
11395 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11396 MENU_ITEMS_ITEM_.*.
11397 (MENU_ITEMS_ITEM_HELP): New enumerator.
11398 (push_menu_item): Add parameter HELP. Record help in menu_items.
11399 (single_menu_item, single_submenu, list_of_items): Call
11400 push_menu_item with new parameter.
11401 (single_submenu): Set help string in widget value.
11402 (menu_highlight_callback): New function.
11403 (set_frame_menubar): Call lw_create_widget with new
11404 parameter list.
11405 (xmenu_show, xdialog_show): Ditto.
11406
3139018f
GM
114072000-01-13 Gerd Moellmann <gerd@gnu.org>
11408
11409 * sound.c (Fplay_sound): Improve doc string.
11410
83c8f461
RS
114112000-01-11 Richard M. Stallman <rms@gnu.org>
11412
11413 * lisp.h (set_internal): Enter the new arg.
11414
11415 * eval.c (specbind): Record buffer-local variables specially,
11416 indicating which buffer's binding was saved.
11417 (unbind_to): Restore buffer-local variables specially
11418 in the proper buffer.
11419
11420 * data.c (set_internal): New arg BUF.
427ec082 11421
83c8f461
RS
11422 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11423 * data.c (Fset): Pass new arg to set_internal.
11424 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11425
1fab1775
GM
114262000-01-11 Gerd Moellmann <gerd@gnu.org>
11427
52283633 11428 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11429
83c8f461 114302000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11431
11432 * minibuf.c (Ftry_completion): Doc fix.
11433
7a85e4df
GM
114342000-01-11 Gerd Moellmann <gerd@gnu.org>
11435
11436 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11437 vector, too.
11438
a970dae4
AS
114392000-01-11 Andreas Schwab <schwab@suse.de>
11440
11441 * coding.c (code_convert_region): Initialize total_skip.
11442
c65d14ee
DL
114432000-01-08 Dave Love <fx@gnu.org>
11444
11445 * eval.c (Fuser_variable_p): Check customizability too.
11446
834938d2
GM
114472000-01-07 Gerd Moellmann <gerd@gnu.org>
11448
11449 * minibuf.c (Fcompleting_read): Doc fix.
11450
e0303cd6
GM
114512000-01-05 Gerd Moellmann <gerd@gnu.org>
11452
8a26744b
GM
11453 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11454 -L /usr/local/lib.
11455
e0303cd6
GM
11456 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11457 Check that input style is supported before trying to create an
11458 IC for it.
11459 (x_window): Call x_create_im.
427ec082 11460
2e471eb5
GM
114612000-01-04 Gerd Moellmann <gerd@gnu.org>
11462
560a7bd2
GM
11463 * xfns.c (current_gif_memory_src): New variable.
11464 (gif_load): Record the address of the current memory source
11465 in current_gif_memory_src.
11466 (gif_read_from_memory): Use current_gif_memory_src.
11467
f9ee84a3
GM
11468 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11469 macros statement form.
11470
d1299cde
GM
11471 * sound.c (struct sound): Renamed from struct sound_file.
11472 (struct sound): Add members `data' and `header_size'.
11473 (enum sound_attr): Add SOUND_DATA.
11474 (current_sound, current_sound_device): Variables renamed from
11475 sound_file and sound_device.
11476 (parse_sound): Parse :data.
11477 (parse_sound): Handle sound data in strings.
11478 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11479 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11480 needed header size.
11481 (wav_play, au_play): Play sounds from string data.
11482
2e471eb5
GM
11483 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11484
11485 * lisp.h: Add prototype for allocate_string_data.
11486
52283633 11487 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11488
11489 * alloc.c (mark_buffer): Remove code in #if 0.
11490 (gc_sweep): Ditto.
11491 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11492 (strings_consed): New variable.
11493 (allocate_string): Set it.
11494 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11495 (Fmemory_use_counts): Return strings_consed. Use Flist.
11496
11497 * alloc.c: General cleanup in comments etc. Remove conditional
11498 compilation for `standalone'.
11499
11500 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11501
11502 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11503 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11504 (DONT_COPY_FLAG): Removed.
11505 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11506 (struct sdata, struct sblock): New
11507 (struct string_block): Rewritten.
11508 (STRINGS_IN_STRING_BLOCK): New macro.
11509 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11510 (large_sblocks, string_blocks, string_free_list): New variables.
11511 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11512 (init_strings): Rewritten.
11513 (allocate_string, allocate_string_data, compact_small_strings)
11514 (free_large_strings, sweep_strings): New functions.
11515 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11516 (struct string_block_head, current_string_block)
11517 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11518 (STRING_PAD): Removed.
11519 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11520 (Fgarbage_collect): Don't set mark bit in large strings.
11521 (mark_object): Mark strings differently. Mark symbol names
11522 differently.
11523 (survives_gc_p): Test marked strings differently.
427ec082 11524 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11525 symbol names.
11526 (compact_strings): Removed.
11527
42608ba8
EZ
115282000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11529
11530 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11531 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11532
e0a09e1a
KH
115332000-01-04 Kenichi Handa <handa@etl.go.jp>
11534
dd9f0750 11535 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11536 in a non-empty buffer.
dd9f0750 11537
3c0f3b15 11538 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11539
44cd3ae5
GM
115402000-01-03 Gerd Moellmann <gerd@gnu.org>
11541
11542 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11543 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11544
11545 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11546
c182a70f
EZ
115472000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11548
11549 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11550 need to test for MSDOS frames.
11551
24480d5b
EZ
115522000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11553
11554 * dosfns.c (unspecified_colors): Remove.
11555 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11556 unspecified_bg.
11557 (msdos_stdcolor_name): Return strings for unspecified fore- and
11558 back-ground colors.
11559
11560 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11561 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11562 (tty_color_name): Return Lisp strings for unspecified fore- and
11563 back-ground colors.
11564 (Finternal_set_lisp_face_attribute): Remove the special treatment
11565 for Qunspecified_{f,b}g.
52283633 11566 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11567
047f434a
GM
115682000-01-03 Gerd Moellmann <gerd@gnu.org>
11569
11570 * xdisp.c (reseat_at_next_visible_line_start): Position before
11571 newline only if ending up on a newline.
11572 (next_element_from_ellipsis): Return success. Handle case of
52283633 11573 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11574 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11575 returns 0.
11576
d684c676
EZ
115772000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11578
11579 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11580 (Fcolor_supported_p): Renamed from face-color-supported-p.
11581
5fe1d139
EZ
115822000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11583
11584 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11585 list of colors renamed to tty-defined-color-alist.
11586 (tty_color_name): Pass the frame to tty-color-by-index.
11587 (realize_tty_face): tty-color-alist is now a function which
11588 accepts the frame as argument.
11589
52283633 11590 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11591
816be8b8
EZ
115922000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11593
11594 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11595 encode_terminal_code.
11596
b635321e
EZ
115972000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11598
11599 * dispnew.c (mode_line_string): Support termcap frames as well.
11600
9b784e96
GM
116012000-01-01 Gerd Moellmann <gerd@gnu.org>
11602
27189709
GM
11603 * syntax.c (Fforward_word): Undo previous change.
11604
11605 * editfns.c (Fconstrain_to_field): Don't constrain if
11606 inhibit-field-text-motion is non-nil.
11607 (Fline_beginning_position): Undo previous change.
11608 (Fline_end_position): Ditto.
11609
11610 * syntax.c (Fforward_word): Notice field boundaries only if
11611 inhibit-field-text-motion is nil.
11612
11613 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11614
11615 * editfns.c (Vinhibit_field_text_motion): New variable.
11616 (inhibit-field-text-motion): New DEFVAR_LISP.
11617 (Fline_beginning_position, Fline_end_position): Notice field
11618 boundaries only if inhibit-field-text-motion is nil.
11619
45158a91
GM
11620 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11621 All calls adjusted.
11622 (x_build_heuristic_mask): Likewise.
11623 (xbm_load_image_from_file): Change error output.
11624 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11625 (gif_load, gs_load, x_kill_gs_process): Ditto.
11626
9b784e96
GM
11627 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11628 color indices when accessing raster pixels.
63cec32f
GM
11629 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11630 one of :file or :data.
11631 (enum pbm_keyword_index): Add PBM_DATA.
11632 (pbm_format): Add :data.
11633 (pbm_image_p): Allow either :file or :data.
11634 (pbm_read_file): New function.
11635 (pbm_scan_number): Rewritten to read from string.
11636 (pbm_load): Support :data.
9b784e96 11637
2cb085db 11638See ChangeLog.8 for earlier changes.
6922b018
KH
11639
11640;; Local Variables:
49b3bd82 11641;; coding: iso-2022-7bit
6922b018 11642;; End: