(Finsert_file_contents): Comment fix.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
a777242c
GM
12001-07-11 Gerd Moellmann <gerd@gnu.org>
2
3 * fileio.c (unwind_read): New function.
4 (Finsert_file_contents): Record it as unwind-function for
5 the case that reading is interrupted by C-g.
6
ae794295
GM
72001-07-10 Gerd Moellmann <gerd@gnu.org>
8
58f8612a
GM
9 * dispnew.c (update_window): Don't skip the header-line
10 update when scrolling_window returns 0.
11
6b05fae3
GM
12 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
13
14 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 15 for the case that x_decode_color signals an error.
6b05fae3 16
ae794295
GM
17 * xdisp.c (add_to_log): Do nothing if called asynchronously.
18
bb6e8cee
GM
192001-07-09 Gerd Moellmann <gerd@gnu.org>
20
21 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
22 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
23 around ioctls.
24
36b40a8a
EZ
252001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
26
24b97d4b
EZ
27 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
28 doc string line for dos-timezone-offset.
29
36b40a8a
EZ
30 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
31 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
32 (syms_of_msdos): Add \n\ at the end of a line in the doc string
33 line for dos-unsupported-char-glyph.
36b40a8a
EZ
34
35 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
36
0967b4b0
GM
372001-07-05 Gerd Moellmann <gerd@gnu.org>
38
f25cfe53
GM
39 * sound.c: Include Emacs' header files with #include "...".
40
0967b4b0
GM
41 * eval.c (specbind): Additionally record the buffer that was
42 current when a buffer-local or frame-local variable was bound.
43
c347a1c3
GM
442001-07-04 Gerd Moellmann <gerd@gnu.org>
45
46 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
47 to unibyte characters in unibyte buffers.
48
6332ca8a
GM
492001-07-03 Gerd Moellmann <gerd@gnu.org>
50
38472d44
GM
51 * eval.c (specbind): If SYMBOL has a frame-local binding, record
52 the frame on the binding stack. Change format of entries for
53 local bindings on the binding stack to '(SYMBOL . WHERE)'.
54 (unbind_to): Handle unbinding a frame-local variable.
55
6332ca8a
GM
56 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
57 glyphs and truncation glyphs at the end of a row from its pixel
58 width.
59 (dump_glyph_row): Print row's continuation_lines_width.
60 (try_window_id): Take the shortcut if ZV is visible in the
61 window, but there are actually no changes at ZV.
62
63d1b174
GM
632001-07-02 Gerd Moellmann <gerd@gnu.org>
64
4c175203
GM
65 * xterm.h (x_free_dpy_colors): Add prototype.
66
67 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
68 right number of arguments.
69
0b54ce28
GM
70 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
71 ($(lwlibdir)TAGS): New target.
4c175203 72 (TAGS): Fix dependency list.
0b54ce28 73
63d1b174
GM
74 * xterm.c (x_list_fonts): Make sure XFreeFont is called
75 with input blocked.
76
d827466c
GM
772001-06-30 Gerd Moellmann <gerd@gnu.org>
78
79 * emacs.c (main): Remove extern declaration for sys_nerr, which
80 isn't used and causes a compilation error with GCC 3.0 on
81 FreeBSD 4.3.
82
b5cb1ada
GM
832001-06-27 Gerd Moellmann <gerd@gnu.org>
84
a5d3ec3f
GM
85 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
86 SIGIO around the code where Xt might wait for a
87 ConfigureNotifyEvent.
88 (toplevel): Include <signal.h> and syssignal.h.
89
b5cb1ada
GM
90 * sound.c (vox_configure, vox_close): Turn off atimers
91 around ioctls.
92
d9bad487
GM
932001-06-26 Gerd Moellmann <gerd@gnu.org>
94
fdbb67fe
GM
95 * keyboard.c (read_char) <non_reread>: Record the previous idle
96 start time before calling timer_stop_idle.
97 (read_char) <reread_first>: After processing a help-echo event,
98 restore the previous idle start time.
99
d9bad487
GM
100 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
101 the start of invisible text.
102 (setup_for_ellipsis): New function.
103 (next_overlay_string): After all overlay strings have been
104 processed, display an ellipsis if necessary.
105 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
106 (push_it): Initialize display_ellipsis_p on the iterator's stack.
107
108 * dispextern.h (struct iterator_stack_entry): Add member
109 display_ellipsis_p.
110
2b9c25e0
GM
1112001-06-25 Gerd Moellmann <gerd@gnu.org>
112
80de57df
GM
113 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
114 on the value of the wait-for-wm frame parameter.
115
116 * xterm.h (struct x_output): Add member wait_for_wm.
117
118 * xfns.c (Qwait_for_wm): New variable.
119 (x_frame_parms): Add entry for `wait-for-wm".
120 (x_set_wait_for_wm): New function.
121 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
122 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
123
2b9c25e0
GM
124 * xdisp.c (try_window_id) <all changes below window end>: Don't
125 take this shortcut if ZV is visible in the window.
126 (try_window_id): When checking for window start being in changed
127 text, don't check that the buffer's size has changed.
128
f772775c
RS
1292001-06-23 Richard M. Stallman <rms@gnu.org>
130
131 * minibuf.c (Fcompleting_read): Doc fix.
132
fa9090b8
GM
1332001-06-19 Gerd Moellmann <gerd@gnu.org>
134
135 * composite.c (Ffind_composition_internal): Accept ZV
136 and a string's end position as POS.
137
f6f1beba
GM
1382001-06-18 Gerd Moellmann <gerd@gnu.org>
139
140 * composite.c (Ffind_composition_internal): Check POS
141 for validity.
142
0ae83348
EZ
1432001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
144
145 * editfns.c (Fmessage_box): If the frame is not under a window
146 system, output the message in the echo area.
147
e4cdc335
RS
1482001-06-14 Richard M. Stallman <rms@gnu.org>
149
150 * xdisp.c (try_window_id): When EOB is visible, don't treat
151 insertion at EOB as if it were "off the bottom of the screen."
152
a55a5f3c
AI
1532001-06-11 Andrew Innes <andrewi@gnu.org>
154
155 * w32proc.c (create_child): Add new parameter is_gui_app.
156 (w32_executable_type): Add new parameter is_gui_app.
157 (sys_spawnve): Use it.
158 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
159 SIGQUIT. This matches better how the signals are interpreted by
160 MSVC compiled programs.
161 (syms_of_ntproc): Update docstring.
162
1b85dc1c
SM
1632001-06-02 Stefan Monnier <monnier@cs.yale.edu>
164
165 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
166 well otherwise note_mouse_highlight might optimize away highlighting
167 if we pass over that same overlay again.
168
b75f8eab
EZ
1692001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
170
171 * lread.c (Fload): Document that the argument is run via
172 substitute-in-file-name.
173
94843cc1
GM
1742001-05-31 Gerd Moellmann <gerd@gnu.org>
175
b14659e6
GM
176 * Makefile.in (bootstrap-doc): New target.
177 (bootstrap-emacs): Depend on it.
178
0894672f
GM
179 * fileio.c (Fdo_auto_save): Don't try to create the directory of
180 auto-save-list-file-name when shutting down Emacs, because
181 creating the directory might signal an error, and leaves
182 Emacs in a strange state.
183
94843cc1
GM
184 * term.c: (tty_cursor_hidden): New variable.
185 (update_begin): Don't call tty_hide_cursor. Clean up.
186 (update_end, set_terminal_window, set_scroll_region): Clean up.
187 (ring_bell, reset_terminal_modes): Clean up.
188 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
189 on tty_cursor_hidden.
190 (write_glyphs): Call tty_hide_cursor.
191
db3a49a6
SM
1922001-05-30 Stefan Monnier <monnier@cs.yale.edu>
193
194 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
195
8bd189fb
GM
1962001-05-30 Gerd Moellmann <gerd@gnu.org>
197
6f1be3b9
GM
198 * xfns.c (enum image_value_type): New enumerator
199 IMAGE_STRING_OR_NIL_VALUE.
200 (parse_image_spec): Handle it.
201 (xbm_format, pbm_format): Use it for :foreground and :background.
202 (xbm_load, pbm_load): Check for nil color names.
203
8bd189fb
GM
204 * xterm.c (note_mouse_highlight): If an overlapping overlay
205 exists, but we find that we highlight the same overlay as before,
206 don't do the highlighting again.
207
7bdba03c
GM
2082001-05-29 Gerd Moellmann <gerd@gnu.org>
209
4c329aa8
GM
210 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
211 Protect unibyte strings created by replacing their multibyte
212 equivalents in menu_items.
213
e15e2828
GM
214 * keymap.c (Fsingle_key_description): NUL-terminate the string
215 buffer before calling build_string.
216
7bdba03c
GM
217 * callproc.c (Fcall_process): Deal with decode_coding returning
218 CODING_FINISH_INCONSISTENT_EOL.
219
89c8dc6c
GM
2202001-05-28 Gerd Moellmann <gerd@gnu.org>
221
db3a49a6 222 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
223 an item's name with its key description in case the description
224 is a multibyte string.
225
226 * keymap.c (Fsingle_key_description): Create a multibyte string
227 only if necessary.
228
eb04d6cd
GM
229 * macros.c (Fstart_kbd_macro): Doc fix.
230
8bd6307f
GM
231 * xterm.c (cursor_in_mouse_face_p): New function.
232 (x_draw_stretch_glyph_string): Use it to choose a different GC
233 when drawing a cursor within highlighted text.
234
e26c4089
GM
235 * editfns.c (char_property_eq): Put in #if 0.
236
237 * indent.c (string_display_width): Put in #if 0.
238
239 * lread.c (Fload): Remove unused label.
240
89c8dc6c
GM
241 * termcap.c (speeds): Put in #if 0.
242
9a1211f2
GM
2432001-05-18 Gerd Moellmann <gerd@gnu.org>
244
29148a3f
GM
245 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
246
9a1211f2
GM
247 * xfaces.c (xlfd_point_size): Don't divide pixel size from
248 transformation matrix by 10.
249
09393d07
GM
2502001-05-16 Gerd Moellmann <gerd@gnu.org>
251
252 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
253 only if it's equal to the former foreground pixel color.
db3a49a6 254 (x_set_foreground_color, x_set_background_color)
09393d07
GM
255 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
256
460e6bae
GM
2572001-05-16 Dave Love <fx@gnu.org>
258
259 * insdel.c (signal_before_change, signal_after_change): Consider a
260 local change hook which changes the buffer.
99c78ce8
GM
261
262 * process.c (read_process_output): Don't call signal_after_change
263 and update_compositions after insert_from_string_before_markers.
264
dbcf3c03
GM
2652001-05-16 Gerd Moellmann <gerd@gnu.org>
266
a90b3d3c
GM
267 * xfaces.c (split_font_name): Use the right field when
268 checking for `[...]' syntax.
269
1b7818b4
GM
270 * buffer.c (copy_overlays): New function.
271 (clone_per_buffer_values): Use it.
272
273 * buffer.h (OVERLAY_PLIST): New macro.
274
9bae8781
GM
275 * keymap.c (Fsingle_key_description): Replace a build_string with
276 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
277
dbcf3c03
GM
278 * fontset.c (Ffontset_info): Check that face is non-null
279 before accessing its fields.
280
8a1ae4dd
GM
2812001-05-15 Gerd Moellmann <gerd@gnu.org>
282
18a0a39e
GM
283 * keyboard.c (read_key_sequence): Prevent generating a fake
284 prefix key twice.
285
e335b66a
GM
286 * xfaces.c (split_font_name): Handle `[...]' for the right
287 font name fields.
288
8a1ae4dd
GM
289 * ccl.c (ccl_driver): Don't copy remaining bytes in case
290 of CCL_STAT_INVALID_CMD.
291
3cf80731
SM
2922001-05-14 Stefan Monnier <monnier@cs.yale.edu>
293
33568849
SM
294 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
295 in <var> has no default value yet.
296
3cf80731
SM
297 * xfaces.c (try_alternative_families): First try the FAMILY.
298 And if nothing is found in the end, try again with scalable fonts.
299 (try_font_list): Let try_alternative_families do a bit more of
300 the work. Only use FAMILY if it is not nil.
301 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
302
933b0249
GM
3032001-05-14 Gerd Moellmann <gerd@gnu.org>
304
58e5af83
GM
305 * xterm.c (note_mouse_highlight): Avoid changing the mouse
306 pointer shape when show_mouse_face has already done it.
33568849 307
58e5af83 308 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
309 full-width rows.
310
7b16a6bf
GM
311 * xfaces.c (split_font_name): Make sure to leave the loop
312 with the right value of `i'.
3cf80731 313
933b0249
GM
314 * xfaces.c (split_font_name): Handle matrix transformations
315 in the pixel and point size fields of XLFD font names.
316 (xlfd_point_size): Likewise.
317
dddcbf00
EZ
3182001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
319
3cf80731 320 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
321 (x_to_w32_font): Add prototype.
322
7689ef0b
EZ
323 * regex.c (malloc, realloc, free) [emacs]: Undefine before
324 redefining, to avoid compiler warnings.
325
e7c15bba
EZ
326 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
327
dddcbf00
EZ
328 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
329 (w32_get_bdf_glyph): Cast between unsigned char and char when
330 passing arguments to subroutines, to shut up compiler warnings.
331 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
332 GET_HEX_VAL.
333
334 * xfaces.c: Include keyboard.h before frame.h, not after it.
335
336 * widget.c: Include keyboard.h before frame.h.
337
338 * w32term.h (struct image, struct face): Forward declaration, to
339 avoid compiler warnings.
340
7bd2d083
GM
3412001-05-11 Gerd Moellmann <gerd@gnu.org>
342
47e72862
GM
343 * keyboard.c (read_key_sequence): Don't modify events when
344 generating fake prefix keys (mode-line, scroll-bar, ...) since
345 this prevents proper processing of such events when pushed back
346 into unread-command-events.
347
dd5f324b
GM
348 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
349 actually redrawn. Make the function static.
350 (note_mouse_highlight): Fix a case where the mouse cursor
351 was changed back to the text cursor.
352
353 * xterm.h (clear_mouse_face): Remove prototype.
354
d88a79d4
GM
355 * xdisp.c (try_window_id): Fix the fix and set the right
356 window_end_vpos.
357
358 * xdisp.c (try_window_id): Fix computation of window end in the
359 case that lines were deleted at the end of the window. Add some
360 more debug_method_adds.
0416532f 361
7bd2d083
GM
362 * xfaces.c (try_alternative_families): New function.
363 (try_font_list): Use it. If ATTRS specifies a family, check
364 fonts from that family first.
365 (choose_face_font): Remove code setting the family part of
366 the pattern to nil.
367
23fca891
GM
3682001-05-10 Gerd Moellmann <gerd@gnu.org>
369
ff9aa2ca
GM
370 * xdisp.c (try_window_id): Fix case of all changes before
371 the window start.
7b2654b5 372
23fca891
GM
373 * xdisp.c (try_window_id): Add some xasserts.
374
e9726794
GM
3752001-05-09 Gerd Moellmann <gerd@gnu.org>
376
377 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
378
9e53a675
GM
3792001-05-09 Dave Love <fx@gnu.org>
380
381 * xdisp.c (GIVE_UP): Fix for K&R C.
382
0d487c52
GM
3832001-05-09 Gerd Moellmann <gerd@gnu.org>
384
fe88d421
GM
385 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
386
0d487c52
GM
387 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
388 back to the text cursor shape without need.
389
1e9fc92e
GM
3902001-05-07 Gerd Moellmann <gerd@gnu.org>
391
a2a6232e
GM
392 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
393
394 * dispextern.h (inverse_video): Declare extern.
395
1e9fc92e
GM
396 * keyboard.c (delete_kboard): Handle the case that selected_frame
397 has been deleted in the course of x_connection_closed.
398
12949a7f
EZ
3992001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
400
7b2654b5
SM
401 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
402 Fix the change from 2001-04-30.
12949a7f 403
2fa2f461
GM
4042001-05-03 Gerd Moellmann <gerd@gnu.org>
405
a779d213
GM
406 * xfns.c (file_dialog_unmap_cb): New function.
407 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
408 where a dialog is closed via the window manager.
409
7b2654b5 410 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
411 the window start or all below the window end mostly rewritten.
412 (redisplay_window): Move the tests if try_window_id is
413 applicable to try_window_id.
414 (GIVE_UP): New macro.
415
3356df63
GM
4162001-05-02 Gerd Moellmann <gerd@gnu.org>
417
a39202f6 418 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
419 currently being updated, mark the frame garbaged.
420 Fix computation of rows intersecting the exposed rectangle.
a39202f6 421 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 422
3356df63
GM
423 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
424 again if it has already been drawn.
425
a9d2fd1d
SM
4262001-05-01 Stefan Monnier <monnier@cs.yale.edu>
427
428 * syntax.c (update_syntax_table): Check that oldi has the same
429 properties as old_prop before deciding not to invalidate.
430
c95fc5f1
GM
4312001-04-30 Gerd Moellmann <gerd@gnu.org>
432
a9793e45
GM
433 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
434 read-only text that is so because of text properties.
435
c95fc5f1 436 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 437 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
438 windows that are components of a Lucid menu bar.
439
5a5d9185
GM
4402001-04-27 Gerd Moellmann <gerd@gnu.org>
441
442 * term.c (turn_on_face): Fix reverse video handling on terminals
443 that don't support colors.
444
ba973f7a
GM
4452001-04-26 Gerd Moellmann <gerd@gnu.org>
446
447 * editfns.c (save_excursion_restore): Don't use XBUFFER on
448 a non-buffer.
449
8c56a983
GM
4502001-04-25 Gerd Moellmann <gerd@gnu.org>
451
a728644c
GM
452 * term.c (toggle_highlight): New function.
453 (turn_on_face): Change handling of reverse video.
454
7b2654b5
SM
455 * process.c (wait_reading_process_input):
456 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 457
bfd8410f
GM
458 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
459 of the number of overlays to check.
460
be2488ca
GM
461 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
462
8c56a983
GM
463 * xdisp.c (try_window_id): Fix a case where window_end_pos
464 and window_end_bytepos were not adjusted.
465
522d42f7
GM
4662001-04-23 Gerd Moellmann <gerd@gnu.org>
467
468 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
469 zero instead of -1.
470
78c1afb6
EZ
4712001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
472
a9d2fd1d
SM
473 * process.c (wait_reading_process_input) [!subprocesses]:
474 Don't reference waiting_for_user_input_p, it's not defined in the
475 branch without async subprocesses support.
78c1afb6 476
a2fab450
GM
4772001-04-19 Gerd Moellmann <gerd@gnu.org>
478
a122a38e
GM
479 * keyboard.c (delete_kboard): Prevent a dangling reference
480 from current_kboard to KB, which is freed.
481
a9d2fd1d
SM
482 * process.c (wait_reading_process_input):
483 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
484 read_key_sequence aware of buffer changes from under it.
485
0f8d6dc7
GM
4862001-04-18 Gerd Moellmann <gerd@gnu.org>
487
eeffb293
GM
488 * xfaces.c (Qscalable_fonts_allowed): New variable.
489 (realizing_basic_faces_p): Removed.
2fa2f461
GM
490 (x_face_list_fonts): Special handling for realizing_basic_faces_p
491 removed.
eeffb293 492 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
493 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
494 for scalable-fonts-allowed to t.
eeffb293 495
0f8d6dc7
GM
496 * fileio.c (Finsert_file_contents): If the file size returned from
497 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 498 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 499
eec2d1de
EZ
5002001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
501
502 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
503 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
504 (__memalign_hook): Make the two prototypes consistent.
505
f4f480bd
GM
5062001-04-17 Gerd Moellmann <gerd@gnu.org>
507
508 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
509 matrix of mini-windows.
510
52283633
SM
5112001-04-12 Stefan Monnier <monnier@cs.yale.edu>
512
513 * intervals.c (find_interval): Don't rebalance during signal handling.
514
ec2423c9
GM
5152001-04-11 Gerd Moellmann <gerd@gnu.org>
516
30cb0001 517 * fns.c: Include blockinput.h.
52283633 518
ec2423c9
GM
519 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
520
719d83ad
GM
5212001-04-10 Gerd Moellmann <gerd@gnu.org>
522
60f8d735
GM
523 * fns.c (Fcompare_strings): Fix return values.
524
afffeb57
GM
525 * window.c (window_scroll): Change the meaning of N to mean
526 N screen-fulls or N lines.
527 (window_scroll_pixel_based, window_scroll_line_based)
528 (scroll_command, Fscroll_other_window): Change accordingly.
529
52283633
SM
530 * window.c (window_scroll_pixel_based, Frecenter):
531 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
532 height of the window.
533
534 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
535 instead of using it.last_visible_y for the height of the window.
52283633 536
719d83ad 537 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 538 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
539
540 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
541 able to write to hidden and system files. From Dan Holmsand
542 <dan@eyebee.com>.
719d83ad 543
8ddf3ee1
GM
544 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
545 Holmsand <dan@eyebee.com>.
719d83ad 546
522ed7fb
GM
5472001-04-09 Gerd Moellmann <gerd@gnu.org>
548
9170e5d4
GM
549 * fns.c (Fplist_get, Fplist_put): Add QUITs.
550
522ed7fb
GM
551 * window.c (window_internal_height): Return 1 less if the
552 window has a header line.
553
554 * xdisp.c (try_window_id): When scrolling on a terminal, take
555 the change of window_internal_height into account.
556
ceeb3d7d
EZ
5572001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
558
559 * gmalloc.c (align): If the argument SIZE would overflow
560 __malloc_ptrdiff_t, fail right away.
561
63685b9d
GM
5622001-04-06 Gerd Moellmann <gerd@gnu.org>
563
564 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
565 Make sure the tooltip is completely visible.
566 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
567
568 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
569
570 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
571
3ffb33bb
DL
5722001-04-06 Dave Love <fx@gnu.org>
573
52283633
SM
574 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
575 Fix test of `from'.
3ffb33bb 576
869fb12c
GM
5772001-04-06 Gerd Moellmann <gerd@gnu.org>
578
52283633 579 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 580
869fb12c
GM
581 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
582
441bf856
GM
5832001-04-05 Gerd Moellmann <gerd@gnu.org>
584
4d664b04
GM
585 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
586
52283633 587 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 588
30ca89f5
GM
589 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
590 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
591
592 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
593 shell widget's position only if it is non-null.
594
52283633
SM
595 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
596 Set f->output_data.x->widget to null after destroying it.
30ca89f5 597
81a81c0f
GM
598 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
599 FILENAME to bring it in synch with the documentation.
600
441bf856
GM
601 * xfaces.c (realizing_basic_faces_p): Renamed from
602 realize_default_face_p.
603 (realize_basic_faces): Set/clear realizing_basic_faces_p.
604 (realize_default_face): Don't set the flag.
605
702a1e8e
GM
6062001-04-04 Gerd Moellmann <gerd@gnu.org>
607
1013f4e3
GM
608 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
609
52283633
SM
610 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
611
1013f4e3
GM
612 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
613 the buffer that was used for echoing.
614
702a1e8e
GM
615 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
616 (first_font_matching): Removed unused function.
617 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
618 (may_use_scalable_font_p): Remove parameter FONT; rename
619 parameter NAME to FONT.
620 (x_face_list_fonts): Fix missing bounds check.
621 (realizing_default_face_p): New variable.
622 (realize_default_face): Set and clear that flag.
623 (x_face_list_fonts): When called during the realization of the
624 default face, and no matching fonts are found when ignoring
625 scalable fonts and fonts matching a regexp from
626 face-ignored-fonts, try without ignoring fonts.
627
f9dbcda4
GM
6282001-04-03 Gerd Moellmann <gerd@gnu.org>
629
ad18ffb1
GM
630 * xfns.c (postprocess_image): New function.
631 (lookup_image): Call it for all image types except PostScript.
632 (x_kill_gs_process): Call postprocess_image.
633
f9dbcda4
GM
634 * xterm.c (x_use_underline_position_properties): New variable.
635 (x_draw_glyph_string): Use it.
636 (syms_of_xterm): DEFVAR_BOOL it.
637
651f03b6
GM
6382001-04-02 Gerd Moellmann <gerd@gnu.org>
639
640 * xterm.c (x_alloc_nearest_color_1): New function.
641 (x_alloc_nearest_color): Use it.
642 (x_color_cells): Take a Display as argument, instead of a frame.
643 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
644 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
645 (x_initialize): Register cvt_string_to_pixel as resource converter
646 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
647
73d75a62
GM
6482001-03-30 Gerd Moellmann <gerd@gnu.org>
649
b2046df8
GM
650 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
651 (set_iterator_to_next): If a string from a display property ends,
652 consider the case that this might also be the end of an
653 overlay string having the display property.
654
52283633 655 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 656
87d8eba4
GM
657 * xdisp.c (reseat_to_string): Undo last change.
658
73d75a62
GM
659 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
660 matrix of a window when the header line changes, when
661 new rows are allocated, or when the width changes.
662
911a2406
EZ
6632001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
664
52283633 665 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 666
aea51abe
EZ
6672001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
668
669 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
670 deprecated.
671
176bc847
GM
6722001-03-29 Gerd Moellmann <gerd@gnu.org>
673
ed31fabf
GM
674 * data.c (Fsubr_interactive_form): New function.
675 (syms_of_data): Defsubr it.
676
176bc847
GM
677 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
678 (live_float_p, live_misc_p): Return 1 only if the offset of the
679 pointer in its block is >= 0.
680
e59d0e9d
GM
6812001-03-28 Paul Eggert <eggert@twinsun.com>
682
683 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
684 microseconds calcuation. Avoid double-rounding problem.
685 In doc string, warn that the result is approximate.
686
f827b862
GM
6872001-03-28 Gerd Moellmann <gerd@gnu.org>
688
30a3f61c
GM
689 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
690 bind `inhibit-eval-during-redisplay' to t.
691
692 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
693
694 * xdisp.c (inhibit_eval_during_redisplay)
695 (Qinhibit_eval_during_redisplay): New variables.
696 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
697 don't eval, return nil instead.
698 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
699 Initialize Qinhibit_eval_during_redisplay.
700
e719f5ae
GM
701 * xdisp.c (reseat_to_string): If STRING is multibyte, set
702 the iterator's multibyte_p flag.
703
deb2613a
GM
704 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
705 instead of setting it to zero; it's incremented for each frame
706 where the menu face is changed.
707
52283633
SM
708 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
709 change bottom shadow accordingly.
710
711 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
712 intersections here.
713 (expose_window): Do it here instead.
52283633 714 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 715
f827b862
GM
716 * bytecode.c (BYTE_CODE_QUIT): New macro.
717 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
718
4bde0ebb
GM
7192001-03-27 Gerd Moellmann <gerd@gnu.org>
720
607ec83c
GM
721 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
722 Give up if matrix starts in an ellipsis.
723 (init_from_display_pos): Do nothing if POS doesn't specify
724 a dpvec_index but the iterator has such a position.
725
0245398f
GM
726 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
727
aba25348
GM
728 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
729 x/y position is (0, 0) after destroying the menu bar, restore
730 its original position.
731
4bde0ebb
GM
732 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
733 (init_from_display_pos): Use it.
734 (try_window_reusing_current_matrix): Don't use cursor_row_p.
735
8cdb267e
GM
7362001-03-26 Gerd Moellmann <gerd@gnu.org>
737
738 * xdisp.c (try_window_id): Undo last change.
739
9948db79
EZ
7402001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
741
742 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
743
744 * buffer.c (syms_of_buffer): Doc fix.
745
2eddf899
GM
7462001-03-26 Gerd Moellmann <gerd@gnu.org>
747
748 * xfaces.c (x_update_menu_appearance): Use local variable
749 popup_path for setting font resources.
750
6c145d35
EZ
7512001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
752
6a65b1b5
EZ
753 * frame.c (Fframe_list): Don't reference tip_frame if
754 HAVE_WINDOW_SYSTEM is not defined.
755
6c145d35
EZ
756 * emacs.c (main): Update the copyright year. From Werner LEMBERG
757 <wl@gnu.org>.
758
d74c1900
GM
7592001-03-25 Gerd Moellmann <gerd@gnu.org>
760
20fbd925
GM
761 * xdisp.c (init_from_display_pos): Test invisible property
762 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 763
927c5b3b
GM
764 * xdisp.c (redisplay_internal) <update one window>: Make sure
765 last_arrow_position and last_arrow_string are set.
766
d74c1900
GM
767 * frame.c (Fframe_list): Don't return a tooltip frame.
768
091f8878
GM
7692001-03-23 Gerd Moellmann <gerd@gnu.org>
770
52283633
SM
771 * xdisp.c (mark_window_display_accurate_1): New function,
772 extracted from mark_window_display_accurate.
773 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
774 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
775 (mark_window_display_accurate): Use it.
776 (redisplay_internal): Use it for the selected window.
777 (redisplay_internal): Avoid duplicate mark_window_display_accurate
778 for the selected frame.
779
ac90c44f
GM
780 * xdisp.c Use make_number, for readability.
781 (try_window_id): Disable rows below the window end.
782 (try_window_reusing_current_matrix): Use cursor_row_p.
783 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
784 of rows.
785 (init_from_display_pos): If POS specifies a position in a display
786 vector, maybe get the iterator set up for that ellipsis.
43c09969 787
091f8878
GM
788 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
789
991786dd
EZ
7902001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
791
792 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
793
6c29b43c
GM
7942001-03-23 Gerd Moellmann <gerd@gnu.org>
795
796 * xfaces.c (x_update_menu_appearance): Use a different path
797 for Lucid popup menus.
798
d8731202
SM
7992001-03-22 Stefan Monnier <monnier@cs.yale.edu>
800
801 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
802
803 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
804 (string_buffer_position): Use `make_number'.
805
f61a541b
GM
8062001-03-22 Gerd Moellmann <gerd@gnu.org>
807
3c9e997b
GM
808 * xfaces.c (x_update_menu_appearance): Renamed from
809 x_set_menu_face_resources. Use different resources for popups.
810
811 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
812 (GC_CHECK_STRING_BYTES): Don't define.
813
364cd450
GM
814 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
815 Removed, together with subroutines.
816 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 817 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 818
d8731202
SM
819 * dispextern.h (x_set_menu_resources_from_menu_face):
820 Remove prototype.
364cd450 821
d8731202 822 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
823 Remove calls to x_set_menu_resources_from_menu_face.
824
d8731202
SM
825 * xfaces.c (xm_set_menu_resources_from_menu_face):
826 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
827
828 * xmenu.c: Include widget.h.
829 (single_submenu): Return int. Some cleanup.
830 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
831
140330de
GM
8322001-03-21 Gerd Moellmann <gerd@gnu.org>
833
834 * xterm.c (x_update_window_end): Handle overwritten mouse face
835 also for tool bar windows.
836 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
837 DRAW is DRAW_IMAGE_RAISED.
838
1741905c
GM
8392001-03-20 Gerd Moellmann <gerd@gnu.org>
840
fa88947e
GM
841 * print.c (syms_of_print): Doc fixes.
842
1741905c
GM
843 * fns.c (Fmd5): Doc fix.
844
ade0bee1
GM
8452001-03-19 Gerd Moellmann <gerd@gnu.org>
846
357e7376
GM
847 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
848 Clear area of the frame not occupied by the scroll bar.
849
c2c097cc
GM
850 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
851 tip frame's root window buffer to *tip* right after creating
852 the frame.
853
ade0bee1
GM
854 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
855 is an integer don't have to be for space characters.
856
88c6e37e
GM
8572001-03-16 Gerd Moellmann <gerd@gnu.org>
858
52283633
SM
859 * indent.c (current_column, current_column_1, Fmove_to_column)
860 (compute_motion): Handle characters from display vectors differently.
88c6e37e 861
c62eed76
KH
8622001-03-15 Kenichi Handa <handa@etl.go.jp>
863
864 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
865 drawing glyph string.
866
c899e7e6
GM
8672001-03-15 Gerd Moellmann <gerd@gnu.org>
868
d0bbfc99
GM
869 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
870 (command_loop_1): Undo last change.
871
03d1a189
GM
872 * xterm.c (fast_find_position): Return the correct vpos.
873
c899e7e6 874 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 875 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
876 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
877 Call store_symval_forwarding with BUF null.
878 (set_internal): Call store_symval_forwarding with the BUF
879 parameter passed to set_internal. Formerly, the value was always
880 set in the current buffer; the buffer recorded in specbind for
881 this case wasn't used.
882 (arith_driver): Reindent.
883
52283633
SM
884 * buffer.c (swap_out_buffer_local_variables):
885 Call store_symval_forwarding with BUF null.
c899e7e6
GM
886
887 * lisp.h (store_symval_forwarding): Change prototype.
888
889 * eval.c (specbind): Call store_symval_forwarding with BUF null.
890
57ac7c81
GM
8912001-03-14 Gerd Moellmann <gerd@gnu.org>
892
697617d9
GM
893 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
894 FOR_DELETION. Avoid resizing the mini-window of the selected
895 frame if FOR_DELETION is set.
896 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
897 (Fmake_frame_invisible): Change calls to do_switch_frame for new
898 signature.
899
900 * window.c (Fset_window_configuration): Change call to
901 do_switch_frame to new format.
902
903 * keyboard.c (quit_throw_to_read_char): Change call to
904 do_switch_frame to new format.
905
906 * lisp.h (do_switch_frame): Change prototype.
907
819dce0f
GM
908 * frame.c (Fframe_parameters): In the `buffer-list' frame
909 parameter, store the buffer list of FRAME, not the list of the
910 selected frame.
911
57ac7c81
GM
912 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
913 box just because the glyph row's full_width_p flag is set.
914
65008712
GM
9152001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
916
917 * xdisp.c (highlight_trailing_whitespace): On character terminals,
918 skip the padding blanks inserted in extend_face_to_end_of_line,
919 before checking for trailing whitespace.
920
159cf431
GM
9212001-03-13 Gerd Moellmann <gerd@gnu.org>
922
52283633 923 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
924 Remove special handling for LessTif/Motif.
925 (toplevel): Don't include Xm/Xm.h.
926
52283633
SM
927 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
928 Remove workaround code for LessTif; it doesn't work anymore.
929
2564ea1b 930 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 931 Xm/ScrollBarP.h.
afcdc0a1 932
52283633
SM
933 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
934 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
935 contemporary LessTif.
936
52283633
SM
937 * xfaces.c (xm_set_menu_resources_from_menu_face):
938 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 939
159cf431
GM
940 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
941 removing button grabs.
942
c6f7429a
KH
9432001-03-13 Kenichi Handa <handa@etl.go.jp>
944
cb82d767
KH
945 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
946 and clip-large-size-font as obsolete.
947
c6f7429a
KH
948 * lread.c (read_multibyte): Check the validity of multibyte
949 sequence. If invalid, return the first byte.
950
760cefb5
GM
9512001-03-12 Gerd Moellmann <gerd@gnu.org>
952
953 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
954 before running the command; timer functions or process
955 filters may have set it.
956
5141f9d0
EZ
9572001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
958
959 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
960 Doc fix.
961
b6a15240
GM
9622001-03-12 Gerd Moellmann <gerd@gnu.org>
963
964 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
965 to sprintf.
966
95522746
GM
9672001-03-09 Gerd Moellmann <gerd@gnu.org>
968
db14cfc5
GM
969 * dispextern.h (string_buffer_position): Add prototype.
970
52283633 971 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
972 (single_display_prop_string_p): New functions.
973
974 * xterm.c (note_mouse_highlight): If there's no help-echo on
975 a string, look at the buffer text ``under'' it.
976
977 * keyboard.c (make_lispy_event): Add string info to the event,
978 analogous to what's done on mode lines.
979 (read_key_sequence): For a click on a string, consider `local-map'
980 and `keymap' of that string.
981
52283633
SM
982 * keyboard.c (make_lispy_event, make_lispy_movement):
983 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
984
985 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
986
987 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
988 POS; return void.
989
95522746
GM
990 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
991 flags argument to emacs_open; it seems to conflict with O_EXCL.
992
898a399d
KH
9932001-03-09 Kenichi Handa <handa@etl.go.jp>
994
28cd4910
KH
995 * composite.h (struct composition): Change types of members;
996 glyph_len to unsigned, width to unsigned short.
898a399d 997
4cdf6a6c
AI
9982001-03-08 Andrew Innes <andrewi@gnu.org>
999
1000 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1001 menu titles.
1002
129004d3
GM
10032001-03-08 Gerd Moellmann <gerd@gnu.org>
1004
221dd3e7
GM
1005 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1006 instead of nil.
1007
52283633 1008 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1009 help-echo in strings.
1010 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1011 (fast_find_string_pos): New function.
1012
52283633
SM
1013 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1014 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1015
1016 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1017 Handle `mouse-face'.
1018
1019 * dispextern.h (face_at_string_position): Change prototype.
1020
52283633 1021 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1022
129004d3
GM
1023 * keyboard.c (make_lispy_event): Avoid generating drag events
1024 if the mouse hasn't actually moved to another buffer position.
52283633 1025
80c8ab8c
DL
10262001-03-08 Dave Love <fx@gnu.org>
1027
129004d3 1028 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1029
989521fd
GM
10302001-03-08 Gerd Moellmann <gerd@gnu.org>
1031
1032 * process.c (Fset_process_window_size): Fix a typo.
1033
bb5c338d
KH
10342001-03-08 Kenichi Handa <handa@etl.go.jp>
1035
1036 * coding.c (detect_coding_sjis): Do more rigid check.
1037 (detect_coding_big5): Likewise.
1038 (decode_coding_sjis_big5): Likewise.
1039 (Fdetect_coding_region): Call detect_coding_system with tailing
1040 anchor byte `\0' for more rigid detection.
52283633 1041 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1042 (Fdetect_coding_string): Likewise.
1043
8b8f9197
SM
10442001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1045
1046 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1047 a string before extracting its data.
1048
3bdf2660
GM
10492001-03-07 Gerd Moellmann <gerd@gnu.org>
1050
1051 * window.c (Frecenter): Rewrite code handling negative values
1052 of ARG on graphical frames.
1053
10542001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1055
1056 * window.c (displayed_window_lines): If W->start is outside the
1057 accessible portion of the buffer, call start_display with BEGV or
1058 ZV instead of W->start.
1059
471f86b9
GM
10602001-03-07 Gerd Moellmann <gerd@gnu.org>
1061
2ab62c6c
GM
1062 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1063
471f86b9
GM
1064 * process.c (Fset_process_filter): Don't crash if the input
1065 file descriptor of PROCESS is closed.
1066 (Fset_process_window_size): Likewise.
1067
101922c3
GM
10682001-03-06 Kenichi Handa <handa@etl.go.jp>
1069
1070 * xterm.c (XTflash): Make the timeout of select shorter, and call
1071 select repeatedly until the desired time expires.
1072
45d051a7
GM
10732001-03-06 Gerd Moellmann <gerd@gnu.org>
1074
1075 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1076
1077 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1078
1079 * lisp.h (Vwindow_list): Declare extern.
1080
8f372c46
EZ
10812001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1082
1083 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1084
f16a7aa5
GM
10852001-03-06 Gerd Moellmann <gerd@gnu.org>
1086
157ae273
GM
1087 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1088 to detect a case where we have to highlight a different region
1089 despite not having left the currently highlighted region.
1090 Set mouse_face_overlay in the x_display_info.
45d051a7 1091 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1092
1093 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1094
1095 * buffer.c (mouse_face_overlay_overlaps): New function.
1096
1097 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1098 (Qmouse_face): Declare extern.
1099
f16a7aa5
GM
1100 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1101 if face_change_count is non-zero.
1102
827afcac
KH
11032001-03-06 Kenichi Handa <handa@etl.go.jp>
1104
1105 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1106 that the source is unibyte.
1107
14c7242e
DL
11082001-03-05 Dave Love <fx@gnu.org>
1109
827afcac 1110 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1111
c28b847b
GM
11122001-03-05 Gerd Moellmann <gerd@gnu.org>
1113
1114 * minibuf.c (read_minibuf): Clean up the binding stack if
1115 called noninteractively.
1116
b86644f2
KH
11172001-03-05 Kenichi Handa <handa@etl.go.jp>
1118
1119 * coding.c (syms_of_coding): Docstring modified.
1120
203682cc 11212001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1122
1123 * charset.c (char_to_string): If a single byte char has modifier
1124 bits that can't be reflected to the character code, ignore them
45d051a7 1125 instead of signaling an error.
b86644f2 1126
e30bd7b7
EZ
11272001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1128
1129 * s/msdos.h: Update copyright notice.
1130
1131 * dosfns.h: Update copyright notice.
1132
1133 * dosfns.c: Update copyright notice.
1134
1135 * msdos.c: Update copyright notice.
1136
b52b65bd
GM
11372001-03-02 Gerd Moellmann <gerd@gnu.org>
1138
1139 * xterm.c (glyph_rect): New function.
1140 (XTmouse_position): Use it to raise the threshold for mouse
1141 movement event generation.
1142
53c4b1e6
EZ
11432001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1144
1145 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1146 specifies (reverse . t), reverse the initial screen colors.
1147 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1148 but we are reversing the colors, set bg_set, not fg_set.
1149 Likewise for setting background-color and reversing: set fg_set.
1150 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1151 in effect.
1152
1153 * xfaces.c (Finternal_set_lisp_face_attribute)
1154 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1155 parameters alist.
1156
f964b4d7
GM
11572001-03-02 Gerd Moellmann <gerd@gnu.org>
1158
ef53d75e
GM
1159 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1160 to a single slash in the middle of file names.
1161
52283633 1162 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1163 Accept only alphanumeric time zone names.
1164
f964b4d7
GM
1165 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1166 or width area.
1167 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1168 a widget to zero height.
52283633 1169
c3c45f65
GM
11702001-03-01 Gerd Moellmann <gerd@gnu.org>
1171
1172 * window.c (Fwindow_end): Call move_it_past_eol only if
1173 ending up on a partially visible line.
1174
028d739a
DL
11752001-03-01 Dave Love <fx@gnu.org>
1176
1177 * ccl.c (Fccl_execute): Doc fix.
1178
57c5889c
GM
11792001-03-01 Gerd Moellmann <gerd@gnu.org>
1180
35f59f6b
GM
1181 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1182 of the tool bar before calling x_figure_window_size.
1183
f84ff02c
GM
1184 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1185 NULL after destroying it, otherwise XTread_socket can access a
1186 destroyed widget when input is unblocked.
1187
8b8f9197 1188 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1189
57c5889c
GM
1190 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1191 same name as before, although there was a change in fontsets.
1192
224227d1
KR
11932001-02-28 Ken Raeburn <raeburn@gnu.org>
1194
4560730a
KR
1195 * lisp.h (Fframe_parameter): Declare.
1196
224227d1 1197 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1198 Lisp_Object.
224227d1 1199
ece93c02
GM
12002001-02-28 Gerd Moellmann <gerd@gnu.org>
1201
11ef99b9
GM
1202 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1203 NULL instead.
1204
1205 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1206 NULL instead.
1207
ece93c02
GM
1208 * alloc.c (toplevel): Include process.h.
1209 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1210 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1211 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1212 (allocate_vector, allocate_hash_table, allocate_window)
1213 (allocate_frame, allocate_process, allocate_other_vector):
1214 New functions.
ece93c02
GM
1215 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1216 (mark_maybe_pointer): New function.
52283633 1217 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1218 remain and not Lisp_Objects.
1219 (min_heap_address, max_heap_address): New variables.
1220 (mem_find): Return MEM_NIL if START is below min_heap_address or
1221 above max_heap_address.
1222 (mem_insert): Compute min_heap_address and max_heap_address.
1223
1224 * process.c (make_process): Use allocate_process.
1225
1226 * frame.c (make_frame): Use allocate_frame.
1227
1228 * window.c (make_window, make_dummy_parent): Use allocate_window.
1229 (Fcurrent_window_configuration): Use allocate_other_vector.
1230
1231 * lisp.h (allocate_vectorlike): Remove prototype.
1232 (allocate_vector, allocate_other_vector, allocate_frame)
1233 (allocate_window, allocate_process, allocate_hash_table):
1234 Add prototypes.
1235
1236 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1237 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1238
063af457
KH
12392001-02-27 Kenichi Handa <handa@etl.go.jp>
1240
1241 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1242 treat the produced bytes as a valid multibyte sequence.
1243
1244 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1245 (ccl_driver) <CCL_WriteMultibyteChar2>:
1246 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1247 <ccl_finish>: Set ccl->eight_bit_control properly.
1248
1249 * ccl.h (struct ccl_program): New member eight_bit_control.
1250
f58c6494
SM
12512001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1252
1253 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1254 accessible_keymaps_char_table.
1255 (accessible_keymaps_char_table): Obey `is_metized'.
1256 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1257 Lisp_Object.
1258
c596c392
GM
12592001-02-26 Gerd Moellmann <gerd@gnu.org>
1260
1261 * dispnew.c: Check HAVE_TERM_H before including term.h.
1262
425de386
AI
12632001-02-24 Andrew Innes <andrewi@gnu.org>
1264
1265 * makefile.w32-in: Update copyright notice.
1266
2ba11bbd
SM
12672001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1268
1269 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1270
66c56ed1
KH
12712001-02-24 Kenichi Handa <handa@etl.go.jp>
1272
4c1593ce
KH
1273 * Makefile.in (lisp): Add international/utf-8.elc.
1274
66c56ed1
KH
1275 * fontset.c (Fnew_fontset): Fix handling of the case that an
1276 element of FONTLIST is a cons of family and registry.
1277
796ead7e
JR
12782001-02-23 Jason Rumney <jasonr@gnu.org>
1279
1280 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1281 to height unconditionally.
1282
1283 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1284 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1285 (x_insert_glyphs): Call window_box_left to obtain the left
1286 x-coordinate of the area to shift.
1287
1288 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1289 safe_run_hooks.
1290
f6839838
AI
12912001-02-22 Andrew Innes <andrewi@gnu.org>
1292
52283633 1293 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1294 ($(BLD)\dispnew.obj):
1295 ($(BLD)\editfns.obj):
1296 ($(BLD)\fileio.obj):
1297 ($(BLD)\filelock.obj):
1298 ($(BLD)\keyboard.obj):
1299 ($(BLD)\w32proc.obj):
1300 ($(BLD)\process.obj):
1301 ($(BLD)\sysdep.obj): Ditto.
1302
1303 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1304 header files.
52283633
SM
1305 ($(BLD)/dispnew.$(O)):
1306 ($(BLD)/editfns.$(O)):
1307 ($(BLD)/fileio.$(O)):
1308 ($(BLD)/filelock.$(O)):
1309 ($(BLD)/keyboard.$(O)):
1310 ($(BLD)/w32proc.$(O)):
1311 ($(BLD)/process.$(O)):
f6839838
AI
1312 ($(BLD)/sysdep.$(O)): Ditto.
1313
c224f70b
GM
13142001-02-22 Gerd Moellmann <gerd@gnu.org>
1315
51695746
GM
1316 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1317 at the start of the function, check that the \n in it->c is
1318 from the iterator's current position.
52283633 1319
a61b7058
GM
1320 * xdisp.c (handle_single_display_prop): Add parameter
1321 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1322 properties which replace the display of text with something else.
1323 (handle_display_prop): Call handle_single_display_prop with
1324 additional argument saying if we already replaced text display
1325 with something else. Use AREF.
52283633 1326 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1327 (decode_mode_spec_coding): Use AREF and ASIZE.
1328
3473f362
GM
1329 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1330 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1331 * vmstime.h: Files removed.
52283633 1332
2bb58df3
GM
1333 * unexencap.c, unexfx2800.c: Files removed.
1334
c224f70b
GM
1335 * dispnew.c (direct_output_for_insert): Give up if we are showing
1336 a message or just cleared the message because we might need to
1337 resize the echo area window or display an empty echo area.
1338
ffc9ff0c
GM
13392001-02-21 Gerd Moellmann <gerd@gnu.org>
1340
0528abe1
GM
1341 * xdisp.c (redisplay_internal): Do the
1342 mark_window_display_accurate after all windows have been
1343 redisplayed because this call resets flags in buffers which are
1344 needed for proper redisplay.
1345
52283633
SM
1346 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1347 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1348 the old names.
1349
52283633
SM
1350 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1351 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1352
1353 * msdos.h (struct x_output): Rename busy_window to
1354 hourglass_window, busy_p to hourglass_p.
1355
52283633
SM
1356 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1357 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1358
1359 * xfns.c: Rename everything containing *busy_cursor* and similar
1360 to *hourglass*.
1361 (syms_of_w32fns): Rename x-busy-pointer-shape to
1362 x-hourglass-pointer-shape, display-busy-cursor to
1363 display-hourglass, busy-cursor-delay to hourglass-delay.
1364
1365 * w32fns.c: Rename everything containing *busy_cursor* and similar
1366 to *hourglass*.
1367 (syms_of_w32fns): Rename x-busy-pointer-shape to
1368 x-hourglass-pointer-shape, display-busy-cursor to
1369 display-hourglass, busy-cursor-delay to hourglass-delay.
1370
1371 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1372 of its busy_p flag.
1373
1374 * dispextern.h (start_hourglass, cancel_hourglass)
1375 (display_hourglass_p): Renamed from *busy_cursor*.
1376
ab2c5f0a
GM
13772001-02-20 Gerd Moellmann <gerd@gnu.org>
1378
d17e49a8
GM
1379 * keyboard.c (read_char): When an event from unread-command-events
1380 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1381
fa97adf6
GM
1382 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1383 equal to the current buffer.
1384
ab2c5f0a
GM
1385 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1386 nil, otherwise we're left with truncate_lines t when a message
1387 is printed with message-truncate-lines bound to t.
1388
aeac019e
GM
13892001-02-19 Gerd Moellmann <gerd@gnu.org>
1390
c8bc6f65
GM
1391 * window.c (Fmove_to_window_line): Undo last change.
1392 (displayed_window_lines): Call line_bottom_y to determine
1393 the line's bottom position.
1394
1395 * dispextern.h (line_bottom_y): Add prototype.
1396
52283633 1397 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1398 (pos_visible_p): Use it.
1399
980a2d69
GM
1400 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1401 set redisplaying_p to 0 here instead of in Frecursive_edit.
1402 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1403 set redisplaying_p.
1404
52283633 1405 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1406 New variables.
1407 (syms_of_xdisp): Initialize new variables.
1408 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1409 Specbind `inhibit-menubar-update' when updating the menu bar.
1410
65048e97
GM
1411 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1412 safe_run_hooks.
1413
1414 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1415 safe_run_hooks.
1416
a57c4026
GM
1417 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1418 is null.
1419
aeac019e
GM
1420 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1421 to the start of the file.
1422
76846b31
GM
14232001-02-16 Gerd Moellmann <gerd@gnu.org>
1424
f3f053f3 1425 * window.c (set_window_buffer): Fix last change.
52283633 1426
f3f053f3
GM
1427 * window.c (set_window_buffer): Set window's vscroll to 0.
1428
dad75588
GM
1429 * window.c (coordinates_in_window): Increase width of area
1430 where the vertical line can be dragged.
1431
c220b753
GM
1432 * xterm.c (x_set_glyph_string_background_width): Extend the
1433 background face to the end of the drawing area in the text
1434 area, only.
1435
c56b1c1b
GM
1436 * xdisp.c (handle_single_display_prop): Set iterator's position
1437 to where the `display' property starts, like for images.
1438 (dump_glyph): New function.
1439 (dump_glyph_row): Use it. Dump info about marginal areas.
1440
1441 * dispnew.c (direct_output_for_insert): Recognize more cases where
1442 glyphs can be written instead of being inserted.
1443
1444 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1445 the left x-coordinate of the area to shift.
1446
76846b31
GM
1447 * dired.c (directory_files_internal): Set result list to nil
1448 before retrying.
1449
0fc71a77
KH
14502001-02-15 Kenichi Handa <handa@etl.go.jp>
1451
1452 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1453 invalid multibyte sequence, treat *SRC as a character of
1454 eight-bit-graphic.
1455
25078b54
EZ
14562001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1457
1458 * textprop.c (Fset_text_properties): Doc fix.
1459
8399f8a0
GM
14602001-02-15 Gerd Moellmann <gerd@gnu.org>
1461
1462 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1463
9a2a6f73
DL
14642001-02-14 Dave Love <fx@gnu.org>
1465
1466 * coding.c: Doc and message fixes.
1467
bf853fee
AI
14682001-02-14 Andrew Innes <andrewi@gnu.org>
1469
1470 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1471 Emacs frame above the screen size.
1472
78c663d8
GM
14732001-02-14 Gerd Moellmann <gerd@gnu.org>
1474
1475 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1476
7cc9f69f
GM
14772001-02-13 Gerd Moellmann <gerd@gnu.org>
1478
0a411995
GM
1479 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1480 case that TO ends up beyond ZV after running before-change-functions.
1481
5ddc1b75
GM
1482 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1483 the selected window if it is showing the buffer in question.
1484
7cc9f69f
GM
1485 * dired.c (directory_files_internal): Initialize errno.
1486 (toplevel): Include errno.h.
1487
2e6621ca
GM
14882001-02-13 Kenichi Handa <handa@etl.go.jp>
1489
1490 * xfaces.c (best_matching_font): New parameter width_ratio.
1491 Multiply avgwidth by width_ratio.
1492 (choose_face_font): Call best_matching_font with width_ratio
1493 calculated from the column width of C.
1494
60222d69
AI
14952001-02-12 Andrew Innes <andrewi@gnu.org>
1496
1497 The following changes are to draw box lines inside characters area
1498 if line-width is negative.
52283633 1499
60222d69
AI
1500 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1501 face->box_line_width is negative.
1502 (x_produce_stretch_glyph): Likewise.
1503 (x_produce_glyphs): Likewise.
1504 (x_estimate_mode_line_height): Likewise.
1505 (x_draw_glyph_string_background): Likewise.
1506 (x_draw_glyph_string_foreground): Likewise.
1507 (x_draw_composite_glyph_string_foreground): Likewise.
1508 (x_draw_glyph_string_box): Likewise.
1509 (x_draw_image_foreground): Likewise.
1510 (x_draw_image_relief): Likewise.
1511 (x_draw_image_foreground_1): Likewise.
1512 (x_draw_image_glyph_string): Likewise.
1513
9804b846
KH
15142001-02-09 Kenichi Handa <handa@etl.go.jp>
1515
1516 The following changes are to draw box lines inside characters area
1517 if line-width is negative.
52283633 1518
9804b846
KH
1519 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1520 face->box_line_width is negative.
1521 (x_produce_stretch_glyph): Likewise.
1522 (x_produce_glyphs): Likewise.
1523 (x_estimate_mode_line_height): Likewise.
1524 (x_draw_glyph_string_background): Likewise.
1525 (x_draw_glyph_string_foreground): Likewise.
1526 (x_draw_composite_glyph_string_foreground): Likewise.
1527 (x_draw_glyph_string_box): Likewise.
1528 (x_draw_image_foreground): Likewise.
1529 (x_draw_image_relief): Likewise.
1530 (x_draw_image_foreground_1): Likewise.
1531 (x_draw_image_glyph_string): Likewise.
1532
1533 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1534 and :line-width can be negative.
52283633 1535 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1536
49be9f70
JR
15372001-02-09 Jason Rumney <jasonr@gnu.org>
1538
1539 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1540 characters the same as ASCII and latin-1.
1541 (x_display_and_set_cursor): Check for the focus frame's selected
1542 window instead of selected_window.
1543 (x_after_update_window_line): Don't clear if frame's internal
1544 border width is zero.
1545 (x_new_font): Don't change a tooltip's size.
1546 (w32_initialize): Set char_ins_del_ok to 1.
1547
1548 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1549 (x_set_font): If font hasn't changed, avoid recomputing
1550 faces and other things.
52283633
SM
1551 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1552 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1553 (x_create_tip_frame): Prevent changing the tooltip's
1554 background color by specifying a color for the default font
1555 in .Xdefaults.
1556 (Qcancel_timer): New variable.
1557 (syms_of_w32fns): Initialize and staticpro it.
1558 (Fx_hide_tip, Fx_show_tip): Use it.
1559 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1560 the timer.
1561 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1562
1563 * w32.c (init_environment): Duplicate local string before putenv.
1564
555e35d2
SZ
15652001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1566
1567 * charset.c (Fstring): A typo.
1568
19c92c94
KH
15692001-02-09 Kenichi Handa <handa@etl.go.jp>
1570
e47a1c33
KH
1571 * charset.c (Fstring): If all arguments are less than 256, return
1572 a unibyte string.
1573
1574 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1575 return a unibyte string.
1576
19c92c94
KH
1577 * coding.c (code_convert_region): After detecting a coding, if
1578 nothing found, set coding->composing to COMPOSITION_NO.
1579 (decode_coding_string): Likewise.
1580
d8e675f5
SM
15812001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1582
1583 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1584 to avoid overflow.
1585
bd503487
KH
15862001-02-07 Kenichi Handa <handa@etl.go.jp>
1587
1588 * charset.c (parse_str_to_multibyte): New function.
1589
1590 * charset.h (parse_str_to_multibyte): Extern it.
1591
1592 * print.c (print_string): If we are going to print a unibyte
1593 string into a multibyte buffer, convert the string to multibyte by
1594 str_to_multibyte.
1595
a8370d72
AI
15962001-02-06 Andrew Innes <andrewi@gnu.org>
1597
1598 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1599 been created. It seems we can get sent window messages such as
1600 WM_ERASEBKGND before we properly update a frame.
1601
c363a1d6
GM
16022001-02-06 Gerd Moellmann <gerd@gnu.org>
1603
1604 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1605 Avoid some unnecessary cursor positioning.
1606
a08332c0
GM
16072001-02-05 Gerd Moellmann <gerd@gnu.org>
1608
52283633 1609 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1610 (LFACE_AVGWIDTH): New macro.
1611 (LFACEP): Use AREF.
1612 (check_lface_attrs): Check LFACE_AVGWIDTH.
1613 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1614 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1615 (merge_face_vectors): Check LFACE_AVGWIDTH.
1616 (Finternal_make_lisp_face): Use AREF.
1617 (xm_set_menu_resources_from_menu_face)
1618 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1619 (Finternal_lisp_face_empty_p): Use AREF.
1620 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1621 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1622 Compare average widths..
1623 (best_matching_font): Arrange for comparing average widths.
1624
52283633
SM
1625 * dispextern.h (enum lface_attribute_index):
1626 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1627
5cb3c8d4
DL
16282001-02-05 Dave Love <fx@gnu.org>
1629
1630 * puresize.h: Revert last change following loadup.el change.
1631
193fba87
AI
16322001-02-05 Andrew Innes <andrewi@gnu.org>
1633
1634 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1635 invocation of temacs, to work with Windows 2000.
1636 (bootstrap-emacs): Ditto.
1637
e16f52ce
GM
16382001-02-05 Gerd Moellmann <gerd@gnu.org>
1639
7a58ab59
GM
1640 * xterm.c (x_display_and_set_cursor): Check for the focus
1641 frame's selected window instead of selected_window.
1642
e89aaabd
GM
1643 * xdisp.c (try_scrolling): If point is in the line below the
1644 window, make sure to move the iterator at least a canonical
1645 char height down.
1646
52283633 1647 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1648
789ce875
KH
16492001-02-05 Kenichi Handa <handa@etl.go.jp>
1650
52283633
SM
1651 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1652 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1653 (ccl_driver): If the CCL program is terminated because of
1654 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1655 destination instead of throwing them away.
1656
20b28f82
GM
16572001-02-02 Gerd Moellmann <gerd@gnu.org>
1658
79fb38c0
GM
1659 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1660 faces and other things.
1661
20b28f82
GM
1662 * xdisp.c (get_next_display_element): Fix case of empty
1663 display table entry.
1664
5a72551e
EZ
16652001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1666
eb24d0bf
EZ
1667 * editfns.c (Fconstrain_to_field): Doc fix.
1668
6a3f48c7
EZ
1669 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1670 into `thoroughly', to make it consistent with the doc string.
1671
5a72551e
EZ
1672 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1673
01acdb05
GM
16742001-02-01 Gerd Moellmann <gerd@gnu.org>
1675
0353b28f
GM
1676 * search.c (search_buffer): Call set_search_regs with a byte
1677 position, not a character position.
1678
01acdb05
GM
1679 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1680 minibuffer-only,
1681
e86b5133
EZ
16822001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1683
1684 * frame.c (Fmodify_frame_parameters): Doc fix.
1685
7442878f
GM
16862001-01-31 Gerd Moellmann <gerd@gnu.org>
1687
01acdb05
GM
1688 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1689 identifier which is not reserved by Standard C.
52283633 1690
7442878f
GM
1691 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1692
1693 * window.c (enum window_part): New enumeration.
1694 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1695 Qright_bitmap_area.
1696 (coordinates_in_window): Return an enumerator from enum
1697 window_part. Fix handling of right scroll bar.
1698 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1699 `right-fringe' instead of `left-bitmap-area' and
1700 `right-bitmap-area'. Use enumerators from enum window_part
1701 instead of hard-coded integers.
52283633
SM
1702 (check_window_containing, window_from_coordinates):
1703 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1704 (syms_of_window): Replace Qleft_bitmap_area and
1705 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1706
7c132cba
EZ
17072001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1708
1709 * editfns.c (Fformat_time_string): Doc fix.
1710
c359dd9e
SM
17112001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1712
1713 * keymap.c (Fwhere_is_internal): Use the first valid binding
1714 if no ascii binding is found (when firstonly is t).
1715
ce070307
GM
17162001-01-31 Gerd Moellmann <gerd@gnu.org>
1717
b4f30ec5
GM
1718 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1719 instead of Finteractive_p.
1720
1721 * lisp.h (interactive_p): Add prototype.
1722
1723 * eval.c (interactive_p): New function.
1724 (Finteractive_p): Use it.
1725
ce070307
GM
1726 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1727
f57b6e64
DL
17282001-01-31 Dave Love <fx@gnu.org>
1729
d61c7afe
DL
1730 * .gdbinit (hook-run): Define to run xreload.
1731
f57b6e64
DL
1732 * textprop.c (Fset_text_properties): Fix newline in doc string.
1733
eef93f99
GM
17342001-01-30 Gerd Moellmann <gerd@gnu.org>
1735
52283633
SM
1736 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1737 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1738
1739 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1740 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1741 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1742
1743 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1744 height.
1745
d9c1f6f9
DL
17462001-01-30 Dave Love <fx@gnu.org>
1747
1748 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1749 AFTER_POTENTIAL_GC.
1750
e8f044a0
GM
17512001-01-29 Gerd Moellmann <gerd@gnu.org>
1752
52283633
SM
1753 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1754 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1755
8e1db7b3
EZ
17562001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1757
1758 * textprop.c (Fset_text_properties): Doc fix.
1759
4eefd9d2
GM
17602001-01-29 Gerd Moellmann <gerd@gnu.org>
1761
1762 * xdisp.c (forward_to_next_line_start): Remove xassert.
1763
fccb8288
EZ
17642001-01-29 Jason Rumney <jasonr@gnu.org>
1765
4eefd9d2 1766 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1767 returning without releasing it.
1768
76581eab
KH
17692001-01-29 Kenichi Handa <handa@etl.go.jp>
1770
1771 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1772 for '^', '$', and '\0'.
1773
83a96b4d
AC
17742001-01-28 Andrew Choi <akochoi@i-cable.com>
1775
5604ec34
AC
1776 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1777 regex for '^', '$', and '\0'.
1778
83a96b4d
AC
1779 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1780 only if current_sblock has been initialized.
1781
1782 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1783 terminal frame even if it is the only visible frame.
1784
c09a6440
KH
17852001-01-28 Kenichi Handa <handa@etl.go.jp>
1786
1787 * fontset.c (font_family_registry): Even if FONTNAME conform to
1788 XLFD, if it specifies other fields than family and registry,
52283633 1789 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1790 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1791 a signle byte character. Don't set FAMILY part to nil here.
1792 It is handled by the caller choose_face_font.
c09a6440
KH
1793 (Fnew_fontset): Call font_family_registry with FORCE 0.
1794 (Fset_fontset_font): Likewise.
1795
4dcd74e6
GM
17962001-01-27 Gerd Moellmann <gerd@gnu.org>
1797
1798 * xdisp.c (display_line): Don't treat a newline as fitting
1799 on the line.
1800
d2906bf8
GM
18012001-01-26 Gerd Moellmann <gerd@gnu.org>
1802
0130fe1a
GM
1803 * window.c (size_window): Set the window's orig_top to nil when
1804 changing heights, so that a future shrink_mini_window won't
1805 restore a bogus height.
1806
550f0e6a
GM
1807 * frame.c (do_switch_frame): If selected frame has a mini-window,
1808 resize that to exact size.
1809
b7b20fbd
GM
1810 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1811
a47b7816
GM
1812 * xdisp.c (display_line): Simplify check for glyphs fitting
1813 entirely in the line.
1814
d2906bf8
GM
1815 * xfns.c (xic_style): New variable.
1816 (create_frame_xic): Move static variable to global scope for
550f0e6a 1817 the case that `static' gets defined away.
d2906bf8 1818
73df2b1e
KH
18192001-01-26 Kenichi Handa <handa@etl.go.jp>
1820
1821 * coding.c (decode_coding): Set a flag for inhibiting
1822 inconsistent eol.
1823 (code_convert_region): Always set saved_coding_symbol.
1824 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1825 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1826
6613cfc4
GM
18272001-01-25 Gerd Moellmann <gerd@gnu.org>
1828
c5e6e06b
GM
1829 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1830 XClearArea.
1831
1832 * xterm.c (x_after_update_window_line): Don't clear if frame's
1833 internal border width is zero.
1834 (x_clear_area): New function.
1835 (x_after_update_window_line, x_clear_end_of_line)
1836 (x_scroll_bar_create, x_scroll_bar_set_handle)
1837 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1838 instead of XClearArea.
1839
1840 * xterm.h (x_clear_area): Add prototype.
1841
6613cfc4
GM
1842 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1843 which doesn't seem necessary anymore with Lesstif 0.92.
1844
650cc6cc
DL
18452001-01-25 Dave Love <fx@gnu.org>
1846
34ac3367
DL
1847 * puresize.h (BASE_PURESIZE): Up to 720000.
1848
650cc6cc
DL
1849 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1850
5e37dc22
GM
18512001-01-25 Gerd Moellmann <gerd@gnu.org>
1852
e1e441f9
GM
1853 * xdisp.c (echo_area_display): Don't call redisplay_internal
1854 when Emacs is shutting down. We can't run hooks etc. that
1855 would be necessary to do a redisplay.
1856
5e37dc22
GM
1857 * lread.c (read_integer): Use type EMACS_INT instead of int.
1858
0fb94c7f
EZ
18592001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1860
1861 * ccl.c (ccl_driver): Fix last change.
1862
e3778624
KH
18632001-01-25 Kenichi Handa <handa@etl.go.jp>
1864
1865 * ccl.h (sturct ccl_program): New member suppress_error.
1866
bb264518 1867 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1868 insert error message to the output.
1869 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1870
1871 * coding.h (struct coding_system): New member suppress_error.
1872
1873 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1874 (Fset_terminal_coding_system_internal): Set the member
1875 suppress_error to 1.
1876 (Fset_safe_terminal_coding_system_internal): Likewise.
1877
245ed2b1
SM
18782001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1879
1880 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1881 as if it was a `charset'.
1882
f9aaedb6
GM
18832001-01-24 Gerd Moellmann <gerd@gnu.org>
1884
1885 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1886 value in where_is_cache; the next lookup in the cache returns
1887 something bogus if we do.
1888
c3902c3e
EZ
18892001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1890
1891 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1892 if HAVE_WINDOW_SYSTEM isn't defined.
1893
3497f73e
GM
18942001-01-24 Gerd Moellmann <gerd@gnu.org>
1895
e7e41584
GM
1896 * fns.c (sweep_weak_table): Fix code taking items out of
1897 the hash collision chain. Some cleanup.
1898
3497f73e
GM
1899 * xterm.c (x_new_font): Don't change a tooltip's size.
1900
1901 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1902 background color by specifying a color for the default font
1903 in .Xdefaults.
1904
3d48e687
KH
19052001-01-24 Kenichi Handa <handa@etl.go.jp>
1906
96531b20
KH
1907 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1908 a workaround for SunOS 4's cc.
1909 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1910 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1911 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1912 statement.
3d48e687 1913
a30629d2
GM
19142001-01-23 Gerd Moellmann <gerd@gnu.org>
1915
1916 * xterm.c (x_set_window_size_1): New function extracted from
1917 x_set_window_size.
1918 (x_set_window_size): Use it.
1919 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1920 doesn't have a widget, like tooltips.
1921
5a43decf
EZ
19222001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1923
52283633 1924 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1925
b0e98867
KH
19262001-01-23 Kenichi Handa <handa@etl.go.jp>
1927
1928 * fns.c (Fset_char_table_default): Fix to make sub char-table
1929 correctly.
1930
50606b4c
GM
19312001-01-22 Gerd Moellmann <gerd@gnu.org>
1932
cb2ddc53 1933 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1934 a desired tool bar string, even if there are no tool bar items.
1935
57c28064
GM
1936 * xdisp.c (Ftool_bar_lines_needed): New function.
1937 (syms_of_xdisp): Defsubr it.
1938
50606b4c
GM
1939 * editfns.c (Fformat): Don't extend text properties from arguments
1940 to padding chars in the result.
1941
2f169c38
EZ
19422001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1943
1944 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1945
0f32f023
AI
19462001-01-20 Andrew Innes <andrewi@gnu.org>
1947
52283633 1948 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1949 (w32_initialize): Don't set term hooks that aren't actually needed
1950 in windowed mode.
1951
1952 * xfaces.c (realize_default_face):
1953 (realize_face):
1954 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1955
1956 * xdisp.c (handle_single_display_prop): Remove references to
1957 FRAME_W32_CONSOLE_P.
1958
52283633 1959 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1960
1961 * frame.h (output_method): Remove output_w32_console method.
1962 (FRAME_W32_CONSOLE_P): Remove macro.
1963
1964 * frame.c (Qw32_console): Remove variable.
1965 (Fframep): Remove references to it.
1966 (syms_of_frame): Ditto.
1967 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1968
1969 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1970 redefinition.
1971
7173eada
KH
19722001-01-20 Kenichi Handa <handa@etl.go.jp>
1973
1974 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1975
755b45ce
AI
19762001-01-19 Andrew Innes <andrewi@gnu.org>
1977
1978 * w32.c (init_environment): Add a version-independent site-lisp
1979 directory to EMACSLOADPATH, after the version dependent one.
1980
0a949811
GM
19812001-01-19 Gerd Moellmann <gerd@gnu.org>
1982
8501998a
GM
1983 * editfns.c (Fbuffer_substring): Doc fix.
1984
52283633
SM
1985 * xdisp.c (message_dolog, message2, message2_nolog):
1986 Rename parameter LEN to NBYTES.
0a949811 1987
e6ebcbbe
KH
19882001-01-19 Kenichi Handa <handa@etl.go.jp>
1989
200ecca2
KH
1990 * charset.c (strwidth): Use c_string_width.
1991 (c_string_width): New function.
1992 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1993 Caller changed.
1994
1995 * charset.h (c_string_width, lisp_string_width): Extern them.
1996
52283633 1997 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1998
e6ebcbbe
KH
1999 * indent.c (check_composition): Check validity of composition.
2000
200ecca2
KH
2001 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2002 characters by calling c_string_width.
2003 (x_consider_frame_title): Get byte length of frame tile string
2004 correctly.
2005 (display_mode_element): Pay attention to width of non-ASCII
2006 characters by calling strwidth.
2007
8692ca92
GM
20082001-01-18 Gerd Moellmann <gerd@gnu.org>
2009
8962e303
GM
2010 * xfns.c (Qcancel_timer): New variable.
2011 (syms_of_xfns): Initialize and staticpro it.
2012 (Fx_hide_tip, Fx_show_tip): Use it.
2013 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2014 the timer.
2015 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2016
91523be9
GM
2017 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2018
2019 * window.h (WINDOW_LIVE_P): New macro.
2020
b0b7ed0e
GM
2021 * window.c (window_size_fixed): New variable.
2022 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2023 the doc string.
2024
06bccf8e
GM
2025 * eval.c (specbind): If binding a per-buffer variable which
2026 doesn't have a buffer-local value in the current buffer, change
2027 the global value by changing the value of the symbol bound in all
2028 buffers not having their own value, to make it consistent with
2029 what happens with other buffer-local variables.
2030
8692ca92
GM
2031 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2032
2033 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2034 when searching for a newline.
2035
bb3a3b50
KH
20362001-01-18 Kenichi Handa <handa@etl.go.jp>
2037
2038 * xdisp.c (display_string): Fix previous change.
2039
c2cc16fa
JR
20402001-01-18 Jason Rumney <jasonr@gnu.org>
2041
2042 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2043 GLYPH_DEBUG is defined.
2044 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2045 true for images with `:ascent 100'.
2046 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2047 meantime, use face MOUSE_FACE_ID.
2048 If first glyph isn't a character glyph, use the ASCII NUL
2049 character to determine the face.
2050 (expose_area): Do not treat left margin specially.
2051 (note_mode_line_highlight): If no local_map, check global keymap.
2052 (note_mouse_highlight): Initialize overlay.
52283633 2053 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2054 (show_scroll_bars): Remove unused function.
2055 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2056 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2057 Clip to row.
52283633 2058 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2059 (x_free_frame_resources): Unload relief colors.
2060
9c11f79e
GM
20612001-01-17 Gerd Moellmann <gerd@gnu.org>
2062
3aec8722 2063 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2064 get_next_display_element when the newline is already found.
2065 This may change the iterator's position, when its current position is
3aec8722
GM
2066 equal to the iterator's stop_charpos.
2067
f3ffc2c3
GM
2068 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2069 zero, use this method only at the end of a line.
2070
52283633 2071 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2072 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2073 if SCALABLE_FONTS_P is set.
52283633 2074
d26d6fd9
GM
2075 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2076 so that scalable fonts are included.
2077
9c11f79e
GM
2078 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2079 In the cache, use a key containing the information if scalable
2080 fonts are included.
2081 (x_load_font): Adapt to change of keys in the font cache.
2082
20832001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2084
d26d6fd9
GM
2085 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2086 XListFonts to take advantage of font caching.
2087
9c11f79e
GM
2088 * xterm.c (x_list_fonts): Ensure caching font information when
2089 called for a null frame, which is the case frequently when Emacs
2090 starts.
2091
51446987
GM
20922001-01-17 Gerd Moellmann <gerd@gnu.org>
2093
f864120f
GM
2094 * xfns.c (QCconversion): Replaces QCalgorithm.
2095
2096 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2097
2098 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2099 of :algorithm.
52283633 2100
e37d1417
GM
2101 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2102 not everything could be displayed.
2103
51446987
GM
2104 * line.h, x-list-font.c: Files removed because unused.
2105
9ad4f3e5
AI
21062001-01-17 Andrew Innes <andrewi@gnu.org>
2107
2108 * dired.c (directory_files_internal): Convert result from readdir
2109 to a unibyte string initially, to avoid possible misinterpretation
2110 of some bytes as the internal form of Emacs characters.
2111
2eda09b5
KH
21122001-01-17 Kenichi Handa <handa@etl.go.jp>
2113
2114 * fns.c (concat): Be sure to avoid putting the same `composition'
2115 property on the adjacent regions.
2116
826f3788
GM
21172001-01-16 Gerd Moellmann <gerd@gnu.org>
2118
52283633 2119 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2120 (Fscroll_right, Fscroll_left): Set it here instead, if called
2121 interactively.
2122
d57b83b3
GM
2123 * buffer.c (Fset_buffer_modified_p): Set buffer's
2124 prevent_redisplay_optimizations_p flag.
2125
826f3788 2126 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2127 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2128 with additional arg.
2129
2130 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2131 Change prototype.
826f3788 2132
826f3788
GM
2133 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2134 FROM_WHERE, for debugging.
2135
261d788b
KH
21362001-01-16 Kenichi Handa <handa@etl.go.jp>
2137
2138 * ccl.c (Fregister_ccl_program): Handle the return value of
2139 resolve_symbol_ccl_program correctly.
52283633 2140 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2141
bccee4f2
GM
21422001-01-15 Gerd Moellmann <gerd@gnu.org>
2143
e4ded23c
GM
2144 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2145 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2146
2147 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2148 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2149 the display; we didn't open it.
2150
bccee4f2
GM
2151 * dispnew.c (save_or_restore_current_matrices): Function removed.
2152 (save_current_matrix, restore_current_matrix): New functions.
2153 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2154 restore the frame's current matrix. Due to the glyph pointer
2155 setup done in adjust_glyph_matrix, there is no easy way to make
2156 saving the current matrix in the desired matrix generally correct,
2157 so don't try it.
2158
ebeccffa
KH
21592001-01-15 Kenichi Handa <handa@etl.go.jp>
2160
2161 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2162 truncation glyphs.
2163 (display_line): Optimize for wide characters.
e4ded23c 2164 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2165 partially. On ttys, produce more than one truncation glyph for
2166 multi-column characters that don't fit on the line.
2167
64388126
KH
21682001-01-13 Kenichi Handa <handa@etl.go.jp>
2169
52283633
SM
2170 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2171 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2172
8edb0a6f
JR
21732001-01-13 Jason Rumney <jasonr@gnu.org>
2174
2175 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2176 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2177 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2178 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2179
52283633
SM
2180 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2181 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2182 (x_draw_image_glyph_string): Adapt to change of image margins.
2183
2184 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2185 variables.
2186
2187 * w32bdf.c (search_file_line, get_cached_font_char)
2188 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2189
2190 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2191
2192 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2193 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2194 (Fw32_send_sys_command): Remove unused variables.
2195 (w32_msg_pump): Add parentheses.
2196
2197 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2198 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2199 Add parentheses.
2200
4956d1ef
GM
22012001-01-12 Gerd Moellmann <gerd@gnu.org>
2202
b30623be
GM
2203 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2204 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2205 being a pair of margins.
2206 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2207 to DEFVAR_LISP. Extend doc.
2208
2209 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2210 margins.
2211 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2212 pair of integers `(X . Y)', use X for the horizontal and Y for the
2213 vertical margin.
2214 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2215 (parse_image_spec): Check it.
52283633
SM
2216 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2217 (tiff_format, gif_format, gs_format):
2218 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2219
52283633
SM
2220 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2221 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2222 (x_draw_image_glyph_string): Adapt to the change of image margins.
2223
2224 * dispextern.h (struct image): Replace member `margin' with
2225 `hmargin' and `vmargin'.
2226
4554cc79
GM
2227 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2228 and GLYPHS.
2229
2230 * dispnew.c (update_text_area): Put code which decrements the
2231 stop position when the row's face extends to the end of the
3bffc665 2232 line in #if 0.
4554cc79 2233
3cccce8d
GM
2234 * xfns.c (x_set_mouse_color): Fix color allocation.
2235
4956d1ef
GM
2236 * keyboard.c: Call get_local_map with new argument list.
2237
2238 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2239
2240 * intervals.h (enum map_property): Removed.
2241 (get_local_map): Change prototype.
2242
2243 * keymap.c: Call get_local_map with new argument list.
2244 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2245
2c2ff7f2
GM
22462001-01-11 Gerd Moellmann <gerd@gnu.org>
2247
a23887b9
GM
2248 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2249 of the size needed for the tool bar string. For the last image,
2250 use a `display' property that reaches to the end of the string.
2251
a7ee2d2e
GM
2252 * xselect.c (selection_request_dpyinfo): New variable.
2253 (x_handle_selection_request): Set it.
2254 (x_selection_request_lisp_error): Don't call
2255 x_decline_selection_request if selection request's display has
2256 been closed.
2257
52283633
SM
2258 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2259 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2260
457b792c
GM
22612001-01-10 Dave Love <fx@gnu.org>
2262
2263 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2264 ${SOME_MACHINE_LISP}, not ${lisp}.
2265
c1efd260
GM
22662001-01-10 Gerd Moellmann <gerd@gnu.org>
2267
52283633
SM
2268 * xdisp.c (display_line): On ttys, produce more than one truncation
2269 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2270
ac95a621
GM
2271 * xselect.c (x_reply_selection_request): Add a comment.
2272
c1efd260
GM
2273 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2274 XkbGetNames instead of XkbGetKeyboard.
2275
1bfb1345
DL
22762001-01-10 Dave Love <fx@gnu.org>
2277
2278 * sysdep.c (random): Revert the declaration.
2279
38119822
GM
22802001-01-09 Gerd Moellmann <gerd@gnu.org>
2281
52283633
SM
2282 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2283 Call function string_bytes.
35f464a7
GM
2284 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2285
2286 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2287 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2288 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2289 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2290 the current sblock.
2291 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2292 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2293 after sweeping strings, and at the end.
2294 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2295
38119822
GM
2296 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2297 ensure that pop_message is called.
2298
2299 * keyboard.c (Fexecute_extended_command): Use a
2300 record_unwind_protect to ensure that pop_message is called.
2301
2302 * lisp.h (push_message_unwind): Add prototype.
2303
2304 * xdisp.c (push_message_unwind): New function.
2305
2306 * fileio.c (do_auto_save_unwind): Do the pop_message here
2307 instead of in Fdo_auto_save.
2308 (Fdo_auto_save): Don't call pop_message.
2309
f47a9ec4
KR
23102001-01-08 Ken Raeburn <raeburn@gnu.org>
2311
2312 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2313 in inner block.
2314
a758f97d
GM
23152001-01-08 Gerd Moellmann <gerd@gnu.org>
2316
6d0afc03
GM
2317 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2318 when increasing window's vscroll.
2319
a758f97d
GM
2320 * macros.c (Qkbd_macro_termination_hook): New variable.
2321 (syms_of_macros): Initialize and staticpro it.
2322 (pop_kbd_macro): Run kbd-macro-termination-hook.
2323
2324 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2325
1bfb1345 23262001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2327
2328 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2329 arglist, for documentation's sake.
2330
0dac6924
AI
23312001-01-06 Andrew Innes <andrewi@gnu.org>
2332
2333 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2334 of *.pdb.
2335
8182406a
AI
23362001-01-05 Andrew Innes <andrewi@gnu.org>
2337
2338 * term.c (update_end): Don't check updating_frame; for some reason
2339 this can be 0 sometimes, such as after dismissing a popup menu,
2340 and isn't necessary given the explicit frame argument.
2341
3828218c
GM
23422001-01-05 Gerd Moellmann <gerd@gnu.org>
2343
2344 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2345 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2346
2f5ded21
GM
23472001-01-04 Gerd Moellmann <gerd@gnu.org>
2348
52283633 2349 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2350
2351 * xfns.c (x_create_tip_frame): Preserve the value of
2352 face_change_count around the creation of the tip frame.
52283633 2353
2f5ded21
GM
2354 * xfns.c (last_show_tip_args): New variable.
2355 (compute_tip_xy): New function.
2356 (Fx_show_tip): Reuse an existing tip frame, if possible.
2357 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2358
dfad65fa
DL
23592001-01-04 Dave Love <fx@gnu.org>
2360
64d4ec0f
DL
2361 * editfns.c (Fformat): Doc fix.
2362
dfad65fa
DL
2363 * systime.h (set_file_times): Prototype.
2364
2365 * widget.h (EmacsFrameSetCharSize_): Prototype.
2366
2367 * sysdep.c (random, srandom): Declare explicitly.
2368
2369 * dispextern.h (move_it_vertically_backward): Declare.
2370
85fe3b5e
GM
23712001-01-04 Gerd Moellmann <gerd@gnu.org>
2372
0f2ac578
GM
2373 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2374 like in Fx_create_frame.
2375
482cca61
GM
2376 * xfaces.c (set_font_frame_param): Don't do anything for
2377 non-graphical frames.
2378
85fe3b5e
GM
2379 * window.c (Fdelete_other_windows): Set window's window_end_valid
2380 to nil when changing the window's start. Don't change the
2381 window's start when its top position hasn't changed. If we do,
2382 this will set the window's optional_new_start, which act's like a
2383 force_start during redisplay with C-x 1 M-> under particular
2384 circumstances (see report from Per Starback to emacs-pretest-bug
2385 from 2000-12-13.).
2386
3e99d3b4
GM
23872001-01-03 Gerd Moellmann <gerd@gnu.org>
2388
a77dc1ec
GM
2389 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2390 short cut at the start of the function. Add an assertion.
2391 (reseat_at_next_visible_line_start): Add an assertion.
2392
2f3cad6c
GM
2393 * window.c (Frecenter): When changing the window start, set the
2394 window's window_end_valid to nil.
2395 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2396
2397 * dispextern.h (move_it_past_eol): Add prototype.
2398
2399 * xdisp.c (move_it_past_eol): New function.
2400
3e99d3b4
GM
2401 * window.c (Fwindow_end): Doc fix.
2402
24032001-01-03 Dave Love <fx@gnu.org>
2404
52283633 2405 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2406
bafb434c
GM
24072001-01-03 Gerd Moellmann <gerd@gnu.org>
2408
2409 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2410 the enabled_p flag of the glyph row at window_end_vpos to 0.
2411 (handle_single_display_prop): Fix last change.
2412
5297fb00
RS
24132001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2414
2415 * window.c (Frecenter): Doc fix.
2416
13d6a61c
AI
24172001-01-02 Andrew Innes <andrewi@gnu.org>
2418
2419 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2420
2421 * frame.h (output_method): Add output_w32_console method.
2422 (FRAME_W32_CONSOLE_P): New macro.
2423
2424 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2425 use output_w32_console method.
2426 (Qw32_console): New Lisp_Object.
2427 (Fframep): Return it.
2428 (syms_of_frame): Init it.
52283633 2429 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2430
2431 * xfaces.c (realize_default_face): Set face foreground and
2432 background to unspecified for w32_console frames.
2433 (realize_face): Realize face cache for w32_console frames.
2434 (realize_tty_face): Accept w32_console frames.
2435
52283633 2436 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2437 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2438 necessary, even if running interactively.
2439
2440 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2441 w32_console frames.
2442
52283633
SM
2443 * w32term.c (x_update_begin):
2444 (x_update_end):
2445 (x_clear_frame):
2446 (x_ins_del_lines):
2447 (x_change_line_highlight):
2448 (x_delete_glyphs):
2449 (w32_ring_bell):
2450 (x_update_begin):
2451 (x_update_end):
2452 (w32_reassert_line_highlight):
2453 (w32_frame_rehighlight):
13d6a61c
AI
2454 (w32_frame_raise_lower): Do nothing if not w32 frame.
2455
2456 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2457
2458 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2459 system doesn't tell us directly.
2460 (Fx_display_visual_class): Implement properly.
2461
d6bb0c0d
GM
24622001-01-02 Gerd Moellmann <gerd@gnu.org>
2463
2464 * window.c (Frecenter): Handle centering in graphical frames
2465 specially. Centering on the basis of line counts doesn't work
2466 reliably with variable-height lines.
52283633 2467
315f5865
EZ
24682001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2469
2470 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2471 and al[].
2472
52283633 2473 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2474 (update_compositions): Remove unused variable `hook'.
2475
2476 * intervals.c (get_local_map): Remove unused variable `tem'.
2477
2478 * doprnt.c (doprnt1): Remove unused variable `size'.
2479
2480 * fns.c (Flength): Remove unused variable `tail'.
2481 (Fdelete): Remove unused variable `size'.
2482
2483 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2484 and `gcpro2'.
2485
52283633 2486 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2487
2488 * data.c (find_symbol_value): Remove extra 3rd argument in the
2489 call to swap_in_symval_forwarding.
2490
52283633 2491 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2492
2493 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2494 (trivial_regexp_p): Remove unused variable `c'.
2495 (boyer_moore): Remove unused variable `k'.
2496
2497 * indent.c (current_column): Remove unused variable `stopchar'.
2498 (Fcompute_motion): Remove unused variable `contin'.
2499
2500 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2501
2502 * dired.c (directory_files_internal): Fix a typo in a comment.
2503 Remove an unused variable `handler'.
52283633 2504 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2505 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2506 on BSD4_2.
2507
52283633 2508 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2509
2510 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2511 and `buf'.
2512 (Fmarker_insertion_type): Remove unused variable `buf'.
2513
2514 * insdel.c (make_gap): Remove unused variable `result'.
2515
52283633 2516 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2517 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2518 (menu_bar_items): Remove unused function-scope variable `tem'.
2519
2520 * fontset.c (fontset_ref): Remove unused variable `i'.
2521 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2522 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2523 (make_fontset_for_ascii_face): Remove unused variable `name'.
2524 (fs_load_font): Remove unused variable `font_idx'.
52283633 2525 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2526 (list_fontsets): Remove unused variable `tail'.
2527 (Fnew_fontset): Remove unused variables `family' and `registry'.
2528 (accumulate_font_info): Remove unused variable `tmp'.
2529 (Ffontset_font): Remove unused variable `id'.
2530 (syms_of_fontset): Remove unused variable `i'.
2531
2532 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2533 to x_term_init.
2534 (lookup_image): Remove unused variable `file'.
2535 (xbm_load): Remove unused variables `bitmap_data', `height', and
2536 `width'. Remove function-local variable `i', leave the
2537 block-local one.
2538 (gif_load): Remove unused variable `inc'.
2539
52283633 2540 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2541 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2542 leave only the one in the inner block.
2543
2544 * xfaces.c (face_fontset, realize_default_face): Remove unused
2545 variable `fontset'.
2546 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2547
2548 * term.c (encode_terminal_code): Remove unused variable `c'.
2549
2550 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2551 char *' instead of `char *'.
2552
2553 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2554 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2555 (Fchar_category_set): Remove unused variables `val', `charset',
2556 `c1' and `c2'.
2557
52283633
SM
2558 * coding.c (detect_coding_iso2022, setup_coding_system):
2559 Remove unused variable `i'.
315f5865
EZ
2560 (detect_coding_mask): Remove unused variable `idx'.
2561 (detect_coding): Remove unused variable `i'.
2562 (ccl_coding_driver): Remove unused variable `result'.
2563 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2564 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2565 (encode_coding_string): Remove unused variables `gcpro1' and
2566 `saved_coding_symbol'.
2567 (Ffind_coding_systems_region_internal): Remove function-local
2568 variable args[], leave only the block-local one.
2569 (code_convert_region1): Remove unused variable `len'.
2570
2571 * charset.c (char_printable_p): Remove unused variable `chars'.
2572 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2573 (str_to_multibyte): Remove unused variable `c'.
2574
2575 * window.c (size_window): Remove block-local variable `min_size'.
2576
2577 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2578 `header_line_height'.
2579 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2580 enum display_element_type.
2581
1a8a9daf
GM
25822001-01-02 Gerd Moellmann <gerd@gnu.org>
2583
6dde6abc 2584 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2585 statements that call X. Save away the error message in a local copy.
2586
1883b2c6
GM
2587 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2588 the start.
2589
a13be207
GM
2590 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2591 in or at the start of invisible text.
2592
1a8a9daf
GM
2593 * dispnew.c (update_window): Don't check_current_matrix_flags.
2594
3608c0f9
JR
25952001-01-01 Jason Rumney <jasonr@gnu.org>
2596
2597 * w32fns.c (x_figure_window_size): Do not allow new_height and
2598 new_width of frame to override specified values.
2599
abb1acc4
KH
26002000-12-30 Kenichi Handa <handa@etl.go.jp>
2601
52283633 2602 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2603
762a68ec
GM
26042000-12-29 Gerd Moellmann <gerd@gnu.org>
2605
52283633 2606 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2607 (update_window) [GLYPH_DEBUG]: Call it.
2608 (scrolling_window): Prevent including current rows which are below
2609 what's displayed in the window.
2610
2611 * xdisp.c (try_window_reusing_current_matrix)
2612 <new start <= old start>: Disable rows in the current matrix
2613 which are below the window after scrolling.
52283633 2614
762a68ec
GM
2615 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2616 is zero. It's not worth the complexity.
2617 (invisible_text_between_p): Put in #if 0 because unused.
2618
2d5912c1
GM
26192000-12-28 Gerd Moellmann <gerd@gnu.org>
2620
46f6a258
GM
2621 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2622 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2623
89f93679
GM
2624 * keyboard.c (echo_char): If C is an integer, always call
2625 push_key_description. Former code could signal an invalid
2626 character error.
2627
2628 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2629 If set, print multibyte text.
2630 (Fsingle_key_description): Call push_key_description with
2631 FORCE_MULTIBYTE set.
2632 (describe_buffer_bindings): Likewise.
2633
2634 * lisp.h (push_key_description): Add prototype.
2635
c06017fb
GM
2636 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2637 around the call to redisplay_internal.
2638
f1d2ce7f
GM
2639 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2640
2d5912c1
GM
2641 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2642
9371f831
KH
26432000-12-28 Kenichi Handa <handa@etl.go.jp>
2644
2645 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2646 (ccl_driver): New local variable `extra_bytes'.
2647
2648 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2649
52283633
SM
2650 * coding.c (setup_coding_system):
2651 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2652 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2653
0c80628a
KH
26542000-12-28 Kenichi Handa <handa@etl.go.jp>
2655
2656 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2657 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2658 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2659 (decode_composition_emacs_mule): New function.
2660 (decode_coding_emacs_mule): Decode composition sequence by calling
2661 decode_composition_emacs_mule.
2662 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2663 (encode_coding_emacs_mule): Changed from macro to function.
2664 If a text contains compositions, encode them correctly.
0c80628a
KH
2665 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2666 that decoding and encoding are required.
2667
3e32cc27
GM
26682000-12-27 Gerd Moellmann <gerd@gnu.org>
2669
5e25feee
GM
2670 * xfaces.c (PT_PER_INCH): New macro.
2671 (xlfd_point_size): Compute real point size from font's pixel size.
2672 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2673 instead of 72.
2674
892d8fcd
GM
2675 * .gdbinit: Comment out the line pointing to the Lesstif source
2676 directory.
2677
12c8b416
GM
2678 * window.c (Frecenter): Use displayed_window_lines instead
2679 of window_internal_height.
2680
6061fbf0
GM
2681 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2682 instead of x-toolkit-scroll-bars-p.
2683 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2684
2685 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2686 instead of x-toolkit-scroll-bars-p.
2687 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2688
3e32cc27
GM
2689 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2690 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2691 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2692 New variables.
2693 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2694 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2695 (build_frame_matrix_from_leaf_window): Remove unused code.
2696 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2697 redisplay history.
2698 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2699 (update_window) [GLYPH_DEBUG]: Likewise.
2700 (syms_of_display): Defsubr dump-redisplay-history.
2701
31798cfe
GM
27022000-12-23 Gerd Moellmann <gerd@gnu.org>
2703
f717c2ba
GM
2704 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2705 the end of the prompt. Set echo_after_prompt to the offset
2706 of echoptr in echobuf.
2707
aeb2b8fc
GM
2708 * xdisp.c (init_from_display_pos): Pop until the iterator's
2709 stack is empty; there may be frames for stretch or images
2710 on the stack.
2711
31798cfe
GM
2712 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2713 (save_or_restore_current_matrix): New function for the same
2714 purpose, but more efficient.
2715 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2716
f8156156
EZ
27172000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2718
2719 * xdisp.c (syms_of_xdisp): Fix last change.
2720
bdd6d4e8
GM
27212000-12-23 Gerd Moellmann <gerd@gnu.org>
2722
2723 * xdisp.c (syms_of_xdisp): Doc fix.
2724
2725 * xdisp.c (redisplay_window): Remove label restore_buffers;
2726 use finish_scroll_bars instead to make sure that scroll bars
2727 are redeemed. If we don't do this, flickering can result from
2728 scroll bars being destroyed and recreated.
2729
9436cdf9
JR
27302000-12-22 Jason Rumney <jasonr@gnu.org>
2731
2732 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2733 in the wrong colors when the foreground is not black.
2734 (expose_window): Don't redraw the window that's currently being
2735 updated.
2736
951f9df5
GM
27372000-12-22 Gerd Moellmann <gerd@gnu.org>
2738
856ff7a7
GM
2739 * window.c (size_window): When setting the window's too_small_ok
2740 flag, compare old size with minimum size depending on WIDTH_P,
2741 don't compare with window_min_width.
52283633 2742
951f9df5
GM
2743 * window.c (delete_window): Simplify somewhat.
2744 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2745 freeing window matrices. The flag windows_or_buffers_changed is
2746 set, so the next redisplay will consider all windows; this should
2747 suffice.
2748
886bc933
KH
27492000-12-22 Kenichi Handa <handa@etl.go.jp>
2750
2751 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2752
2753 * ccl.h (struct ccl_program): New member cr_consumed.
2754
2755 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2756 (CCL_READ_CHAR): Handle EOL conversion here.
2757 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2758
177f4e88
GM
27592000-12-21 Gerd Moellmann <gerd@gnu.org>
2760
52283633 2761 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2762
2763 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2764 otherwise tabs of different size compare equal.
2765
2766 * callint.c (Fcall_interactively): Prevent a compiler warning.
2767
2768 * print.c (print_unwind): Return nil.
2769 (PRINTDECLARE): Initialize all local variables.
2770 (print_preprocess): Add a default case.
2771
8e15274f
GM
2772 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2773
2774 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2775
52283633 2776 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2777 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2778
2779 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2780
2781 * dispnew.c (ensure_frame_matrix): Removed.
2782 (save_frame_matrix, restore_frame_matrix): New functions.
2783 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2784
2785 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2786 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2787
99012074
AI
27882000-12-21 Andrew Innes <andrewi@gnu.org>
2789
2790 * w32term.c (x_update_begin): Regenerate the palette here, rather
2791 than for each window.
2792
2793 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2794 palette is NULL, since this corrupts memory! Also get
2795 display_info reference from frame.
2796
29ef7d2d
JR
27972000-12-21 Jason Rumney <jasonr@gnu.org>
2798
2799 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2800
2801 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2802 to avoid returning without releasing it.
3e27fa1f 2803
3f9d67a6
KH
28042000-12-21 Kenichi Handa <handa@etl.go.jp>
2805
587fc3f9
KH
2806 * keymap.c (push_key_description): Don't convert eight-bit-control
2807 and eight-bit-graphic to multibyte character.
2808
3f9d67a6
KH
2809 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2810 generic character and CODE1 is nil, return the smallest character
2811 in CHARSET.
2812
774ba8c9
DL
28132000-12-20 Dave Love <fx@gnu.org>
2814
2815 * s/osf5-0.h (NSIG): Don't redefine.
2816
88416888
SM
28172000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2818
2819 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2820 excluding menu-bar and tool-bar.
2821 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2822 (menu_item_p): Remove.
2823 (where_is_internal_1): Don't ignore menu-items.
2824
a6426c6f
GM
28252000-12-20 Gerd Moellmann <gerd@gnu.org>
2826
03ff8aab
GM
2827 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2828 into account.
2829
2830 * window.c (make_window): Initialize window's min_hscroll.
2831 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2832 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2833 to zero.
2834 (struct saved_window): New member min_hscroll.
2835 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2836 (Fset_window_configuration): Set window's min_hscroll.
2837 (save_window_save): Save window's min_hscroll.
2838 (compare_window_configurations): Compare min_hscroll values.
2839
2840 * window.h (struct window): New member min_hscroll.
2841
2842 * keyboard.c (echo_prompt): Prevent a compiler warning.
2843
8de4aaf8
GM
2844 * xdisp.c (try_cursor_movement): Fix last change. The real
2845 condition is that PT is at the end of the row, and should
2846 be displayed at the start of the next row.
52283633 2847
3f7e3031
GM
2848 * xdisp.c (try_cursor_movement): If we end on a partially
2849 visible line, end we already decided to scroll, return -1.
2850
a6426c6f
GM
2851 * dispextern.h (ensure_frame_matrix): Add prototype.
2852
2853 * window.c (delete_window, Fsplit_window)
2854 (Fset_window_configuration): Call ensure_frame_matrix.
2855
52283633
SM
2856 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2857 New functions.
a6426c6f
GM
2858 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2859 completed, call fake_current_matrices instead of marking frame
2860 garbaged.
2861
57fa2774
JR
28622000-12-20 Jason Rumney <jasonr@gnu.org>
2863
2864 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2865
d925df90
EZ
28662000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2867
2868 * fns.c (Frequire): Doc fix.
2869
7b93a85b
GM
28702000-12-19 Gerd Moellmann <gerd@gnu.org>
2871
52283633 2872 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2873
c74e645b
GM
2874 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2875 currently displaying a message.
2876
7b93a85b
GM
2877 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2878 xterm.h.
2879 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2880
90d97e64
AI
28812000-12-18 Andrew Innes <andrewi@gnu.org>
2882
2883 * w32.c (w32_strerror): New function.
2884
2885 * w32.h (w32_strerror): New extern.
2886
2887 * w32fns.c (Fw32_shell_execute): Use it.
2888
91c9e6ce
GM
28892000-12-18 Gerd Moellmann <gerd@gnu.org>
2890
2891 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2892
6f4745e2
EZ
28932000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2894
2895 * msdos.c (IT_set_face): Obey inverse_video.
2896
c9e088ce
KH
28972000-12-18 Kenichi Handa <handa@etl.go.jp>
2898
2899 * dired.c (directory_files_internal): Always return decoded filenames.
2900
c3695f5f
GM
29012000-12-18 Gerd Moellmann <gerd@gnu.org>
2902
52d8e4ff
GM
2903 * xterm.c (x_connection_closed): Prevent being called recursively
2904 because of an error condition in XtCloseDisplay.
52283633 2905
62be9979
GM
2906 * xdisp.c (init_iterator): If noninteractive, and the frame's
2907 face cache is null, make one.
2908
52283633 2909 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2910
c3695f5f
GM
2911 * process.c (wait_reading_process_input): Check for pending
2912 input when running timers.
2913
78555fbe
EZ
29142000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2915
52283633 2916 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2917
b2b36264
KH
29182000-12-18 Kenichi Handa <handa@etl.go.jp>
2919
2920 * process.c (read_process_output): Don't run a filter if the code
2921 decoder produces nothing but carryover.
2922
9c543fbf
AI
29232000-12-17 Andrew Innes <andrewi@gnu.org>
2924
2925 * w32.c (sys_rename): Only check errno against EEXIST, and not
2926 EACCES, when determining whether rename failed because the target
2927 exists. This was resulting in indefinite looping on Windows 9x if
2928 the source file was locked by another process.
2929
2930 * w32fns.c (Ffile_system_info): New function.
2931 (syms_of_w32fns): Defsubr it.
2932
10c2b5a8
GM
29332000-12-17 Gerd Moellmann <gerd@gnu.org>
2934
b0228ace
GM
2935 * window.c (coordinates_in_window): Fix computation for
2936 position on vertical line between mode lines.
2937
10c2b5a8
GM
2938 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2939 Don't alter tip_frame or tip_window.
2940 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2941 was deleted.
2942
c844a81a
GM
2943 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2944 Don't alter tip_frame or tip_window.
2945 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2946 was deleted.
2947
6c825f8e
EZ
29482000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2949
2950 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2951 be consistent with the doc string. Reported by NAKAJIMA Mikio
2952 <minakaji@osaka.email.ne.jp>.
2953
af4bb4c8
KH
29542000-12-16 Kenichi Handa <handa@etl.go.jp>
2955
2956 * xfaces.c (Vface_ignored_fonts): New variable.
2957 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2958 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2959
8062e53a
GM
29602000-12-15 Gerd Moellmann <gerd@gnu.org>
2961
e87b8809
GM
2962 * dispnew.c (update_window): Detect pending input every nth line
2963 updated, i.e. do it depending on real work done, and not on the
2964 vpos of the line.
2965
2966 * xterm.c (expose_window): Don't redraw the window that's
2967 currently being updated.
2968
a6768cc5
GM
2969 * window.c (Fset_window_point): Remove test for
2970 cursor_in_non_selected_windows.
2971
4ea7fdca
GM
2972 * lread.c (read1): Recognize end of file after `\\'.
2973
8062e53a
GM
2974 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2975 not unwind_create_frame.
2976
bb7959c1
GM
29772000-12-15 Dave Love <fx@gnu.org>
2978
2979 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2980 bcopy & al.
2981
2982 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2983
ced04c42
KH
29842000-12-15 Kenichi Handa <handa@etl.go.jp>
2985
c5443913
KH
2986 * coding.c (setup_coding_system): Clear all members of the struct
2987 coding_system at first.
bc137305
KH
2988 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2989 argument.
2990 (code_convert_region): Don't override coding->src_multibyte and
2991 coding->dst_multibyte.
c5443913 2992
ced04c42
KH
2993 * fns.c (Fmd5): Docstring improved.
2994
c2d7f289
MB
29952000-12-15 Miles Bader <miles@gnu.org>
2996
2997 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2998 are actually marked as mode-lines; otherwise use
2999 estimate_mode_line_height.
3000
9d7d9263
GM
30012000-12-14 Gerd Moellmann <gerd@gnu.org>
3002
3003 * editfns.c (Fformat): Prevent a buffer overrun when the format
3004 specifies a precision.
3005
7cf0153a
EZ
30062000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3007
3008 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3009 argument is outside the range [2..3].
3010
1de0f662
AI
30112000-12-14 Andrew Innes <andrewi@gnu.org>
3012
3013 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3014 nothing to do. Bind inhibit-quit.
3015 (tip_frame): Make it a Lisp_Object.
3016 (x_create_tip_frame): Set tip_frame after it has been added to
3017 Vframe_list.
3018 (Fx_show_tip): Don't set tip_frame here.
52283633 3019 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3020 (unwind_create_frame, unwind_create_tip_frame): New functions.
3021 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3022 while a frame is only partially constructed.
3023
3024 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3025 (x_free_frame_resources): New function.
3026 (x_destroy_window): Use it.
3027
02387dcc
GM
30282000-12-14 Gerd Moellmann <gerd@gnu.org>
3029
3030 * xfns.c (Fx_backspace_delete_keys_p): New function.
3031 (syms_of_xfns): Defsubr it.
3032
3033 * config.in (HAVE_XKBGETKEYBOARD): Add.
3034
0544ef49
KH
30352000-12-14 Kenichi Handa <handa@etl.go.jp>
3036
98d62747
KH
3037 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3038 Always store string in multibyte representation in echobuf.
3039 (echo_char): Always store string in multibyte representation in
3040 echobuf.
3041 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3042 (read_key_sequence): Adjusted for the change of echo_prompt.
3043
a20193cd
KH
3044 * fns.c (Fmd5): Docstring improved.
3045
191b83b6
KH
3046 * lisp.h (detect_coding_system): Prototype adjusted.
3047
0544ef49
KH
3048 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3049 (detect_coding_emacs_mule, detect_coding_iso2022,)
3050 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3051 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3052 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3053 (detect_coding_mask, detect_coding_system): New argument
3054 MULTIBYTEP. Callers changed.
1da1bb05
KH
3055 (decode_coding_string): Set coding->src_multibyte and
3056 coding->dst_multibyte before calling detect_coding and detect_eol.
3057 Update them after some coding system is detected.
52283633 3058
d5b3eb1b
SM
30592000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3060
3061 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3062
3063 * keyboard.c (menu_bar_items, tool_bar_items):
3064 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3065
f7f8bb69
GM
30662000-12-13 Gerd Moellmann <gerd@gnu.org>
3067
52283633 3068 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3069 New variables.
3070 (unwind_create_frame, unwind_create_tip_frame): New functions.
3071 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3072 while a frame is only partially constructed.
3073
3074 * xterm.h (x_free_frame_resources): Declare.
3075
3076 * xterm.c (x_free_frame_resources): New function.
3077 (x_destroy_window): Use it.
3078
e10da507
GM
3079 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3080 don't interrupt the update for pending input initially, i.e.
3081 update at least some lines.
3082
3083 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3084
d5b3eb1b 3085 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3086
3087 * xfns.c (gray_bitmap_bits): Declare `char *'.
3088
90aa2856
GM
30892000-12-12 Gerd Moellmann <gerd@gnu.org>
3090
3091 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3092 lines start with a relief line.
3093
a308c9cd
DL
30942000-12-12 Dave Love <fx@gnu.org>
3095
3096 * window.c (Fdisplay_buffer): Doc fix.
3097 (Fwindow_list): Remove unused var.
3098
3099 * buffer.h (mmap_set_vars): Declare.
3100
3101 * window.h (Fset_window_point): Declare.
3102
d575011f
EZ
31032000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3104
bf6282d2 3105 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3106 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3107 variable `area'. When looking for a row under (X,Y), give up if some
3108 of the previous rows is not enabled.
d575011f 3109
ecf4d726
GM
31102000-12-12 Gerd Moellmann <gerd@gnu.org>
3111
2ebf6139
GM
3112 * window.c (Fset_window_point): If displaying cursors in windows
3113 other than the selected window, make sure redisplay updates
3114 other windows to show the new value of point in the window.
3115
3116 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3117
bfdb75ee
GM
3118 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3119 the buffer is the sole visible buffer when in the mini-buffer.
3120
52283633 3121 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3122 Bind `inhibit-read-only' to t.
3123 (unwind_with_echo_area_buffer): Use AREF.
3124
c0006262
GM
3125 * xfns.c (Fx_hide_tip): Simplified.
3126
52283633
SM
3127 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3128 instead of `1'.
e9a59cad 3129
ecf4d726
GM
3130 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3131
e5959a9a
GM
31322000-12-11 Gerd Moellmann <gerd@gnu.org>
3133
a3642e49 3134 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3135
44b5a125
GM
3136 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3137 nothing to do. Bind inhibit-quit.
3138 (tip_frame): Make it a Lisp_Object.
3139 (x_create_tip_frame): Set tip_frame after it has been added to
3140 Vframe_list.
3141 (Fx_show_tip): Don't set tip_frame here.
3142
3143 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3144
3145 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3146 Lisp_Object.
3147
3148 * dispextern.h: Change external declaration of tip_frame.
3149
d990421f
GM
3150 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3151 return an empty string.
3152
4db87380
GM
3153 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3154 of the window's update_mode_line flag, since the former is set by
3155 force-mode-line-update, not the latter. This makes
3156 column-number-mode slightly faster.
52283633 3157
e5959a9a
GM
3158 * xdisp.c (try_window_id) <all changes above window start>:
3159 Set the cursor.
3160
169fe44e
GM
31612000-12-11 Paul Eggert <eggert@twinsun.com>
3162
3163 * config.in (HAVE_FTELLO): Remove.
3164 (HAVE_FSEEKO): Add.
3165 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3166 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3167 HAVE_FTELLO.
3168 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3169 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3170
59ec59ae
MB
31712000-12-11 Miles Bader <miles@gnu.org>
3172
3173 * window.c (displayed_window_lines): Don't round up when
3174 converting empty space at bottom to lines.
ff904dd6
MB
3175 Handle non-newline-terminated final lines properly.
3176 (Fwindow_text_height): New function (used to be in lisp).
3177 (syms_of_window): Initialize it.
59ec59ae 3178
42ebfa31
SM
31792000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3180
3181 * syntax.c (scan_lists): Check that the right quote char has the
3182 right Sstring syntax when jumping over strings.
3183 (init_syntax_once): Use Smax rather than 13.
3184
5cdb3cf3
MB
31852000-12-09 Miles Bader <miles@gnu.org>
3186
3187 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3188 with PARTIALLY, inverting the sense.
3189 (window_scroll_pixel_based): Scroll partially visible lines into
3190 place if we hit the beginning or end of the buffer.
a12167c5
MB
3191 (displayed_window_lines): Don't include partially visible lines.
3192 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3193
842b2a94
GM
31942000-12-08 Gerd Moellmann <gerd@gnu.org>
3195
3196 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3197
3198 * tparam.c (tparam1): Change the way buffers are reallocated to be
3199 portable and less obfuscated.
3200
3201 * termcap.c (tgetent): Change the way buffers are reallocated to
3202 be portable and less obfuscated.
3203
3204 * macros.c (store_kbd_macro_char): Change the way buffers are
3205 reallocated to be portable and less obfuscated.
3206
3207 * lread.c (read1): Change the way buffers are reallocated to be
3208 portable and less obfuscated.
3209
3210 * doc.c (Fsubstitute_command_keys): Change the way buffers
3211 are reallocated so that it is portable.
3212
137cad7c
EZ
32132000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3214
3215 * dosfns.c (Ffile_system_info): New function.
3216 (syms_of_dosfns): Defsubr it.
3217
5c7f629c
SM
32182000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3219
3220 * alloc.c (gc_sweep): Add comment.
3221
959e647d
GM
32222000-12-07 Gerd Moellmann <gerd@gnu.org>
3223
52283633
SM
3224 * sound.c (vox_configure): Change order of ioctls.
3225 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3226 Ignore errors when changing volume.
3227 (vox_close): Don't reset the device.
3228
926b7e5e
GM
3229 * process.c (read_process_output): Make sure the process marker's
3230 position is valid when the process buffer is changed in
3231 after-change functions. W3 does that.
52283633 3232
959e647d
GM
3233 * xfns.c (x_free_gcs): New function.
3234
3235 * xterm.h (x_free_gcs): Add prototype.
3236
3237 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3238 freeing GCs here.
3239
3240 * xterm.c (x_destroy_window): Call x_free_gcs so that
3241 resources of non-toolkit X windows will be freed.
3242
478ea067
AI
32432000-12-07 Andrew Innes <andrewi@gnu.org>
3244
3245 * w32fns.c (xlfd_charset_of_font): Fix last change.
3246
fbee3231
DL
32472000-12-06 Dave Love <fx@gnu.org>
3248
67292061
DL
3249 * md5.h (__P): Don't define -- it comes from config.h.
3250
fbee3231
DL
3251 * strftime.c: Change some #if foo to #ifdef foo.
3252
4ee87dbb
AI
32532000-12-06 Andrew Innes <andrewi@gnu.org>
3254
3255 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3256
52283633 3257 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3258 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3259 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3260
9765b4a4
GM
32612000-12-06 Gerd Moellmann <gerd@gnu.org>
3262
d285b373
GM
3263 * alloc.c (gc_sweep): Prevent symbols read during loadup
3264 from being freed.
3265
384333ee
GM
3266 * xdisp.c (underlying_face_id): New function.
3267 (handle_face_prop, face_before_or_after_it_pos): Use it
3268 to determine the face ``under'' a string. Let strings inherit
3269 the face of the buffer under them.
3270
3271 * xfaces.c (face_at_string_position): Update function comment.
52283633 3272
d4b72d58
GM
3273 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3274 matrix if the window's left position has changed; we need to
3275 redraw it in this case.
3276
3277 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3278
e1d05387
GM
3279 * window.c (coordinates_in_window): Check mouse on mode-line or
3280 header-line first.
3281
eb1b0c74
GM
3282 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3283 advertized by the function documentation.
3284
d94d636f
GM
3285 * window.c (syms_of_window): Doc fix.
3286
3887b449
GM
3287 * sound.c (vox_configure): Set volume for left and right channel.
3288 (sound_cleanup): Return nil.
3289
efc8f57a
GM
3290 * xdisp.c (move_it_by_lines): Fix paren typo.
3291
9765b4a4
GM
3292 * xterm.c (x_load_font): Don't use the font's max_bounds for
3293 computing the height of the font. If max_bounds' ascent or
3294 descent are greater than the font's ascent or descent, this means
3295 glyphs overlap, which should be handled now by redisplay.
3296
6529ed87
GM
3297 * window.c (Veven_window_heights): New variable.
3298 (syms_of_window): DEFVAR_LISP it.
3299 (Fdisplay_buffer): Check Veven_window_heights before evening the
3300 window heights.
52283633 3301
0eb2ecde
MB
33022000-12-06 Miles Bader <miles@gnu.org>
3303
3304 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3305 update `default-frame-alist' instead of setting no frame parameters.
3306
03d7a167
KH
33072000-12-06 Kenichi Handa <handa@etl.go.jp>
3308
3309 * composite.c (update_compositions): Fix typo (use the correct
3310 variable).
3311
5f8803c2
JR
33122000-12-05 Jason Rumney <jasonr@gnu.org>
3313
3314 * md5.h: Remove underscores from function declarations.
3315 (__attribute__, __alignof__) [!__GNUC__]: Define.
3316
3317 * md5.c: Delay include of md5.h until after namespace cleaning.
3318
c28a075b
JR
3319 * makefile.w32-in (fns.o): Depend on md5.h
3320 (md5.o): New target.
3321 (sunfns.o): Remove.
3322
3323 * makefile.nt: Likewise.
3324
ff3c7056
JR
33252000-12-05 Jason Rumney <jasonr@altavista.net>
3326
3327 * w32term.c (expose_area): Complete last change.
3328
0c21eeeb
KR
33292000-12-05 Ken Raeburn <raeburn@gnu.org>
3330
3331 * minibuf.c: Include intervals.h.
3332
f201d732
JR
33332000-12-05 Jason Rumney <jasonr@gnu.org>
3334
3335 * w32term.c (x_produce_glyphs): If a font for a component of
3336 a composition is not found, use 1 pixel dot ascent and 0 dot
3337 descent value to avoid displaying terribly tall empty boxes.
3338 (expose_area): Pass x-coordinate relative to the exposed
3339 area to x_draw_glyphs instead of a window-relative coordinate.
3340
21999ab9
GM
33412000-12-05 Gerd Moellmann <gerd@gnu.org>
3342
4d2036e4
GM
3343 * xdisp.c (next_element_from_ellipsis): Save face before selective
3344 display in saved_face_id, and set face_before_selective_p.
3345 (reseat_1): Reset face_before_selective_p.
3346 (append_space, extend_face_to_end_of_line): If iterator's
3347 face_before_selective_p is set, use the face from saved_face_id.
3348 (extend_face_to_end_of_line): For tty frames, make sure to
3349 use the right face id when producing spaces at the end of
3350 the line.
3351
3352 * dispextern.h (struct it): Add face_before_selective_p.
3353
52be17cc
GM
3354 * keyboard.c (record_char): Don't record identical help-echo
3355 events in recent_keys.
3356
8a4f36cc
GM
3357 * xterm.c [USE_X_TOOLKIT]: Close the display.
3358 (xim_close_dpy): Handle case that the display has been closed.
3359
57d6e381
GM
3360 * xterm.c (x_destroy_window): Reset the frame's X window after
3361 destroying it.
3362
21999ab9
GM
3363 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3364 variable window_width.
3365 (line_draw_cost): Fix code skipping over spaces at the end of the
3366 line when must_write_spaces is not set.
3367 (scrolling_window): Fix code inserting runs in list of all runs.
3368
91372bb7
KH
33692000-12-05 Kenichi Handa <handa@etl.go.jp>
3370
3371 * coding.c (setup_coding_system): Be sure to initialize
3372 coding->category_idx.
3373
6c083b4c
GM
33742000-12-04 Gerd Moellmann <gerd@gnu.org>
3375
0c68ce6f 3376 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3377
6452929e
GM
3378 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3379 area to x_draw_glyphs instead of a window-relative coordinate.
3380
d7f31e22
GM
3381 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3382 error in the message.
3383
ae18aa3b
GM
3384 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3385 timer after having read a key. It's not good for code reading
3386 several keys in a loop, like an input method.
3387
caa15ef7
GM
3388 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3389 record undo information for format-decode.
3390
3391 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3392 current buffer is read-only, not if it isn't.
3393
6c083b4c
GM
3394 * keyboard.c (record_char): Record `help-echo' input events
3395 in recent_keys only if they display some help. Don't record
3396 `help-echo' events as macro char.
3397
caa15ef7
GM
33982000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3399
3400 * editfns.c (save_excursion_restore): Don't move point
3401 in another window if it is showing the wrong buffer.
3402 Avoid the call to Fwindow_live_p, for speed.
3403
5a13529b
KH
34042000-12-04 Kenichi Handa <handa@etl.go.jp>
3405
e225faa7
KH
3406 * xfaces.c (struct font_name): New member registry_priority.
3407 (split_font_name): Initialize the above member to zero.
3408 (concat_font_list): New function.
3409 (font_list): Include fonts of all alternative registries.
3410 (FONT_POINT_SIZE_QUANTUM): New macro.
3411 (better_font_p): Ignore point size difference less than
3412 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3413
e89648b4
KH
3414 * xterm.c (x_produce_glyphs): If a font for a component of
3415 a composition is not found, use 1 pixel dot ascent and 0 dot
3416 descent value to avoid displaying terribly tall empty boxes.
3417
5a13529b
KH
3418 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3419
d7935eb6
KR
34202000-12-03 Ken Raeburn <raeburn@gnu.org>
3421
3422 * coding.h (code_convert_string1): Declare.
3423
3424 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3425
52283633 3426 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3427
0dd5e255
JR
34282000-12-02 Jason Rumney <jasonr@gnu.org>
3429
3430 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3431 correctly for single byte character case.
3432 (w32_per_char_metric): Do not try to make any assumptions about
3433 the metrics of BDF fonts.
250cfece 3434 (x_estimate_mode_line_height): If `mode-line' face
52283633 3435 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3436 (note_mouse_highlight): Change the cursor shape on the vertical
3437 border between windows [not enabled].
3438
3439 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3440
3441 * w32fns.c (Fx_create_frame): Reintroduce the call to
3442 face-set-after-frame-defaults.
3443 (Vx_window_horizontal_drag_shape): New variable.
3444 (syms_of_xfns): DEFVAR_LISP it.
3445 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3446 enabled].
0dd5e255 3447
b5d8d2ca
GM
34482000-12-02 Simon Josefsson <simon@josefsson.org>
3449
3450 * fns.c (Fmd5): Use a different logic to decide the coding system
3451 to use.
3452
3453 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3454
fbb87147
EZ
34552000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3456
52283633 3457 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3458
447e9da0
GM
34592000-12-01 Gerd Moellmann <gerd@gnu.org>
3460
7708ced0
GM
3461 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3462 height for YNegative.
3463 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3464 height; also see comment there.
3465
447e9da0
GM
3466 * window.c (coordinates_in_window): Handle computations for
3467 positions on the vertical bar and fringes differently for
3468 window-system frames. Consider some pixels near the vertical bar
3469 as on the bar if the frame doesn't have vertical scroll bars.
3470 Associate positions between mode or header lines with the
3471 right window, the left one.
3472
86d1db20
JR
34732000-12-01 Jason Rumney <jasonr@gnu.org>
3474
3475 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3476
3477 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3478 invalid frame.
3479
a1d58e5b
GM
34802000-12-01 Gerd Moellmann <gerd@gnu.org>
3481
52283633 3482 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3483 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3484 (save_window_save, Fset_window_configuration): Save/restore
3485 window's orig_top and orig_height.
3486
89c609af
JR
34872000-12-01 Jason Rumney <jasonr@gnu.org>
3488
4d177746 3489 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3490
89c609af
JR
3491 * w32fns.c (x_set_cursor_color): Fix last change.
3492
eccc05db
GM
34932000-11-30 Gerd Moellmann <gerd@gnu.org>
3494
31b6671b
GM
3495 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3496 sure that the next redisplay displays the minibuffer, so that
3497 the cursor will be replaced with what the minibuffer wants.
3498
eccc05db
GM
3499 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3500 #ifndef instead of using #if.
3501 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3502 USE_TOOLKIT_SCROLL_BARS is defined.
3503
162de750
JR
35042000-11-30 Jason Rumney <jasonr@gnu.org>
3505
3506 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3507 x_display_cursor.
3508
693c4692
GM
35092000-11-30 Gerd Moellmann <gerd@gnu.org>
3510
3511 * fns.c (Fmd5): Doc fix.
3512
b5d8d2ca 35132000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3514
3515 * fns.c (Fmd5): New function.
3516 (syms_of_fns): Defsubr md5.
3517
3518 * Makefile.in (obj): Add md5.o
3519
b02cd40b
GM
35202000-11-30 Gerd Moellmann <gerd@gnu.org>
3521
edfb795e
GM
3522 * md5.h, md5.c: New files, taken from glibc.
3523
df3aedcf
GM
3524 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3525
b02cd40b 3526 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3527 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3528
8b5176cd
SM
35292000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3530
3531 * eval.c (Frun_hooks): Allow 0 arguments.
3532
346598f1
GM
35332000-11-29 Gerd Moellmann <gerd@gnu.org>
3534
f9396e03
GM
3535 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3536 is over the menu bar widget, say it's not on the frame.
3537
4a967a9b
GM
3538 * xfns.c (Fx_create_frame): Reintroduce the call to
3539 face-set-after-frame-defaults.
3540
346598f1
GM
3541 * eval.c (Fsignal): Reset handling_signal.
3542
222456a1
JR
35432000-11-28 Jason Rumney <jasonr@gnu.org>
3544
3545 * w32menu.c (add_menu_item): Reset menu item text when changing
3546 type to radio button.
3547
8049ddc0
GM
35482000-11-28 Gerd Moellmann <gerd@gnu.org>
3549
346598f1 3550 * xselect.c: Update copyright.
f4f4ee4d 3551
bebe4a2c
GM
3552 * window.c (coordinates_in_window): If on a mode or header line,
3553 but sufficiently close to its start, return ``on vertical
3554 border''. This gives us a way to drag windows horizontally when
3555 using toolkit scroll bars.
3556
3557 * xterm.c (note_mouse_highlight): Change the cursor shape
3558 on the vertical border between windows.
3559
3560 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3561
3562 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3563 (syms_of_xfns): DEFVAR_LISP it.
3564 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3565
8d2c2642
GM
3566 * textprop.c (text_read_only): New function.
3567 (verify_interval_modification): Use it instead of signaling
3568 `text-read-only'. This makes it easier to catch this error
52283633 3569 with a breakpoint.:
8d2c2642 3570
52283633 3571 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3572 not end of line, which includes CR.
3573
5a2bae6c
KH
35742000-11-28 Kenichi Handa <handa@etl.go.jp>
3575
3576 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3577 include no-conversion.
3578
ae31f84d
JR
35792000-11-27 Jason Rumney <jasonr@gnu.org>
3580
3581 * w32fns.c (w32_load_system_font): Always mark font as double byte
3582 if codepage is unicode.
3583
67f1cf4c
GM
35842000-11-27 Gerd Moellmann <gerd@gnu.org>
3585
4a74d071 3586 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3587 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3588
902ae620
GM
3589 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3590 `vertical-line', `mode-line' and `header-line' events.
3591
3592 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3593 of a character, a TAB for instance. This is easier than to set
3594 up the iterator exactly, and it's not a frequent case, so the
3595 additional effort wouldn't really pay off.
3596
c1e279c2
AC
35972000-11-26 Andrew Choi <akochoi@i-cable.com>
3598
67f1cf4c 3599 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3600 init_window_once.
3601
a609568a
JR
36022000-11-25 Jason Rumney <jasonr@gnu.org>
3603
52283633
SM
3604 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3605 Args to window_from_coordinates should be pixel coordinates.
48b21762 3606
a609568a
JR
3607 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3608 redisplay handles them properly.
3609
a658d039
MB
36102000-11-25 Miles Bader <miles@gnu.org>
3611
3612 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3613
d3416cca
JR
36142000-11-24 Jason Rumney <jasonr@gnu.org>
3615
3616 * w32.c (init_environment): Set LANG environment variable based on
3617 locale settings, if not set.
3618
3619 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3620 making tool bar smaller. When clearing the frame, also
3621 clear current matrices. Clear frame when tool bar disappears.
3622 Don't use more lines for the tool-bar than is available.
3623 (x_change_window_heights): New function.
3624
ba193890
GM
36252000-11-24 Gerd Moellmann <gerd@gnu.org>
3626
2be8f184
GM
3627 * xdisp.c (init_from_display_pos): If POS says we're already after
3628 an overlay string ending at POS, make sure to pop the iterator
3629 because it will be in front of that overlay string. When POS is
3630 ZV, we've thereby also ``processed'' overlay strings at ZV.
3631
ba193890
GM
3632 * xfaces.c (lface_from_face_name): Function comment fix.
3633
1862a24e
MB
36342000-11-24 Miles Bader <miles@gnu.org>
3635
3636 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3637 apply `mode-line-inverse-video' -- zero means force display using
3638 the default face, non-zero means display using the specialized face.
3639 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3640
f07fa1b8
KH
36412000-11-23 Kenichi Handa <handa@etl.go.jp>
3642
3643 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3644 hard coded `4'.
3645
2bcdf662
EZ
36462000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3647
3648 * coding.c (decode_coding_emacs_mule): Fix the case of
3649 CODING_EOL_LF, which used uninitialized value of c.
3650
ba8299ff
SM
36512000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3652
3653 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3654
f4117c4d
GM
36552000-11-22 Gerd Moellmann <gerd@gnu.org>
3656
03e757c1
GM
3657 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3658 buffer object.
3659
f4117c4d
GM
3660 * frame.h (struct frame): Replace desired_tool_bar_items,
3661 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3662 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3663
3664 * frame.c (make_frame): Change initialization of tool bar
3665 items accordingly.
3666
3667 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3668 Change references to members deleted from struct frame to use the
f4117c4d
GM
3669 new ones.
3670
3671 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3672 references to members deleted from struct frame to use the new ones.
f4117c4d 3673
52283633 3674 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3675
3676 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3677
3678 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3679 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3680 from struct frame to use the new ones.
3681
f8e2f3f2
MB
36822000-11-23 Miles Bader <miles@gnu.org>
3683
3684 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3685 the face's inverse-video attribute, rather than overriding it.
3686
60e8e0a5
GM
36872000-11-22 Gerd Moellmann <gerd@gnu.org>
3688
3689 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3690 making tool bar smaller.
3691
92dd1b29
DL
36922000-11-22 Dave Love <fx@gnu.org>
3693
3694 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3695
e672fdce
MB
36962000-11-22 Miles Bader <miles@gnu.org>
3697
3a17d6cc
MB
3698 * keyboard.c (Vminibuffer_message_timeout): New variable.
3699 (command_loop_1): Use it to determine message timeout.
3700 (syms_of_keyboard): Initialize it.
3701
60e8e0a5 3702 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3703
e9655d81
KH
37042000-11-22 Kenichi Handa <handa@etl.go.jp>
3705
3706 * sysdep.c: Move the code for declaring h_errno after #include
3707 <netdb.h>.
3708
77270fac
GM
37092000-11-21 Gerd Moellmann <gerd@gnu.org>
3710
cd913aae
GM
3711 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3712 the menu bar when the tooltip is unmapped.
3713
77270fac
GM
3714 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3715 sole visible buffer when we're currently in the mini-buffer, and
3716 give up if so.
52283633 3717
556635d6
JR
37182000-11-21 Jason Rumney <jasonr@gnu.org>
3719
3720 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3721 put on the clipboard.
3722 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3723 copy of what Emacs last put there. If they are the same, do not
52283633 3724 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3725
5b7bde64
MB
37262000-11-22 Miles Bader <miles@gnu.org>
3727
3728 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3729 (syms_of_minibuf): Initialize it.
3730 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3731 to prompt, don't make read-only.
3732
ff23e1dd
GM
37332000-11-21 Gerd Moellmann <gerd@gnu.org>
3734
52283633
SM
3735 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3736 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3737
7aaf4388
GM
3738 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3739
f5f47add 3740 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3741
ff23e1dd
GM
3742 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3743
37c35586
KH
37442000-11-21 Kenichi Handa <handa@etl.go.jp>
3745
3746 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3747 ... #endif scope.
3748
ff9ab414
GM
37492000-11-20 Gerd Moellmann <gerd@gnu.org>
3750
52283633 3751 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3752 screen supports it.
3753
29a01b72
GM
3754 * s/gnu-linux.h: Don't use `#cpu'.
3755
09dfdf85
GM
3756 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3757 not defined in mman.h.
3758
52283633 3759 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3760 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3761 and store an index in the XClientMessageEvent. Storing a
3762 Lisp_Object or pointer can fail on a 64 bit system, since X only
3763 transfers 32 bits.
52283633
SM
3764 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3765
81459ac9
DL
37662000-11-20 Dave Love <fx@gnu.org>
3767
3768 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3769
56c13ae6
GM
37702000-11-20 Gerd Moellmann <gerd@gnu.org>
3771
3772 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3773
495a6df3
KH
37742000-11-20 Kenichi Handa <handa@etl.go.jp>
3775
2bcf3714
KH
3776 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3777 by WIDTH.
3778
495a6df3
KH
3779 * alloc.c (make_string): Fix previous change. Be sure to make
3780 unibyte string correctly.
3781
6d950f4c
GM
37822000-11-19 Gerd Moellmann <gerd@gnu.org>
3783
39b39373
GM
3784 * window.c (Fwindow_list): Change parameter list to be XEmacs
3785 compatible.
3786 (window_list_1): New function.
3787 (window_loop): Use it instead of Fwindow_list.
3788
b95b34e5
GM
3789 * sysdep.c (emacs_ospeed): New variable.
3790 (toplevel): Don't declare ospeed extern.
3791 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3792
3793 * termcap.c (ospeed): Remove.
3794 (tputs) [!emacs]: Remove unused code.
3795 (tgetent): Avoid a compiler warning.
3796
e83dc917
GM
3797 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3798 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3799 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3800
3801 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3802 removed.
3803 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3804 Take the X display as additional argument.
3805 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3806 `Widget' is a pointer type that's not easily stored in Lisp_Object
3807 form in a portable way.
52283633 3808
6d950f4c
GM
3809 * dispnew.c (update_text_area): Fix last change.
3810
e47306e6
GM
38112000-11-18 Gerd Moellmann <gerd@gnu.org>
3812
fb3cd89b
GM
3813 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3814
3815 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3816 clear current matrices.
3817
edaa9aed
GM
3818 * buffer.c (mmap_enlarge): Don't print a message on stderr
3819 if mapping new memory at the end of the existing region fails.
3820
e47306e6
GM
3821 * dispnew.c (update_text_area): Don't skip over equal glyphs
3822 when the last current glyph overlaps the glyph to its right.
3823
509633e3
MB
38242000-11-18 Miles Bader <miles@gnu.org>
3825
3826 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3827 lines that *end* with "..." too (that's the most common case!).
3828
d392e9c5
GM
38292000-11-18 Gerd Moellmann <gerd@gnu.org>
3830
67988445
GM
3831 * xdisp.c (resize_mini_window): Temporarily change to the
3832 mini-window's buffer if necessary.
1bfdbe43 3833
d392e9c5
GM
3834 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3835 the tooltip obscures less text under it.
3836
38372000-11-17 Gerd Moellmann <gerd@gnu.org>
3838
3839 * puresize.h (BASE_PURESIZE): Increase to 700000.
3840
92bb977f
JR
38412000-11-18 Jason Rumney <jasonr@gnu.org>
3842
3843 * w32term.c (w32_draw_bitmap): Use face to set colors.
3844
26fbf20b
DL
38452000-11-17 Dave Love <fx@gnu.org>
3846
3847 * lread.c (Fload): Fix #ifdef for pcc.
3848
100b593b
GM
38492000-11-17 Gerd Moellmann <gerd@gnu.org>
3850
3851 * xdisp.c (pos_visible_p): Compute the default character height
3852 differently.
3853
a288d0d1
GM
38542000-11-16 Gerd Moellmann <gerd@gnu.org>
3855
cac94de6 3856 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3857 knowing the line's height; use the default font's height in that case.
cac94de6 3858
a288d0d1
GM
3859 * xfaces.c (weight_table): Add `demi' with the same meaning as
3860 `demibold'.
3861
981fb6f6
KH
38622000-11-16 Kenichi Handa <handa@etl.go.jp>
3863
2cca872d 3864 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3865 (clear_glyph_row): Delete local static variable null_row.
3866
e5fa381b
JR
38672000-11-15 Jason Rumney <jasonr@gnu.org>
3868
3869 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3870 (w32_alloc_lighter_color): Use new brightness calculations from
3871 xterm.c. Scale delta to be in the range expected by W32.
3872 (w32_draw_relief_rect): Use frame relief colors.
3873
8e42f043
GM
38742000-11-15 Gerd Moellmann <gerd@gnu.org>
3875
6d133d1f
GM
3876 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3877 (Qinhibit_default_face_x_resources): New variable.
3878 (syms_of_frame): Initialize it.
3879 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3880
3881 * xdisp.c (pos_visible_p): Improve function comment.
3882
3883 * lisp.h (BINDING_STACK_SIZE): New macro.
3884
8e42f043
GM
3885 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3886 reading the directory if readdir returns null and errno is EAGAIN
3887 or EINTR.
3888
e8c87124
SM
38892000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3890
3891 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3892 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3893 Set amount_to_scroll to max of dx and scroll_step so that
3894 scroll-conservatively doesn't defeat scroll-step>1.
3895 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3896 scroll-conservatively for line-at-a-time scrolling.
3897
5f0c971d
GM
38982000-11-14 Gerd Moellmann <gerd@gnu.org>
3899
3900 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3901 extra argument.
3902
3903 * xdisp.c (current_mode_line_height, current_header_line_height):
3904 New variables.
3905 (init_xdisp): Initialize them.
3906 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3907 and use exact mode line heights if it is set.
3908
3909 * lisp.h (pos_visible_p): Change prototype.
3910
3911 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3912 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3913 and current_header_line_height first.
52283633
SM
3914 (current_mode_line_height, current_header_line_height):
3915 Declare extern.
5f0c971d 3916
d7361edf
MB
39172000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3918
3919 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3920 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3921 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3922
ee5e440a
MB
39232000-11-14 Miles Bader <miles@gnu.org>
3924
3925 * xterm.c (x_alloc_lighter_color): Include an additive component
3926 too for dark colors, because FACTOR isn't enough.
3927 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3928 New macros.
3929
5ca020fc
GM
39302000-11-13 Gerd Moellmann <gerd@gnu.org>
3931
3932 * keyboard.c (show_help_echo): Call message3_nolog with number of
3933 bytes in the help string as 2nd parameter, instead of the number
3934 of characters.
3935
9d348294
MB
39362000-11-13 Miles Bader <miles@gnu.org>
3937
3938 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3939 (Fload): Use new openp return protocol.
3940 Don't try to use Vload_source_file_function to load .elc files.
3941 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3942 openp return protocol.
3943 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3944
1729bb9a
KH
39452000-11-11 Kenichi Handa <handa@etl.go.jp>
3946
4e677396
KH
3947 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3948
3949 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3950 Defined these macros.
3951 (NLIST_STRUCT): Avoid re-defining it.
3952
1729bb9a
KH
3953 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3954 -I/usr/contrib/X11R6/include.
3955 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3956
a82fe213
JR
39572000-11-10 Jason Rumney <jasonr@gnu.org>
3958
3959 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3960
3961 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3962 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3963
3964 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3965 (Qw32_charset_vietnamese): New symbol.
3966 (xlfd_charset_of_font): New function.
3967 (w32_load_system_font): Use it.
3968 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3969 when Vw32_charset_info_alist is nil to ensure default face always
3970 has font. Use Fcar and Fcdr for safety.
3971 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3972 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3973 pseudo-codepages for special cases.
3974 (w32_to_x_font): New parameter to allow charset portion to be
3975 specified where there is many to one mapping. Callers changed.
3976 (w32_list_fonts): Avoid listing fonts that won't display.
3977
52d89894
GM
39782000-11-10 Gerd Moellmann <gerd@gnu.org>
3979
3980 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3981 (font_list_1): Renamed from font_list.
3982 (font_list): New function, trying alternative registries from
3983 Vface_alternative_font_registry_alist.
3984 (Finternal_set_alternative_font_registry_alist): New function.
3985 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3986 Vface_alternative_font_registry_alist.
3987 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3988
651cd3da
KR
39892000-11-09 Ken Raeburn <raeburn@gnu.org>
3990
3991 * lisp.h (Flooking_at): Declare.
3992
388ac098
GM
39932000-11-09 Gerd Moellmann <gerd@gnu.org>
3994
778fbc46 3995 * dired.c (directory_files_internal): Fix a braino.
52283633 3996
388ac098
GM
3997 * dired.c (directory_files_internal): Add missing GCPRO's.
3998 Some cleanup.
3999
ecaedde1
GM
40002000-11-08 Gerd Moellmann <gerd@gnu.org>
4001
f7eb32aa
GM
4002 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4003 (resize_mini_window): Return quickly if Vresize_mini_window is
4004 nil. Don't return if Vmax_mini_window_height is nil.
4005
4006 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4007 (syms_of_xdisp): Initialize them.
4008 (resize_mini_window): Act according to the setting of
4009 Vresize_mini_window.
4010 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4011
ecaedde1
GM
4012 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4013 scroll bar widget after configuring it, so that it will appear at
4014 the right position from the start.
4015 (XTredeem_scroll_bar): Cleaned up.
4016
3747ef2c
KH
40172000-11-08 Kenichi Handa <handa@etl.go.jp>
4018
4019 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4020 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4021 division by two.
4022
4023 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4024
03391420
DL
40252000-11-07 Dave Love <fx@gnu.org>
4026
7758f1c1 4027 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4028
4029 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4030
b5de343d
GM
40312000-11-07 Gerd Moellmann <gerd@gnu.org>
4032
acad3c0b
GM
4033 * window.c (Fset_window_configuration): Don't try to preserve
4034 point in the current buffer, if that buffer is displayed in more
4035 than one window.
4036
b5de343d
GM
4037 * xfaces.c (lookup_named_face): If default face isn't realized,
4038 try to realize it. Return -1 if not successful.
4039 (Fx_list_fonts): Handle case that face cannot be determined.
4040 (Fface_font): Likewise.
4041
cdb1fe49
GM
40422000-11-06 Gerd Moellmann <gerd@gnu.org>
4043
4044 * window.c (displayed_window_lines): Detect partially
4045 visible lines at the bottom correctly.
4046
d3a67486
SM
40472000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4048
4049 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4050 when ensuring we don't do visit in indirect buffer.
4051
ff8dd5d5
KH
40522000-11-06 Kenichi Handa <handa@etl.go.jp>
4053
4054 * composite.h (compose_chars_in_text): Add prototype.
4055
4056 * composite.c (Vcomposition_function_table): New variable.
4057 (Qcomposition_function_table): New variable.
4058 (run_composition_function): Call
4059 Vcompose_chars_after_function with three arguments.
4060 (compose_chars_in_text): New function.
4061 (syms_of_composite): Modified the doc-string of
4062 Vcompose_chars_after_function. Declare composition-function-table
4063 as a lisp variable, and initialize it.
4064
4065 * xfns.c (x_encode_text): Suppress producing escape sequences for
4066 composition.
4067
4068 * xselect.c: Include composite.h.
4069 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4070
d1145f85
AI
40712000-11-05 Andrew Innes <andrewi@gnu.org>
4072
4073 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4074
4075 * sysdep.c (read_input_waiting): Remove extraneous argument to
4076 read_socket_hook.
4077
4078 * w32fns.c (Fx_server_version): Include w32_build_number in the
4079 return list.
4080
4081 * w32heap.c (w32_build_number): New variable.
4082 (cache_system_info): Set it.
4083
4084 * w32heap.h (w32_build_number): Add extern.
4085
4086 * emacs.c (syms_of_emacs): Update docstring for
4087 system-configuration, to reflect the actual usage on MS-Windows.
4088
e85ee976
GM
40892000-10-31 Gerd Moellmann <gerd@gnu.org>
4090
26dcb81b
GM
4091 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4092 process idle timers while waiting for another event.
4093
52283633 4094 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4095 the default face are colored.
4096
e85ee976
GM
4097 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4098 window height hasn't changed.
4099
01b220b6
JR
41002000-10-31 Jason Rumney <jasonr@gnu.org>
4101
4102 * w32term.c (x_produce_glyphs): Handle composite characters.
4103 (x_draw_glyph_string_foreground)
4104 (x_draw_composite_glyph_string_foreground): Restore old font.
4105
4e6b7204
MB
41062000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4107
4108 * minibuf.c (read_minibuf): Reset the undo history just before
4109 starting the recursive-edit.
4110
d4358b37
GM
41112000-10-30 Gerd Moellmann <gerd@gnu.org>
4112
563f68f1
GM
4113 * xfaces.c (menu_face_change_count): New variable.
4114 (Finternal_set_lisp_face_attribute): Increment it for changes
4115 of the `menu' face.
4116 (realize_basic_faces): Reflect changes in the `menu' faces
4117 in menu bars.
4118
82e274d1
GM
4119 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4120 dy obtained from the iterator's y-position after moving from
4121 scroll_margin_pos to PT; see comment there.
52283633 4122
0dbf9fd2
GM
4123 * xdisp.c (safe_eval_handler): Call add_to_log.
4124
906b3b14
GM
4125 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4126 is not a symbol or string.
4127
d4358b37
GM
4128 * xdisp.c (echo_area_display): Don't perform a display update from
4129 inside redisplay. The update will happen anyway at the end of
4130 redisplay, and it can confuse redisplay (GC messages while
4131 redisplaying, for instance.)
4132
70c825df
SM
41332000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4134
cf9b4b0b
SM
4135 * xrdb.c (x_load_resources): Use the class name in the defaults.
4136
70c825df
SM
4137 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4138 (regex_compile): Catch bogus \(\1\).
4139
a1d34b1e
GM
41402000-10-30 Gerd Moellmann <gerd@gnu.org>
4141
cae71efe
GM
4142 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4143 RGB values.
52283633 4144
35efe0a1
GM
4145 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4146 we have a color cache, check that the cached color equals the
4147 allocated color. If not, clear the color cache.
4148
1d3baf74
GM
4149 * window.c (displayed_window_lines): Change buffers if necessary.
4150 Fix computation of displayed lines.
4151
a1d34b1e
GM
4152 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4153 update_menu_bindings to DEFVAR_BOOL.
4154
70737ea9
KH
41552000-10-30 Kenichi Handa <handa@etl.go.jp>
4156
70c825df 4157 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4158
fa0cb51d
KH
4159 * puresize.h (BASE_PURESIZE): Increase to 680000.
4160
70737ea9
KH
4161 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4162
0e4c08e8
JR
41632000-10-29 Jason Rumney <jasonr@gnu.org>
4164
4165 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4166
4167 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4168 (w32_cache_char_metrics): Handle possibility that 'x' does not
4169 exist in a BDF font.
4170 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4171
4172 * w32bdf.h (bdffont): Add nchars.
4173
4174 * w32bdf.c (set_bdf_font_info): Set it.
4175 (w32_BDF_TextOut): Swap byte order of double byte characters.
4176 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4177
45b84006
EZ
41782000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4179
4180 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4181 don't override the colors in frame's param_alist, unless they are
4182 unspecified.
4183
4184 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4185 reverse the effect of the highlight flag.
4186
caf9deee
KR
41872000-10-27 Ken Raeburn <raeburn@gnu.org>
4188
4189 * window.h (Fwindow_live_p): Declare.
4190
ae0b9b46
KR
4191 * undo.c (record_delete): Check that last_undo_buffer is really a
4192 buffer before applying XBUFFER to it.
4193
4194 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4195 Faref.
4196
02067692
SM
41972000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4198
4199 * lisp.h (KEYMAPP): New macro.
4200 (get_keymap): Remove.
4201 (get_keymap_1): Rename get_keymap.
4202
4203 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4204
4205 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4206
4207 * xmenu.c (single_submenu): Use KEYMAPP.
4208 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4209 Use KEYMAPP rather than Fkeymapp.
4210
4211 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4212
4213 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4214 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4215 Use KEYMAPP rather than Fkeymapp.
4216 (single_submenu): Use KEYMAPP.
4217 (w32_menu_show, w32_dialog_show): Use TRUE.
4218
4219 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4220
4221 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4222 (Fkeymapp): Use KEYMAPP.
4223 (get_keymap): Rename from get_keymap_1. Remove old def.
4224 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4225 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4226 (Fminor_mode_key_binding): Don't raise an error if the binding
4227 is not a keymap.
4228 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4229 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4230
4231 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4232 Allow Vspecial_event_map to be autoloaded.
4233 (menu_bar_items): Fetch the keymap rather than using keymapp.
4234 (menu_bar_one_keymap): No need to follow func-indirect any more.
4235 (parse_menu_item): get_keymap_1 -> get_keymap.
4236 (tool_bar_items): Fetch the keymap rather than using keymapp.
4237 (read_key_sequence): Use KEYMAPP.
4238
4239 * intervals.c (get_local_map): Use get_keymap rather than following
4240 function-indirections explicitly.
4241
4242 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4243
f9d80af3
JR
42442000-10-27 Jason Rumney <jasonr@gnu.org>
4245
4246 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4247 point, as Windows has oversized fonts.
4248
4249 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4250
a3ba27da
GM
42512000-10-27 Gerd Moellmann <gerd@gnu.org>
4252
4253 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4254 (freehook, reallochook): Handle null pointer arguments.
4255 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4256
aa3b80cc
SM
42572000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4258
4259 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4260 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4261 Giving in to popular pressure to shut up the compiler with casts.
4262
e24e84cc
GM
42632000-10-27 Gerd Moellmann <gerd@gnu.org>
4264
4265 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4266 signed value, and use a default value computed from the font's
4267 maximum descent.
4268
05ea7ef2
MB
42692000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4270
4271 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4272 that specify a negative underline position can still use underlines.
4273
4274 * window.c (Fpos_visible_in_window_p): Make POS default to
4275 WINDOW's point, not the current buffer's point.
4276
0b95284b
DL
42772000-10-26 Dave Love <fx@gnu.org>
4278
4279 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4280 when it's necessary.
4281
6c5b90af
GM
42822000-10-26 Gerd Moellmann <gerd@gnu.org>
4283
8b6d9dc9
GM
4284 * window.c (size_window): Compute size difference from sum of old
4285 child window sizes instead of from parent's size.
4286
6bc92b2e
GM
4287 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4288 Handle obscured lines at the top of the window.
4289
4290 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4291 down after the last error condition check.
4292
6c5b90af
GM
4293 * frame.c (Fdelete_frame): Run delete-frame-hook.
4294
42f92d4d
KH
42952000-10-26 Kenichi Handa <handa@etl.go.jp>
4296
4297 * coding.c (decode_coding): Fix previous change (check also
4298 CODING_MODE_LAST_BLOCK).
4299
d97151cb
SM
43002000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4301
e7efc503
SM
4302 * regex.c: More `unsigned char' -> `re_char' changes.
4303 Also change several `int' into `re_wchar_t'.
4304 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4305 (PUSH_FAILURE_POINTER): Don't cast any more.
4306 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4307 We want GCC to complain, since this piece of code makes
4308 re_match non-reentrant, which *should* be fixed.
4309 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4310 (EXTEND_BUFFER): Use RETALLOC.
4311 (SET_LIST_BIT): Don't cast.
4312 (re_wchar_t): New type.
4313 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4314 that those two functions will always properly return.
4315 (IMMEDIATE_QUIT_CHECK): Cast to void.
4316 (analyse_first): Use recursion rather than an explicit stack.
4317 (re_compile_fastmap): Can't fail anymore.
4318 (re_search_2): Don't check re_compile_fastmap for failure.
4319 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4320 Now also sets the new value (passed in a new argument).
4321 (re_match_2_internal): Use it.
4322 Also, use a new var `reg' of type size_t when looping through regs
4323 rather than reuse the inappropriate `mcnt'.
4324
d97151cb
SM
4325 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4326 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4327 (where_is_internal): Renamed from Fwhere_is_internal.
4328 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4329 (Fwhere_is_internal): New function wrapping where_is_internal.
4330 (where_is_internal_1): Handle the case where we're filling the cache.
4331 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4332
d5789b65
MB
43332000-10-25 Miles Bader <miles@gnu.org>
4334
4335 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4336
4ecda532
GM
43372000-10-25 Gerd Moellmann <gerd@gnu.org>
4338
4339 * window.c (pos_fully_visible_p): Removed.
4340 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4341 if position is visible and/or fully visible.
4342
4343 * lisp.h (pos_visible_p): Add prototype.
4344
4345 * xdisp.c (pos_visible_p): New function.
4346
68c3a137
KH
43472000-10-25 Kenichi Handa <handa@etl.go.jp>
4348
4349 * process.c (send_process): If OBJECT is t, it means that the data
4350 is from C string, but we should encode it. Before calling
4351 setup_raw_text_coding_system, be sure to flush out data by the
4352 previous coding system.
4353
7ae1c032
MB
43542000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4355
ff4dcd4b
MB
4356 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4357 assignment of startpos to prev when startpos == pos.
4358
7ae1c032
MB
4359 * editfns.c (find_field): Set the field stickiness correctly from
4360 overlay fields. Use renamed `text_property_stickiness'.
4361 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4362 Only check text properties, not overlays.
7ae1c032
MB
4363 * textprop.c (get_char_property_and_overlay): New function.
4364 (Fget_char_property): Use it.
4365 * intervals.h (get_char_property_and_overlay): Add declaration.
4366
49801145
SM
43672000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4368
4369 * keymap.c: Use AREF, ASET and ASIZE macros.
4370 (Fmake_sparse_keymap): Docstring fix.
4371 (synkey): Remove.
4372 (shadow_lookup): Move up.
4373 Handle the case where lookup-key returns an integer.
4374 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4375 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4376 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4377 Simplify/rewrite the keymap-finding code.
4378 Add check for command shadowing, using shadow_lookup.
4379
39e776cd
SM
43802000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4381
4382 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4383 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4384 a symbol.
4385
2488aba5
AI
43862000-10-24 Andrew Innes <andrewi@gnu.org>
4387
4388 * dired.c (directory_files_internal_unwind): New function.
4389 (directory_files_internal): Use it to ensure closedir is called
4390 even if expand-file-name or file-attributes throw, eg. because of
4391 a user interrupt. Also enable immediate_quit while calling
4392 re_search, so that matching can be interrupted as well.
4393
b94fdf61
AI
43942000-10-24 Andrew Innes <andrewi@gnu.org>
4395
4396 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4397 NT-Emacs only.
4398 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4399 so that re_search functions only quit when callers expect them to.
4400
44012000-10-24 Kenichi Handa <handa@etl.go.jp>
4402
4403 * regex.c (regex_compile): Change the way of handling a range from
4404 a char less than 256 to a char not less than 256.
4405
1946f901
GM
44062000-10-24 Gerd Moellmann <gerd@gnu.org>
4407
7ae2f10f
GM
4408 * window.c (size_window): Prevent setting window's width or
4409 height to a negative value (esp. with XSETFASTINT).
4410
5dcab13e
GM
4411 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4412 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4413 (protect_malloc_state) [GC_MALLOC_CHECK &&
4414 GC_PROTECT_MALLOC_STATE]: New function.
4415 (PROTECT_MALLOC_STATE): New macro.
4416 (__malloc_initialize, morecore, _malloc_internal)
4417 (_free_internal) _realloc_internal): Use it to make _heapinfo
4418 read-only outside of gmalloc.
4419
63e1b552
GM
4420 * keymap.c: Update copyright.
4421
1946f901
GM
4422 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4423 a symbol.
4424
4fa09beb
GM
44252000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4426
4427 * filelock.c (unlock_all_files): Use unlock_file to expand each
4428 buffer's file_truename before trying remove its lock file.
4429
23afac01
EZ
44302000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4431
4432 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4433 or CRLF, decode EOLs.
4434
04448b95
KH
44352000-10-24 Kenichi Handa <handa@etl.go.jp>
4436
4437 * window.c (Fdisplay_buffer): Fix doc.
4438
3090a5a5
JR
44392000-10-23 Jason Rumney <jasonr@gnu.org>
4440
4441 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4442 ASCII font of default fontset on Windows.
4443
4444 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4445 xterm.c comment below).
4446
4447 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4448
a83fee2c
GM
44492000-10-23 Gerd Moellmann <gerd@gnu.org>
4450
4451 * xterm.c (x_connection_closed): Reset handling_signal.
4452
52283633 4453 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4454
6ffdb539
MB
44552000-10-23 Miles Bader <miles@gnu.org>
4456
4457 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4458 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4459 maintain old behavior.
4460 * minibuf.c (Fminibuffer_complete): Likewise.
4461
7f1c969b
MB
44622000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4463
4464 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4465 that when a font can't be exactly centered, it errs up rather than
4466 down.
4467
23afac01 44682000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4469
52283633 4470 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4471
1a578e9b
AC
44722000-10-23 Andrew Choi <akochoi@i-cable.com>
4473
4474 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4475
4476 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4477 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4478
4479 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4480 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4481 syms_of_search, x_term_init, and init_keyboard before calling
4482 init_window_once. Also, call syms_of_xmenu.
4483
4484 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4485 default fontset to Monaco.
4486
4487 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4488 NewMacWindow and DisposeMacWindow.
4489 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4490 instead of calling NewMacWindow and setting fields of
4491 f->output_data.mac directly. Call init_frame_faces.
4492 (Fdelete_frame) [macintosh]: Remove unused code.
4493 (Fmodify_frame_parameters) [macintosh]: Call
4494 x_set_frame_parameters instead of mac_set_frame_parameters.
4495
4496 * frame.h [macintosh]: Define menu_bar_lines field in struct
4497 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4498
4499 * keyboard.c [macintosh]: Include macterm.h.
4500 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4501 and menu_bar_activate_event type events as for X and NT.
4502 (make_lispy_event) [macintosh]: Construct lisp events of type
4503 MENU_BAR_EVENT as for X and NT.
4504
4505 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4506 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4507 (sys_subshell) [macintosh]: Remove definition entirely.
4508 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4509 Vwindow_system_version here. Remove initialization of
4510 Vx_bitmap_file_path.
4511 (read_input_waiting): Correct the number of parameters passed to
4512 read_socket_hook.
4513 Move all Macintosh functions to mac/mac.c.
4514
4515 * term.c [macintosh]: Include macterm.h.
4516
4517 * window.c [macintosh]: Include macterm.h.
4518
4519 * xdisp.c [macintosh]: Include macterm.h. Declare
4520 set_frame_menubar and pending_menu_activation.
4521 (echo_area_display) [macintosh]: Do not return if terminal frame
4522 is the selected frame.
4523 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4524 Allow only the selected frame to set menu bar.
4525 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4526 calling FRAME_EXTERNAL_MENU_BAR (f).
4527 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4528
4529 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4530 and check_x. Declare XCreateGC. Define x_create_gc and
4531 x_free_gc. Initialize font_sort_order.
4532 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4533 but call x_list_fonts instead of w32_list_fonts.
4534 (Finternal_face_x_get_resource) [macintosh]: Do not call
4535 display_x_get_resource.
4536 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4537 (realize_x_face) [macintosh]: Load the font if it is specified in
4538 ATTRS.
52283633 4539 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4540
1ffbabe3
SM
45412000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4542
4543 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4544 is nil: since we go to the end of submap anyway, we'd end up
4545 setting nil to nil.
4546 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4547 doesn't obey autoload.
4548
bed43f1d
EZ
45492000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4550
1ffbabe3 4551 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4552
ea4233a7
JR
45532000-10-21 Jason Rumney <jasonr@gnu.org>
4554
4555 * w32term.c (w32_cache_char_metrics): Double check that font is
4556 really fixed pitch before trusting tmPitchAndFamily.
4557
f3d3c491
AI
45582000-10-21 Andrew Innes <andrewi@gnu.org>
4559
4560 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4561
4562 * w32term.h: Extern decl for w32_cache_char_metrics.
4563
4564 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4565
4566 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4567 (w32_unload_font): Free per_char array if present.
4568
4569 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4570 cached information in emulated XFontStruct to handle common cases
4571 quickly. Do not allocate XCharStruct for return.
4572 (w32_native_per_char_metric): New function.
4573 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4574 allocating one.
4575 (x_produce_glyphs): Don't get an HDC. Change calls to
4576 w32_per_char_metric to match arg change above. Remove calls to
4577 free results.
4578 (w32_get_glyph_overhangs): Ditto.
4579 (w32_cache_char_metrics): New function.
4580
4581 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4582 ($(BLD)/casefiddle.$(O)): Remove compile command.
4583 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4584 ($(BLD)/dispnew.obj):
4585 ($(BLD)/keyboard.obj):
4586 ($(BLD)/w32inevt.obj):
4587 ($(BLD)/w32bdf.obj):
4588 ($(BLD)/alloc.obj):
4589 ($(BLD)/buffer.obj):
4590 ($(BLD)/editfns.obj):
4591 ($(BLD)/emacs.obj):
4592 ($(BLD)/fileio.obj):
4593 ($(BLD)/fns.obj):
4594 ($(BLD)/indent.obj):
4595 ($(BLD)/insdel.obj):
4596 ($(BLD)/intervals.obj):
4597 ($(BLD)/minibuf.obj):
4598 ($(BLD)/print.obj):
4599 ($(BLD)/scroll.obj):
4600 ($(BLD)/sysdep.obj):
4601 ($(BLD)/textprop.obj):
4602 ($(BLD)/widget.obj):
f3d3c491
AI
4603 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4604 ($(BLD)/term.obj): Add dependency on dispextern.h.
4605
52283633
SM
4606 * makefile.nt ($(BLD)\dispnew.obj):
4607 ($(BLD)\keyboard.obj):
4608 ($(BLD)\w32inevt.obj):
4609 ($(BLD)\w32bdf.obj):
4610 ($(BLD)\alloc.obj):
4611 ($(BLD)\buffer.obj):
4612 ($(BLD)\editfns.obj):
4613 ($(BLD)\emacs.obj):
4614 ($(BLD)\fileio.obj):
4615 ($(BLD)\fns.obj):
4616 ($(BLD)\indent.obj):
4617 ($(BLD)\insdel.obj):
4618 ($(BLD)\intervals.obj):
4619 ($(BLD)\minibuf.obj):
4620 ($(BLD)\print.obj):
4621 ($(BLD)\scroll.obj):
4622 ($(BLD)\sysdep.obj):
4623 ($(BLD)\textprop.obj):
4624 ($(BLD)\widget.obj):
f3d3c491
AI
4625 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4626 ($(BLD)\term.obj): Add dependency on dispextern.h
4627
18ad4821
EZ
46282000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4629
4630 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4631 with an additional argument of Qt.
4632
de54681a
MB
46332000-10-21 Miles Bader <miles@gnu.org>
4634
4635 * window.c (pos_fully_visible_in_window_p): New function.
4636 (Fpos_visible_in_window_p): Add FULLY argument.
4637 Use pos_fully_visible_in_window_p.
4638 (window_scroll_pixel_based, window_scroll_line_based): Update
4639 calls to Fpos_visible_in_window_p.
4640 * lisp.h (Fpos_visible_in_window_p): Update prototype
4641
13c844fb
GM
46422000-10-20 Gerd Moellmann <gerd@gnu.org>
4643
4644 * alloc.c (toplevel): Conditionalize compilation of mem_*
4645 functions differently.
52283633 4646
d9506268
JR
46472000-10-20 Jason Rumney <jasonr@gnu.org>
4648
4649 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4650 mem_init where it used to be. mem_z etc not defined otherwise.
4651
8094989b
GM
46522000-10-20 Gerd Moellmann <gerd@gnu.org>
4653
4654 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4655 GC_MALLOC_CHECK.
4656 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4657 structure definition and related variabled to the top of the file.
4658 Include this code when GC_MALLOC_CHECK is defined.
4659 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4660 register/unregister allocated region.
4661 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4662 which isn't allocated.
4663 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4664 something which is already in use.
4665 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4666 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4667 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4668 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4669
4670 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4671 _malloc_internal instead of malloc.
4672 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4673 of free.
4674
ea456eb4
AI
46752000-10-20 Andrew Innes <andrewi@gnu.org>
4676
4677 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4678 Windows.
4679 (my_strftime) <macro>: Don't use macro arg list when redefining as
4680 _strftime_copytm.
4681 (my_strftime) <function>: Supply 0 as ut argument.
4682
e64c3a75
JR
46832000-10-19 Jason Rumney <jasonr@altavista.net>
4684
4685 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4686 including dispextern.h, as it stops faces from working.
4687
4688 * w32fns.c (Fx_create_frame): Don't bother calling
4689 face-set-after-frame-default since the caller does it for us
4690 anyway. Clean up calls to x_get_arg to be consistent with X.
4691
4692 * w32term.c (x_produce_glyphs): Handle
4693 unibyte_display_via_language_environment correctly.
4694 (w32_draw_box_rect): Fix the calculation of width and height.
4695
4696 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4697 as it has stopped working.
4698 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4699 menu-bar.
4700
17401c97
GM
47012000-10-19 Gerd Moellmann <gerd@gnu.org>
4702
4703 * eval.c (skip_debugger): Prevent a compiler warning.
4704 (Fcondition_case): Likewise.
4705 (Fbacktrace_frame): Use a null interactive spec.
4706
773272d8
KH
47072000-10-19 Kenichi Handa <handa@etl.go.jp>
4708
4709 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4710
a42943e9
GM
47112000-10-18 Gerd Moellmann <gerd@gnu.org>
4712
e50517d9
GM
4713 * strftime.c: Sync with glibc, file version 1.78.
4714 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4715 should no longer be used according to ISO 8601.
4716
9035a35a
GM
4717 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4718 no map for meta_prefix_char, don't try to use it as a keymap.
4719 Instead, if T_OK is non-zero, look up a default binding, if any,
4720 otherwise, if T_OK is zero, return nil.
4721
a42943e9
GM
4722 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4723 (x_to_xcolors, png_load): Use x_query_color.
4724
52283633
SM
4725 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4726 New functions.
a42943e9
GM
4727 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4728 which can be slow.
4729 (x_copy_color, x_alloc_lighter_color): Likewise.
4730
4731 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4732 (x_query_color, x_query_colors): Add prototype.
4733
4734 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4735 check_string_bytes only if not noninteractive, increase count to 50.
4736
00de2987
MB
47372000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4738
4739 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4740 markers correctly.
4741
54918e2b
GM
47422000-10-17 Gerd Moellmann <gerd@gnu.org>
4743
1f0b3fd2
GM
4744 * alloc.c (pure_bytes_used): Renamed from pureptr.
4745 (ALIGN): New macro.
4746 (pure_alloc): New function.
4747 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4748 Use it.
4749 (Fpurecopy): Use PURE_POINTER_P.
4750
68c5d1db
GM
4751 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4752 PT has moved backward.
52283633 4753
9a038881
GM
4754 * xdisp.c (cursor_row_p): Take continued lines into account.
4755
361b097f
GM
4756 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4757 string's size_byte.
4758 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4759 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4760 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4761 string allocated.
4762
54918e2b
GM
4763 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4764 of selective display off while searching for the next line start.
4765
03ed0806
KH
47662000-10-17 Kenichi Handa <handa@etl.go.jp>
4767
4768 * Makefile.in (term.o): Depend on dispextern.h.
4769
7e05cdaf
SM
47702000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4771
4772 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4773
a6801fd1
GM
47742000-10-16 Gerd Moellmann <gerd@gnu.org>
4775
483de32b
GM
4776 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4777 the iterator at the beginning, so that they can be set later on,
4778 for instance in reseat_at_next_visible_line_start, without being
4779 overwritten.
4780
a6801fd1
GM
4781 * xfns.c (pbm_format): Add :foreground and :background keywords.
4782 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4783 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4784
dbf1fcc1
EZ
47852000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4786
4787 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4788
52283633 4789 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4790
4791 * msdos.c (IT_set_face): Compare highlighted face with the default
4792 face, and invert colors if these faces' colors are identical.
4793 (Fmsdos_remember_default_colors): Don't swap foreground and
4794 background colors in initial_colors[].
4795 (IT_set_frame_parameters): Don't swap frame's foreground and
4796 background pixels. If ALIST includes "(reverse . t)", swap
4797 foreground-color and background-color properties in frame's
4798 param_alist. If the original frame's param_alist doesn't specify
4799 the colors, store unspecified-fg and unspecified-bg, reversed if
4800 required.
4801
4802 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4803 the colors are unspecified and reversed, reverse fore- and back-
4804 ground in the returned value.
4805 (Fframe_parameter): Ditto.
4806
b41fe2c3 48072000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4808
3a6b59d9
GM
4809 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4810 get_last_unchanged_at_beg_row.
4811 (find_first_unchanged_at_end_row): Renamed from
4812 get_first_unchanged_at_end_row.
4813 (find_first_unchanged_at_end_row): Convert assertions to
4814 unconditional tests which abort. When looking for a row in
4815 unchanged text, don't go further back than first_text_row.
4816
b41fe2c3
GM
4817 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4818 Don't add in the last line's height when deciding if the new
4819 position is below the scroll margin.
9d1af64f 4820
b41fe2c3 48212000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4822
4823 * editfns.c (Fconstrain_to_field): Check carefully for field
4824 boundaries if either OLD_POS or NEW_POS has a non-nil field
4825 property, even if they're the same.
4826
c412cb7b
KH
48272000-10-16 Kenichi Handa <handa@etl.go.jp>
4828
4829 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4830 height for XFillRectangle.
4831
5586f3eb
SM
48322000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4833
4834 * syntax.c (Fstring_to_syntax): New function extracted from
4835 Fmodify_syntax_entry.
4836 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4837 (skip_chars, Fforward_comment): Remove unused variables.
4838 (syms_of_syntax): Add defsubr for string-to-syntax.
4839 (describe_syntax): Add code for comment and string fences.
4840
db785038
SM
48412000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4842
4843 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4844 Do the meta->esc mapping. Call get_keyelt before returning.
4845 Start scanning from the second element (the first is always `keymap')
4846 to make it easier to detect when we reach a parent map.
4847 Handle the case of inheriting from a symbol whose function is a map.
4848 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4849 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4850 (get_keyelt, Flookup_key): Update call to access_keymap.
4851 Remove the meta->esc mappings.
4852 (define_as_prefix): Delete old disabled code.
4853 (menu_item_p): New function.
4854 (where_is_internal_1): Skip over the few remaining menu items.
4855 * lisp.h (access_keymap): Update prototype.
4856 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4857 Update call to access_keymap.
4858 (follow_key, read_key_sequence): Update calls to access_keymap.
4859 Remove the meta->esc mappings.
4860
cafafe0b
GM
48612000-10-13 Gerd Moellmann <gerd@gnu.org>
4862
a2e2a7f6
GM
4863 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4864 with additional argument.
4865
cafafe0b
GM
4866 * xdisp.c (cursor_row_p): New function.
4867 (try_cursor_movement, display_line): Use it.
52283633 4868
cafafe0b
GM
4869 * xdisp.c (append_space): Also save/restore iterator's current
4870 character and its length.
4871
4872 * xdisp.c (init_from_display_pos): Add an assertion.
4873 (handle_stop): Don't set iterator's add_overlay_start.
4874 (handle_invisible_prop): Likewise.
4875 (load_overlay_strings): If text under an overlay is invisible,
4876 take both before- and after-strings into account when the iterator
4877 is positioned either at the start or at the end of the overlay.
4878 (forward_to_next_line_start): Rewritten.
4879 (reseat_at_next_visible_line_start): Rewritten.
4880 (set_iterator_to_next): Add parameter RESEAT_P.
4881
4882 * dispextern.h (struct it): Remove member add_overlay_start.
4883 (set_iterator_to_next): Change prototype.
4884
c744452b
KH
48852000-10-13 Kenichi Handa <handa@etl.go.jp>
4886
4887 * coding.c (code_convert_region): Be sure to initialize
4888 coding->category_idx.
e4a3f4e1
KH
4889 (decode_coding_string): Set coding->src_multibyte and
4890 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4891 (encode_coding_string): Set coding->src_multibyte and
4892 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4893
321fd26f
SM
48942000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4895
4896 * xfns.c (Fx_create_frame): Don't bother calling
4897 face-set-after-frame-default since the caller does it for us anyway.
4898
76832439
EZ
48992000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4900
4901 * window.c (coordinates_in_window): Fix detection of vertical line
4902 on character terminals.
4903
2483cf58
GM
49042000-10-12 Gerd Moellmann <gerd@gnu.org>
4905
4906 * editfns.c (save_excursion_save): Additionally record the
4907 selected window.
4908 (save_excursion_restore): If buffer was visible in a window, and a
4909 different window was selected, and the old selected window is
4910 still live, restore point in that window.
4911
eb991b25
KH
49122000-10-12 Kenichi Handa <handa@etl.go.jp>
4913
8a0eba09
KH
4914 * xterm.c (x_produce_glyphs): Handle
4915 unibyte_display_via_language_environment correctly.
4916
20401fcc
KH
4917 * regex.c (regex_compile): Change the way of handling a range from
4918 unibyte char to multibyte char.
4919
4920 * syntax.c (skip_chars): Change the way of handling a range from
4921 unibyte char to multibyte char.
4922
eb991b25
KH
4923 * process.c (read_process_output): Cancel previous change.
4924
365dd325
EZ
49252000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4926
c1b096cb
EZ
4927 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4928
365dd325
EZ
4929 * charset.c (Ffind_charset_string): Doc fix.
4930 (Ffind_charset_region): Doc fix.
4931
eb483c2b
KH
49322000-10-11 Kenichi Handa <handa@mule.m17n.org>
4933
4934 * process.c (read_process_output): Fix previous change. Adjust
4935 multibyteness of text to insert in a buffer by
52283633 4936 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4937
b40bfb99
AS
49382000-10-10 Andreas Schwab <schwab@suse.de>
4939
4940 * alloc.c (mark_object): Remove all workarounds installed on
4941 1993-08-08.
4942
caff31d4
KH
49432000-10-10 Kenichi Handa <handa@etl.go.jp>
4944
52283633 4945 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4946 (base64_encode_1): Make it work for a text of multibyte form.
4947 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4948 case. Don't call str_to_multibyte because base64_decode_1
4949 produces correct multibyte form for eight-bit codes.
52283633 4950 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4951 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4952 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4953 codes.
4954
4955 * charset.h (CHAR_STRING): Optimized for single byte characters.
4956
cba026ef
AS
49572000-10-09 Andreas Schwab <schwab@suse.de>
4958
4959 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4960 -1 after socket is closed, to fall through to error processing.
4961
1e21fe48
EZ
49622000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4963
4964 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4965 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4966 background-color, change also the colors of the default face for
4967 this frame.
4968
a640322e
EZ
49692000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4970
4971 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4972 them extern (they are defined on xfaces.c).
4973 (syms_of_msdos): Don't intern and don't staticpro
4974 Qbackground_color and Qforeground_color.
4975
a115794c
EZ
49762000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4977
4978 * frame.c (Fframe_parameter): For non-windowed frames, if
4979 f->param_alist says foreground or background color is unspecified,
4980 call tty_color_name to return the color name computed from the
4981 frame's current colors.
4982
f5533b63
DL
49832000-10-06 Dave Love <fx@gnu.org>
4984
4985 * terminfo.c (ospeed): Don't declare.
4986
4987 * sysdep.c: Don't include string.h.
4988 (h_errno): Declare conditional also on TRY_AGAIN.
4989
4990 * charset.c (Ffind_charset_string): Doc fix.
4991
52283633 4992 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4993 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4994 error messages.
4995
2b06561a
DL
49962000-10-05 Dave Love <fx@gnu.org>
4997
4998 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4999 position like menu-bar.
5000
ca839c85
GM
50012000-10-05 Gerd Moellmann <gerd@gnu.org>
5002
5003 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5004
5005 * xdisp.c (handle_single_display_prop): Use safe_call1.
5006 (safe_call): Renamed from call_function.
5007 (safe_call1): New function.
5008 (handle_fontified_prop): Use safe_call1 instead of call1.
5009 (safe_eval): Renamed from eval_form.
5010 (safe_eval_handler): Renamed from eval_handler.
5011 (handle_single_display_prop, display_mode_element): Use safe_eval
5012 instead of eval_form.
5013
5014 * xfaces.c (merge_face_heights): Use safe_call instead of
5015 call_function.
5016
5017 * keyboard.c (show_help_echo): Use safe_call instead of
5018 call_function; use safe_eval instead of eval_form.
5019
5020 * lisp.h (safe_call): Renamed from call_function.
5021 (safe_eval): Renamed from eval_form.
5022 (safe_call1): Add prototype.
5023
a3489ece
MB
50242000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5025
5026 * xfns.c (image_ascent): Rearrange ascent calculation for the
5027 has-a-font case.
5028
35810b6f
SM
50292000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5030
5031 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5032 (where_is_internal_1): Don't bother ignoring menu-items any more.
5033
3dc78168
GM
50342000-10-04 Gerd Moellmann <gerd@gnu.org>
5035
5036 * keyboard.c (update_menu_bindings): New variable.
5037 (parse_menu_item): Use AREF. If update_menu_bindings
5038 is 0, don't update menu bindings.
5039 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5040
1efc2bb9
EZ
50412000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5042
5043 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5044 to `mark_object'.
5045
3f679f55
SM
50462000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5047
5048 * syntax.c (forw_comment): Match nestedness of ender/starter.
5049 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5050 (prev_char_comstart_first): Remove.
5051 (back_comment): Check two-char comment markers more carefully
5052 to better handle overlapping cases like *//* or /* */* */ ...
5053 Match nestedness of ender/starter.
5054
2021ab61
DL
50552000-10-02 Dave Love <fx@gnu.org>
5056
5057 * config.in (HAVE_GAI_STRERROR): Add undef.
5058
5059 * process.c (Fopen_network_stream): Use it.
5060
5061 * m/alpha.h (NO_REMAP): Don't define.
5062
64e6cc18
GM
50632000-10-02 Gerd Moellmann <gerd@gnu.org>
5064
5065 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5066 return with a string converted to an integer or vice versa when
5067 Vmocklisp_arguments is t.
5068 (Fsignal): Likewise. The function can return for `quit'.
5069 (struct gcpro): Declare member `var' to point to a volatile
5070 Lisp_Object.
5071
5072 * eval.c (error): Prevent compiler warning.
5073
b1904cd9
SM
50742000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5075
5076 * keymap.c (keymap_memberp): New function.
5077 (Fset_keymap_parent): Use it.
5078 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5079 Use keymap_memberp to avoid creating cycles.
5080 (access_keymap): Use KEYMAPP.
5081
71c9ec51
GM
50822000-09-30 Gerd Moellmann <gerd@gnu.org>
5083
5084 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5085 gai_strerror. Make sure xerrno is set if connect fails. Improve
5086 error recovery.
71c9ec51 5087
c70c6b58
JR
50882000-09-29 Jason Rumney <jasonr@gnu.org>
5089
5090 * w32term.c (w32_char_font_type, w32_encode_char)
5091 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5092 (w32_bdf_per_char_metric): New function.
5093 (w32_per_char_metric): Use it.
5094 (x_draw_glyph_string_background): Always draw background for BDF
5095 glyphs.
5096
5097 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5098 GDI object which is a scarce resource.
5099
5100 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5101 (get_quoted_string): Fix limit on memchr search.
5102 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5103 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5104 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5105 (get_cached_font_char, cache_char_offset): Use macro
5106 BDF_CODEPOINT_RANGE_COVER_P.
5107 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5108 (clear_cached_bitmap_slots): New function.
5109 (GET_HEX_VALUE): G-Z, g-z are not hex.
5110 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5111 (get_bitmap_with_cache): Use new cache implementation.
5112 (create_offscreen_bitmap): New function.
5113 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5114
5115 * w32term.c (x_produce_glyphs): If the distance from the current
5116 position to the next tab stop is less than a canonical character
5117 width, use the tab stop after that.
5118 (x_draw_glyphs): Handle case START and END are out of bounds more
5119 carefully.
5120 (x_clear_mouse_face): Block/unblock input.
5121 (x_display_and_set_cursor): Don't show a hollow box cursor for
5122 buffers whose cursor_type is nil.
5123
fe01239f
GM
51242000-09-29 Gerd Moellmann <gerd@gnu.org>
5125
52283633 5126 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5127
5128 * dispextern.h (updating_frame): Declare extern.
5129
e7c52f1f
AS
51302000-09-29 Andreas Schwab <schwab@suse.de>
5131
5132 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5133
de6e1f7c
GM
51342000-09-29 Gerd Moellmann <gerd@gnu.org>
5135
25126faa
GM
5136 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5137 use its function definition.
5138 (tool_bar_items): Likewise.
5139
de6e1f7c 5140 * lisp.h (fatal): Declare NO_RETURN.
52283633 5141
454ee39b
KH
51422000-09-29 Kenichi Handa <handa@etl.go.jp>
5143
5144 * keymap.c: Remove the line "#undef NULL".
5145
96301c5f
GM
51462000-09-28 Gerd Moellmann <gerd@gnu.org>
5147
52283633 5148 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5149
efffeeb4
DL
51502000-09-28 Dave Love <fx@gnu.org>
5151
ecb8b666
DL
5152 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5153
dc3cd20f
DL
5154 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5155
5156 * .gdbinit (xreload): Note its need on GNU/Linux.
5157
efffeeb4
DL
5158 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5159 r_alloc, r_alloc_free.
5160
8610d903
KH
51612000-09-28 Kenichi Handa <handa@etl.go.jp>
5162
5163 * syntax.c (skip_chars): Handle negation correctly.
5164
8901d1ac
GM
51652000-09-27 Gerd Moellmann <gerd@gnu.org>
5166
6f22f1ad
GM
5167 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5168 with non-zero FORCE_P argument.
5169
52283633 5170 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5171 Add assertions.
5172
5173 * xdisp.c (window_box_height): Add an assertion.
5174
5175 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5176 tool-bar than is available.
5177 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5178
36f1966f
DL
51792000-09-27 Dave Love <fx@gnu.org>
5180
efffeeb4 5181 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5182
31d929e5
GM
51832000-09-26 Gerd Moellmann <gerd@gnu.org>
5184
c98863bf
GM
5185 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5186 instead of BITS_PER_INT.
5187 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5188 EMACS_UINT, respectively.
5189 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5190
5191 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5192
5193 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5194
77072ab1
GM
5195 * window.c (freeze_window_starts): Construct last argument for
5196 foreach_window differently.
5197
5198 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5199
5200 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5201 EMACS_UINT instead of `int' and `unsigned int'.
5202 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5203
5204 * frame.h (struct frame): Make the `nothing' member of union
5205 output_data an EMACS_INT.
5206
52283633 5207 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5208 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5209 size in the sdata structure.
5210 (SDATA_NBYTES, SDATA_DATA): New macros.
5211 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5212 differently for the different layout of the sdata structure.
5213 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5214 in sdata.
5215 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5216 Check that size recorded in the string size and size recorded in
5217 the sdata structure agree.
5218
3e60b029
DL
52192000-09-25 Dave Love <fx@gnu.org>
5220
5221 * buffer.c: Include stdio.h.
5222
5223 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5224
3e60b029
DL
5225 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5226
5227 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5228 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5229 (__malloc_extra_blocks): Declare as __malloc_size_t.
5230
8ff16b4e
GM
52312000-09-25 Gerd Moellmann <gerd@gnu.org>
5232
755a2ccd
GM
5233 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5234
d8b4516f
GM
5235 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5236 (read_char): If help-echo is showing, preserve the echo area
5237 when redisplaying.
5238
5239 * xdisp.c (help_echo_showing_p): New variable.
5240 (set_message): Reset it to 0.
5241 (init_xdisp): Initialize help_echo_showing_p.
5242
5243 * dispextern.h (help_echo_showing_p): Declare extern.
5244
5245 * config.in: Fix typo in __GNUC_MINOR__.
5246
5247 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5248
b11af2dd
GM
5249 * s/freebsd.h (POSIX_SIGNALS): Define.
5250
8ff16b4e
GM
5251 * xterm.c (x_clear_mouse_face): Block/unblock input.
5252
844eb643
DL
52532000-09-24 Dave Love <fx@gnu.org>
5254
5255 * fns.c (base64_encode_1): Fix last change.
5256
b30ab1b3
GM
52572000-09-22 Gerd Moellmann <gerd@gnu.org>
5258
5259 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5260
5261 * xdisp.c (try_window_reusing_current_matrix): More fixes
5262 for the case window has a header-line.
5263
c6cbe5f0
DL
52642000-09-22 Dave Love <fx@gnu.org>
5265
4c7c1f3f
DL
5266 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5267 a doc string.
5268
5269 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5270
c6cbe5f0
DL
5271 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5272
550a625e
GM
52732000-09-21 Gerd Moellmann <gerd@gnu.org>
5274
4c7c1f3f 5275 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5276 for GCC >= 2.5.
5277
52283633
SM
5278 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5279 Declare NO_RETURN.
fca99116 5280
80d26f99
GM
5281 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5282 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5283 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5284 warnings.
52283633 5285
80d26f99
GM
5286 * marker.c (byte_char_debug_check): Return void.
5287
623a0aae
GM
5288 * xfns.c (Fx_create_frame): Set default frame parameter value
5289 for tool-bar-lines to 1.
5290
5291 * dispnew.c (scrolling_window): Compare y-positions of rows
5292 equal at the start. Some simplification.
5293
5294 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5295 reused rows' y-position in the case window has a header-line, and
5296 new window start is greater than old window start.
5297
42ac0ae5
GM
5298 * process.c (process_sent_to): New variable.
5299 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5300 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5301 Declare more parameters volatile.
5302
550a625e
GM
5303 * lread.c (Vrecursive_load_depth_limit): New variable.
5304 (Fload): Check recursive loads whose recursion depth exceeds
5305 Vrecursive_load_depth_limit.
5306 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5307
8320414c
GM
53082000-09-20 Gerd Moellmann <gerd@gnu.org>
5309
f46c275e
GM
5310 * fileio.c (Fread_file_name): Doc fix.
5311
5312 * editfns.c (Fmessage_or_box): Doc fix.
5313
5314 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5315
b7e11c5b 5316 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5317
8320414c
GM
5318 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5319 symbols are specified, add color translations to the cache.
52283633 5320 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5321 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5322 xpm_cache_color.
5323 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5324 structures to xpm_init_color_cache.
5325
da1608d9
GM
53262000-09-19 Gerd Moellmann <gerd@gnu.org>
5327
52283633 5328 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5329
6badfa25
AI
53302000-09-19 Andrew Innes <andrewi@gnu.org>
5331
5332 * makefile.nt (bootstrap-emacs): Don't change directory.
5333
3a5f42bb
KH
53342000-09-19 Kenichi Handa <handa@etl.go.jp>
5335
1b7649bd
KH
5336 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5337
3a5f42bb
KH
5338 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5339 If output buffer is too small, signal an appropriated error.
5340
9f83cf0b
DL
53412000-09-18 Dave Love <fx@gnu.org>
5342
52283633 5343 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5344 (current_active_maps): Remove redundant get_local_map call.
5345
28c7826c
GM
53462000-09-18 Gerd Moellmann <gerd@gnu.org>
5347
5cefa566
GM
5348 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5349 cursor for buffers whose cursor_type is nil.
52283633 5350
6fed3546
GM
5351 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5352 a feature to implement that is already implemented.
5353 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5354 warnings.
5355
5356 * xfns.c (x_clear_image_1): New function.
5357 (x_clear_image): Use it.
52283633 5358 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5359
05b1f851
GM
5360 * dispnew.c (update_window): Move test for invisible lines
5361 at the top to update_window_line.
5362 (update_window_line): Handle invisible lines here.
5363
f4779de9
GM
5364 * xfns.c (clear_image_cache): Clear current matrices of all
5365 frames sharing an image cache. Block input while freeing
5366 images. Fix timestamp comparison.
5367 (x_clear_image): Also free the mask.
5368
28c7826c
GM
5369 * xfns.c (lookup_image): Block input while loading the image so
5370 that we won't get interrupted in a state where the image isn't yet
5371 set up completely.
5372 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5373 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5374 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5375 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5376
b7412313
GM
53772000-09-16 Gerd Moellmann <gerd@gnu.org>
5378
5379 * dispnew.c (update_window): Make sure to make desired rows
5380 current even if they are completely invisible at the top
5381 of a window.
5382
47e351a3
GM
53832000-09-15 Gerd Moellmann <gerd@gnu.org>
5384
7f8f1edc
GM
5385 * xfns.c (lookup_image): Build mask before applying an algorithm.
5386 Recognize algorithm `disabled'.
5387 (cross_disabled_images): New variable.
5388 (COLOR_INTENSITY): New macro.
5389 (x_detect_edges): Use COLOR_INTENSITY.
5390 (x_disable_image): New function.
5391 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5392
5393 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5394 disabled state, don't apply an image transformation algorithm if
5395 the user specified an image for the disabled state. Use
28c7826c 5396 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5397 user hasn't specified an image.
5398
ebb8f116
GM
5399 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5400 allocation functions with the XPM lib.
5401 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5402 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5403 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5404 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5405 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5406 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5407 functions, if possible, because these handle color allocation
5408 failure more gracefully.
5409 (Fimage_mask_p): New function.
5410
47e351a3
GM
5411 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5412 (Qedge_detection, Qheuristic): New symbols.
5413 (syms_of_xfns): Initialize new symbols.
5414 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5415 `algorithm (edge-detection ...)'.
5416 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5417 (tiff_format, gif_format, gs_format): Add `:mask'.
5418 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5419 (GIF_MASK, GS_MASK): New enumerators.
5420 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5421 (emboss_matrix, laplace_matrix): New variables.
5422 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5423 (x_edge_detection): New functions.
5424 (x_laplace): Rewritten in terms of x_detect_edges.
5425 (x_build_heuristic_mask): If image has a mask, free it.
5426
fe83b953
AI
54272000-09-14 Andrew Innes <andrewi@gnu.org>
5428
5429 * makefile.w32-in: Revert to Unix line endings.
5430
3021e816
AI
54312000-09-14 Andrew Innes <andrewi@gnu.org>
5432
5433 * makefile.w32-in: Standardize indentation somewhat.
5434 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5435 cater for differences between shells.
5436
5437 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5438
2a32b5ea
GM
54392000-09-14 Gerd Moellmann <gerd@gnu.org>
5440
5441 * xterm.c (x_produce_glyphs): If the distance from the current
5442 position to the next tab stop is less than a canonical character
5443 width, use the tab stop after that.
5444
b4331e96
DL
54452000-09-14 Dave Love <fx@gnu.org>
5446
5447 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5448
ef9e4345
GM
54492000-09-14 Gerd Moellmann <gerd@gnu.org>
5450
085536c2
GM
5451 * xdisp.c (handle_fontified_prop): While running fontification
5452 functions, bind `fontification-functions' and
5453 `after-change-functions' to nil.
5454
ef9e4345
GM
5455 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5456 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5457
5458 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5459
5460 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5461 USE_MMAP_FOR_BUFFERS.
5462
5463 * insdel.c (make_gap): Use enlarge_buffer_text.
5464
5465 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5466 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5467 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5468 from former r_alloc_* functions in ralloc.c.
52283633 5469 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5470 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5471 (mmap_init) [REL_ALLOC_MMAP]: New function.
5472 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5473 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5474 BUFFER_FREE.
5475
5476 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5477 (enlarge_buffer_text): Add prototype.
5478
5479 * ralloc.c: Remove everything having to do with the use of mmap.
5480
f8608968
GM
54812000-09-13 Gerd Moellmann <gerd@gnu.org>
5482
2a494b2d
GM
5483 * sound.c (Fplay_sound): Doc fix.
5484
8c907a56
GM
5485 * keyboard.c: Avoid some more compiler warnings.
5486 (parse_tool_bar_item): Ignore cached key bindings.
5487
f8608968
GM
5488 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5489 and allocation of Lisp data.
5490
6ab70e9a
GM
54912000-09-12 Gerd Moellmann <gerd@gnu.org>
5492
d12d0a9b
GM
5493 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5494 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5495 defaults first.
5496
6ab70e9a
GM
5497 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5498
63c36c3c
KH
54992000-09-12 Miyashita Hisashi <himi@meadowy.org>
5500
5501 * ccl.c: Comment fixed.
5502 (MAX_MAP_SET_LEVEL): Increased to 30.
5503 (PUSH_MAPPING_STACK): Enclose with do-while block.
5504 (POP_MAPPING_STACK): Likewise.
5505 (stack_idx_of_map_multiple): New variable.
5506 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5507 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5508 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5509 (ccl_driver) <CCL_MapSingle>: Likewise.
5510 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5511 with the case where looking up process reaches to the end of
5512 map-set, and call CCL programs as the above change.
5513
7ee3bd7b
GM
55142000-09-11 Gerd Moellmann <gerd@gnu.org>
5515
8ec8a5ec
GM
5516 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5517 that might be clobbered by longjmp.
5518 (check_x_display_info, x_decode_color, create_frame_xic)
5519 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5520 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5521
f74b0705
GM
5522 * lread.c (init_lread): Set Vloads_in_progress to nil.
5523 (Fload): Show list of recursively loaded files, when signaling an
5524 error.
5525
7ee3bd7b
GM
5526 * lread.c (Vloads_in_progress): New variable.
5527 (record_load_unwind): New function.
5528 (Fload): Check for recursive loads.
5529 (syms_of_lread): Initialize Vloads_in_progress.
5530 (read_integer, read1): Avoid some compiler warnings.
5531
5532 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5533 compiler warnings.
5534
974e1e5b
MB
55352000-09-11 Miles Bader <miles@gnu.org>
5536
5537 * editfns.c (Fbuffer_string): Doc fix.
5538
9824c4e3
GM
55392000-09-10 Gerd Moellmann <gerd@gnu.org>
5540
5541 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5542
6a72fdd1
KR
55432000-09-09 Ken Raeburn <raeburn@gnu.org>
5544
5545 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5546 whether to include other header files.
5547
28e6fb66
GM
55482000-09-09 Gerd Moellmann <gerd@gnu.org>
5549
52283633 5550 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5551 by Fmemq as a boolean.
28e6fb66 5552
7f8b6551
SM
55532000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5554
5555 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5556
a8710abf
GM
55572000-09-08 Gerd Moellmann <gerd@gnu.org>
5558
d1a02881
GM
5559 * ralloc.c (mmap_fd): Remove initializer which can make it
5560 read-only in a dumped Emacs.
5561 (mmap_fd_1): New variable.
5562 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5563 restore it from there.
5564 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5565 unconditionally so that mmap_fd can be initialized there.
5566 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5567 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5568 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5569
c454aac1
GM
5570 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5571
5572 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5573 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5574
fc653ef2
GM
5575 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5576
3015eec0
GM
5577 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5578 inheritance.
5579
bfe0ee88
GM
5580 * xdisp.c (try_window_id): When trying to locate cursor in
5581 unchanged rows at the top, handle the case that we can't find it.
5582
a8710abf
GM
5583 * xterm.c (x_draw_glyphs): Handle case START and END are out
5584 of bounds more carefully.
5585
6b7d4ae4
DL
55862000-09-08 Dave Love <fx@gnu.org>
5587
423193c5
DL
5588 * s/sol2.h (REL_ALLOC_MMAP): Define.
5589 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5590
5591 * ralloc.c: Don't include string.h (redundant).
5592 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5593 [!MAP_ANON]: Include fcntl.h.
5594 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5595 (r_alloc, r_re_alloc, r_alloc_free)
5596 (mmap_enlarge, mmap_set_vars): Use it.
5597 (r_alloc_init_fd): New function.
5598 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5599 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5600 malloc type.
5601
5602 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5603 Remove vm-limit.o.
5604
6b7d4ae4
DL
5605 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5606 change to __NetBSD__.
5607
44d31981
KH
56082000-09-08 Kenichi Handa <handa@etl.go.jp>
5609
5610 * search.c (compile_pattern): Check the multibyteness of cached
5611 string and PATTERN.
5612
aad40737
MB
56132000-09-08 Miles Bader <miles@gnu.org>
5614
5615 * xfaces.c (default_face_vector): Function removed.
5616 (Finternal_merge_in_global_face): Restore old global/local
5617 attribute override order. Use inline loop instead of calling
5618 default_face_vector.
5619
91a211b5
GM
56202000-09-07 Gerd Moellmann <gerd@gnu.org>
5621
5622 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5623 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5624 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5625 where necessary, in case POINTER_TYPE is `void'.
5626
03419440
EZ
56272000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5628
5629 * frame.c (make_terminal_frame): Initialize frame foreground and
5630 background colors to unspecified, for the initial instance of an
5631 MSDOS frame.
5632
f46f845b
GM
56332000-09-07 Gerd Moellmann <gerd@gnu.org>
5634
24f76fbf
GM
5635 * ralloc.c (mmap_find): Fix overlap computation.
5636 (mmap_enlarge): Compute nbytes before trying to find an
5637 overlapping region.
5638
f46f845b
GM
5639 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5640 instead of `!='.
5641
5642 * lread.c (syms_of_lread): Change value of regexp
5643 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5644
5645 * xmenu.c (xdialog_show): When looking up the selection in
5646 menu_items, take `quote' boundaries into account; this corresponds
5647 to a nil ITEM in x-popup-dialog.
5648
3c014385
KH
56492000-09-07 Kenichi Handa <handa@etl.go.jp>
5650
fd6f711b
KH
5651 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5652 not 0x81.
5653 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5654
3c014385 5655 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5656 encoding, not decoding. Fix the handling of latin-jisx0201.
5657 Check for the charset katakana-jisx0201 too.
3c014385 5658 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5659 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5660
0da3ecef
GM
56612000-09-07 Gerd Moellmann <gerd@gnu.org>
5662
ab0ee409
GM
5663 * xfaces.c (Vparam_value_alist): New variable.
5664 (syms_of_xfaces): Initialize it.
5665 (Finternal_set_lisp_face_attribute): Avoid more consing.
5666
5667 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5668 specially.
5669 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5670 (Qbackground_mode): New variable.
5671 (syms_of_frame_1): Initialize Qbackground_mode.
5672
5673 * lisp.h (Qdisplay): Declare extern.
1091dd67 5674
0da3ecef
GM
5675 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5676 change face on all frames, and change the default for new frames.
5677
b14654b9
DL
56782000-09-07 Dave Love <fx@gnu.org>
5679
5680 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5681
d24fd56f
KH
56822000-09-07 Kenichi Handa <handa@etl.go.jp>
5683
794f3670
KH
5684 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5685
0fddd0dc
KH
5686 * charset.c: Include composite.h
5687 (lisp_string_width): New function.
5688 (Fstring_width): Call lisp_string_width instead of strwidth.
5689
5690 * Makefile.in (charset.o): Depends on composite.h.
5691
d24fd56f
KH
5692 * process.c (read_process_output): Before inserting the decoded
5693 text in the buffer, adjust the multibyteness.
5694
fa0b693c
GM
56952000-09-06 Gerd Moellmann <gerd@gnu.org>
5696
52283633 5697 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5698 buffer's text buffer is null, map new memory.
5699
0a58f946
GM
5700 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5701 POINTER_TYPE and size_t.
5702 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5703 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5704 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5705 [REL_ALLOC_MMAP]: New macros.
5706 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5707 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5708 [REL_ALLOC_MMAP]: New functions.
5709
5710 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5711 before and after unexec.
5712
5713 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5714 text buffers if necessary.
5715
5716 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5717 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5718 in prototypes.
5719
fa0b693c
GM
5720 * config.in (HAVE_MMAP): Add #undef.
5721
877055f6
GM
57222000-09-05 Gerd Moellmann <gerd@gnu.org>
5723
08ba3862
GM
5724 * frame.c (Qdisplay_type): New variable.
5725 (syms_of_frame_1): Initialize it.
5726 (Fframe_parameter): New function that avoids consing.
5727 (syms_of_frame): Defsubr it.
5728
66ffe51c
GM
5729 * buffer.c (Fother_buffer): Consider buffers as invisible when
5730 they are displayed in a window on an invisible frame.
5731
877055f6
GM
5732 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5733 get-largest-window always return nil.
5734
bb970e67
GM
57352000-09-04 Gerd Moellmann <gerd@gnu.org>
5736
5737 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5738 variable; recognize Emacs 19 elc files.
5739
7a3d0e0e
MB
57402000-09-04 Miles Bader <miles@gnu.org>
5741
5742 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5743 before initially popping up the menu, so the menu doesn't flash
52283633 5744 when the face settings are significantly different from the defaults.
7a3d0e0e 5745
14473664
SM
57462000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5747
5748 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5749 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5750 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5751 (BIT_UNIBYTE): Remove.
5752 (re_match_2_internal): Delete corresponding code and streamline the
5753 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5754 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5755 (re_wctype_t): New type.
5756 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5757 (regex_compile): Use them and fix handling of overly long char classes.
5758
c1174479
AI
57592000-09-03 Andrew Innes <andrewi@gnu.org>
5760
f8803e97
AI
5761 * makefile.w32-in: Change to DOS line endings.
5762
c1174479
AI
5763 * s/ms-w32.h (ORDINARY_LINK): New define.
5764
5765 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5766 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5767
5768 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5769 (distclean): Delete them here instead.
5770
44ef7cf6
AI
5771 * w32proc.c (compare_env): Convert to uppercase for comparison,
5772 not lowercase, to match how the native Windows shell works.
5773
49b3bd82
JR
57742000-09-03 Jason Rumney <jasonr@gnu.org>
5775
5776 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5777 CVS changes the line-ends when checking in/out on DOS/Windows.
5778
5779 * makefile.nt (emacs): Do not change directory to run temacs, as
5780 the load-path is set relative to current directory.
5781
a3d35a39
MB
57822000-09-03 Miles Bader <miles@gnu.org>
5783
5784 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5785
d276b0cf
GM
57862000-09-02 Gerd Moellmann <gerd@gnu.org>
5787
715e84c9
GM
5788 * xdisp.c (redisplay_mode_lines): New function.
5789 (display_mode_lines): Return number of mode lines displayed.
5790 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5791 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5792
8892f40b
GM
5793 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5794 string.h and strings.h.
5795 (index) [HAVE_INDEX]: Add prototype.
5796
d276b0cf
GM
5797 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5798 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5799
5800 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5801 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5802
38404229
GM
58032000-09-01 Gerd Moellmann <gerd@gnu.org>
5804
5805 * lread.c (read1): Accept `?' as symbol constituent, for
5806 compatiblity with XEmacs.
5807
c0f9ea08
SM
58082000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5809
5810 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5811 (struct re_pattern_buffer): Remove newline_anchor.
5812 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5813 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5814 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5815 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5816 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5817 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5818 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5819 Get rid of references to newline_anchor.
5820 (regcomp): Allocate and precompute a fastmap.
5821
8c0f83fe
GM
58222000-08-31 Gerd Moellmann <gerd@gnu.org>
5823
5824 * lread.c (openp): GCPRO local variable `filename'.
5825
4bb91c68
SM
58262000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5827
5828 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5829
5830 * regex.c: Merge some changes from GNU libc. Add prototypes.
5831 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5832 Use memcmp and memcpy instead of bcopy and bcmp.
5833 (init_syntax_once): Use ISALNUM.
5834 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5835 (REG_UNSET_VALUE): Remove. Use NULL instead.
5836 (REG_UNSET, re_match_2_internal): Use NULL.
5837 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5838 New macros.
5839 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5840 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5841 (regex_compile): In handle_interval, return an error rather than try to
5842 unfetch the interval if we can't find the closing brace.
5843 Obey the RE_NO_GNU_OPS syntax bit.
5844 (TOLOWER): New macro.
5845 (regcomp): Use it.
5846 (regexec): Allocate regs.start and regs.end as one block.
5847
5226a931
GM
58482000-08-30 Gerd Moellmann <gerd@gnu.org>
5849
868dd24b
GM
5850 * xdisp.c (echo_area_display): Check display_completed instead
5851 of calling detect_input_pending.
5852
5853 * dispnew.c (update_frame): Only set display_completed here; move
5854 the update_begin and update_end calls here from update_frame_1.
5855 (update_frame_1): Don't set display_completed here, don't call
5856 update_begin/update_end.
5857
5226a931
GM
5858 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5859 instead of store_frame_param.
5860
2a8bd25f
GM
58612000-08-29 Gerd Moellmann <gerd@gnu.org>
5862
5863 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5864 desired window matrix hasn't been displayed, use the current row
5865 instead. Make sure that only those frame rows are updated for
5866 which there exists a corresponding enabled desired row.
52283633 5867
ba3478d9
MB
58682000-08-29 Miles Bader <miles@gnu.org>
5869
5870 * xfaces.c (default_face_vector): New function.
5871 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5872
87d0f685
GM
58732000-08-29 Gerd Moellmann <gerd@gnu.org>
5874
5875 * lread.c (openp): Prevent temporary string passed to
5876 Ffile_readable_p from being garbage collected.
5877
6fa86045
DL
58782000-08-28 Dave Love <fx@gnu.org>
5879
5880 * keymap.c (store_in_keymap): Add `static' to declaration.
5881
bb17930d
GM
58822000-08-28 Gerd Moellmann <gerd@gnu.org>
5883
5884 * emacs.c, callint.c, doc.c, editfns.c
5885 (toplevel) [HAVE_STRING_H]: Include string.h.
5886 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5887 (index): Remove prototypes which might conflict with non-standard
5888 definitions of index/strchr.
5889
5890 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5891 (rindex): Define only if !HAVE_RINDEX.
5892
5893 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5894
5895 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5896
87188200
MB
58972000-08-28 Miles Bader <miles@gnu.org>
5898
5899 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5900 made inconsistent by a font-related attribute in FROM.
5901 (merge_face_inheritance): Add function comment.
5902
41a68aef
KH
59032000-08-28 Kenichi Handa <handa@etl.go.jp>
5904
5905 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5906 the 4th arg (PREV_EVENT) Qt to suppress input method.
5907
f7c436c1
SM
59082000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5909
0b32bf0e
SM
5910 * regex.c: Indent cpp directives and remove parens after `defined'.
5911 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5912 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5913 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5914 (re_compile_pattern): Use size_t for length.
5915 (init_syntax_once): Move to a better place.
5916 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5917 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5918
f7c436c1
SM
5919 * syntax.c (back_comment): Detect cases where a comment-starter is
5920 actually inside another comment as in: /* a // b */ c // d \n.
5921 Make it clear that `comstart_pos' is unused for nested comments.
5922
5923 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5924 (KEYMAPP): New macro.
5925 (Fkeymap_parent, Fset_keymap_parent): Use it.
5926 (fix_submap_inheritance): Mark it static.
5927 (define_as_prefix, describe_buffer_bindings, describe_command)
5928 (describe_translation, describe_map): Complete prototypes.
5929
5930 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5931
5932 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5933 to better match the key-lookup behavior.
5934
6288c62f
GM
59352000-08-27 Gerd Moellmann <gerd@gnu.org>
5936
5937 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5938 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5939
e931344e
EZ
59402000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5941
5942 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5943 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5944 (xterm.o): Depend on coding.h
5945
d10dfeef
KH
59462000-08-26 Kenichi Handa <handa@etl.go.jp>
5947
5948 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5949 the corresponding '#endif'.
5950
2d73e8d3
MB
59512000-08-26 Miles Bader <miles@gnu.org>
5952
5953 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5954 * xfaces.c (QCinherit): New variable.
5955 (syms_of_xfaces): Initialize it.
5956 (LFACE_INHERIT): New macro.
5957 (Finternal_get_lisp_face_attribute)
52283633 5958 (merge_face_vector_with_property)
2d73e8d3
MB
5959 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5960 (check_lface_attrs): Allow new types of face height. Check
5961 inherit attribute.
5962 (CYCLE_CHECK): New macro.
5963 (merge_face_inheritance): New function.
5964 (merge_face_vectors): Merge inherited faces too. Add F and
5965 CYCLE_CHECK arguments.
5966 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5967 (lookup_named_face, lookup_derived_face, realize_named_face)
5968 (face_at_string_position, face_at_buffer_position): Supply
5969 new F and CYCLE_CHECK arguments to merge_face_vectors.
5970 (merge_face_heights): New function.
52283633 5971 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5972 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5973 handle relative face heights.
5974 (lface_same_font_attributes_p): Compare heights using EQ.
5975
6ce974d4
KH
59762000-08-26 Kenichi Handa <handa@etl.go.jp>
5977
5978 * charset.c (char_to_string): Check the character validity.
52283633 5979 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5980
dc1e502d
SM
59812000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5982
5983 * regex.c (PUSH_FAILURE_COUNT): New macro.
5984 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5985 Handle popping of a register's or a counter's data.
5986 (POP_FAILURE_POINT): Use the new name.
5987 (re_match_2_internal): Push counter data on the stack for succeed_n,
5988 jump_n and set_number_at and remove misleading dead code in succeed_n.
5989
bd9d0f3f
GM
59902000-08-25 Gerd Moellmann <gerd@gnu.org>
5991
5992 * xdisp.c (redisplay_internal): If considering all windows on all
5993 frames, update the display for each frame as soon as possible,
5994 instead of first building all desired matrices for all frames, and
5995 then updating them all.
5996 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5997
aa5b8e15
GM
59982000-08-24 Gerd Moellmann <gerd@gnu.org>
5999
17494071
GM
6000 * bytecode.c (mark_byte_stack): Add a comment.
6001
52283633
SM
6002 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6003 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6004 a graphical frame.
6005
c543db81
KH
60062000-08-24 Kenichi Handa <handa@etl.go.jp>
6007
d246d5f5
KH
6008 * minibuf.c (do_completion): Always use compare-string, not
6009 string-equal because the latter doesn't pay attention to
6010 multibyteness of strings.
6011
c543db81
KH
6012 * process.c (create_process): Don't setup raw-text coding here.
6013 (Fopen_network_stream): Don't set coding->src_multibyte and
6014 coding->dst_multibyte here.
6015 (read_process_output): For process filter, return unibyte string
6016 if default-enable-multibyte-characters is nil.
6017 (send_process): If OBJECT is multibyte text, be sure to encoded it
6018 by the specified coding system for the process. Otherwise, setup
6019 raw-text coding.
52283633 6020 (init_process): Don't initialize default-process-coding-system here.
c543db81 6021
9b47cfe0
EZ
60222000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6023
6024 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6025 <scroll-down-aggressively>: Likewise.
6026
f5a36960
KH
60272000-08-23 Kenichi Handa <handa@etl.go.jp>
6028
6029 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6030 zero. Set coding->produced_char correctly.
6031
69a7ffa7
AI
60322000-08-22 Andrew Innes <andrewi@gnu.org>
6033
6034 * makefile.w32-in: New file.
6035
6036 * unexw32.c (unexec): Ignore old_name, and use the actual location
6037 of the current executable instead. Base new_name on this.
6038
6039 * w32proc.c (create_child): Remove reference to security
6040 descriptor, which isn't needed and doesn't compile with mingw32.
6041
6042 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6043 up dllimport attributes.
6044 (x_update_window_end): Update prototype.
6045
6046 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6047 extern, which screws up dllimport attributes.
6048
6049 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6050 up dllimport attributes.
6051
6052 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6053 screws up dllimport attributes.
6054
6055 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6056 up dllimport attributes.
6057 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6058 screws up dllimport attributes.
6059
6060 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6061 up dllimport attributes.
6062
6063 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6064 screws up dllimport attributes.
6065
6066 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6067 screws up dllimport attributes.
6068
6069 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6070 up dllimport attributes.
6071
6072 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6073 unnecessary extern, which screws up dllimport attributes.
6074 (main): Ditto.
6075
6076 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6077 up dllimport attributes.
6078
6079 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6080 unnecessary extern, which screws up dllimport attributes.
6081
6082 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6083 screws up dllimport attributes.
6084
6085 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6086 up dllimport attributes.
6087
6088 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6089
52283633
SM
6090 * w32bdf.c (search_file_line):
6091 (set_bdf_font_info):
6092 (seek_char):
6093 (w32_get_bdf_glyph):
69a7ffa7
AI
6094 (w32_BDF_to_x_font): Fix compile warnings.
6095
52283633 6096 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6097
6098 * w32select.c: Include keyboard.h before frame.h.
6099
6100 * w32fns.c (max): Define macro.
6101 (JOHAB_CHARSET): Define if not known.
6102 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6103 (Fx_show_tip): Synch with X version.
6104
6105 * w32xfns.c: Include keyboard.h before frame.h.
6106
6107 * w32fns.c: Include keyboard.h before frame.h.
6108
6109 * w32term.c: Include keyboard.h before frame.h.
6110
6111 * fontset.c: Include keyboard.h before frame.h.
6112
6113 * w32inevt.c: Include keyboard.h before frame.h.
6114 (MOUSE_MOVED): Define if not known.
6115
6116 * minibuf.c: Include keyboard.h before frame.h.
6117
6118 * keyboard.c: Include keyboard.h before frame.h.
6119
6120 * indent.c: Include keyboard.h before frame.h.
6121
6122 * dispnew.c: Include keyboard.h before frame.h.
6123
6124 * buffer.c: Include keyboard.h before frame.h.
6125
6126 * alloc.c: Include keyboard.h before frame.h.
6127
6128 * print.c: Include keyboard.h before frame.h.
6129
6130 * process.c: Include keyboard.h before frame.h.
6131
6132 * scroll.c: Include keyboard.h before frame.h.
6133
6134 * sysdep.c: Include keyboard.h before frame.h.
6135
6136 * term.c: Include keyboard.h before frame.h.
6137
6138 * window.c: Include keyboard.h before frame.h.
6139
6140 * xdisp.c: Include keyboard.h before frame.h.
6141 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6142
6143 * frame.c: Include keyboard.h before frame.h.
6144
6145 * w32heap.h: Undefine min, max.
6146
6147 * w32gui.h: Undefine min, max.
6148
6149 * unexw32.c: Change PUCHAR to PCHAR.
6150 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6151 (relocate_offset):
6152 (get_section_info):
69a7ffa7
AI
6153 (copy_executable_and_dump_data): Remove unnecessary static defs.
6154 (copy_executable_and_dump_data): Fix compile warnings.
6155
6156 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6157
6158 * w32console.c (min): Define macro.
6159 (clear_frame, write_glyphs): Fix compile warning.
6160
52283633 6161 * w32proc.c (compare_env):
69a7ffa7
AI
6162 (find_child_console): Fix compile warning.
6163
6164 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6165 sys_errlist instead of _sys_errlist.
6166 (get_emacs_configuration_options): New function.
6167
6168 * s/ms-w32.h (sys_nerr): Provide default definition.
6169 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6170 name with _ prepended.
6171 (NSIG): Define if not known.
6172 (get_emacs_configuration): Provide extern declaration.
6173 (get_emacs_configuration_options): Provide extern declaration.
6174 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6175
6176 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6177 (map_w32_filename):
69a7ffa7
AI
6178 (read_unc_volume): Fix compile warning.
6179
6180 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6181 definitions from being used.
6182
6183 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6184
52283633 6185 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6186 (open_unc_volume): Make arg const.
6187
6188 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6189 (read_input_waiting): Remove excess parameter.
6190
6191 * w32.c (init_environment): Call _access.
6192 (check_windows_init_file): Call _close.
6193 (init_user_info): Call _putenv.
6194 (init_environment): Call _putenv and _strdup.
6195 (init_ntproc): Reset volume info cache on startup.
6196
6197 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6198 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6199 cannot override the CRT malloc.
6200
6201 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6202 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6203
6204 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6205 unless we are linking with a static CRT.
6206 (RVA_TO_PTR): Cast result to unsigned char*.
6207
6208 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6209 (add_volume_info): Use xstrdup.
6210
25060080
SM
62112000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6212
6213 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6214 (do_completion, Fminibuffer_complete_word): Use it.
6215 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6216 var so it can take non-boolean values.
6217
6917e6bb
GM
62182000-08-21 Gerd Moellmann <gerd@gnu.org>
6219
acb7cc89 6220 * editfns.c (find_field): Formatting changes.
52283633 6221 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6222 changed to prototypes, some new protypes added, some functions
6223 made static.
6224
6225 * lisp.h (set_time_zone_rule): Add prototype.
6226 (use_dialog_box): External declaration.
6227
0bbfdc25
GM
6228 * keyboard.c (gen_help_event): Add parameter SIZE.
6229 (kbd_buffer_events_waiting): Slightly rewritten.
6230 (clear_event): New function.
6231 (kbd_buffer_get_event): Use it, and clear the input_events of
6232 HELP_EVENTs.
6233 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6234 don't fill the newly created array with nils.
6235 (toplevel): Convert some old-style function forward declarations
6236 to prototypes.
6237
6238 * keyboard.h (gen_help_event): Change prototype.
6239
6240 * xterm.c (XTread_socket): Change calls to gen_help_event.
6241
6242 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6243
6917e6bb
GM
6244 * eval.c (Fmacroexpand): Doc fix.
6245
e5cd3d11
JR
62462000-08-20 Jason Rumney <jasonr@gnu.org>
6247
6248 * w32term.h (x_display_info_for_display): Remove as this function
6249 does not exist on W32.
6250
6251 * w32term.c (help_echo_window): New variable.
6252 (syms_of_w32term): staticpro it.
6253 (note_mode_line_highlight): Set it.
6254 (XTextExtents16): Removed as there is no equivalent on W32.
6255 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6256 the X way of doing this will not work for W32.
6257 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6258 (x_draw_image_foreground): Avoid drawing outside of the clip area
6259 when image doesn't have a mask.
6260 (note_mouse_highlight): Process overlays in the right order of
6261 priority. Set help_echo_window.
6262 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6263 because that's more visible for large images.
6264
6265 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6266 name to single_keymap_panes.
6267 (w32_menu_show): Set wv->title when dealing with titles.
6268 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6269
6e69ab8c
MB
62702000-08-21 Miles Bader <miles@gnu.org>
6271
6272 * minibuf.c (do_completion): Try again if we rewrite the input
6273 string, but no completion was done, so that any completion message
6274 will be correct.
6275
511bd4eb
GM
62762000-08-20 Gerd Moellmann <gerd@gnu.org>
6277
6278 * xfaces.c (lface_equal_p): Compare strings differently.
6279 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6280 (realize_tty_face): Use them.
6281 (syms_of_xfaces): Initialize new variables.
6282 (map_tty_color): New function, extracted from realize_tty_face.
6283 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6284 foreground or background color, store the new color name in the
6285 realized face; previous code trying to do this had no effect.
6286 (realize_tty_face): Use map_tty_color.
6287 (Fclear_face_cache): Set face_change_count and ensure thorough
6288 redisplay.
6289
1433385f
GM
62902000-08-19 Gerd Moellmann <gerd@gnu.org>
6291
511bd4eb
GM
6292 * undo.c (record_first_change, record_marker_adjustment): Don't
6293 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6294
419ac0a2
KH
62952000-08-18 Kenichi Handa <handa@etl.go.jp>
6296
6297 * coding.c (decode_coding_string): Set members consumed,
6298 consumed_char, produced, produced_char of *coding correctly. If
6299 decode_coding doesn't consume any byte, don't try anymore.
6300 (encode_coding_string): Likewise.
6301
7eb9e30d
GM
63022000-08-18 Gerd Moellmann <gerd@gnu.org>
6303
511bd4eb
GM
6304 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6305 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6306
6307 * xdisp.c (redisplay_internal): Compare windows for equality with
6308 EQ, instead of applying XWINDOW to something that might not
6309 be a window.
52283633 6310
dd34a735
KH
63112000-08-18 Kenichi Handa <handa@etl.go.jp>
6312
6313 * fontset.c (Finternal_char_font): Search only the selected frame
6314 for a window of the current buffer.
6315
385ff9e3
GM
63162000-08-18 Gerd Moellmann <gerd@gnu.org>
6317
511bd4eb 6318 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6319 Lisp_Objects.
6320
385ff9e3
GM
6321 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6322 second half of a HELP_EVENT is found at the start of kbd_buffer.
6323
d6abb4c7
MB
63242000-08-18 Miles Bader <miles@gnu.org>
6325
4618074a
MB
6326 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6327
d6abb4c7
MB
6328 * editfns.c (save_restriction_save): Rewrite to use markers.
6329 (save_restriction_restore): Rewrite to understand new form of data
6330 saved by save_restriction_save.
6331 (Fsave_restriction): Remove cautionary note in doc-string.
6332
a7b28523
GM
63332000-08-17 Gerd Moellmann <gerd@gnu.org>
6334
6335 * fileio.c (build_annotations): Add a comment explaining the
6336 return value of format-annotate-function. Replace a spurious call
6337 to Flength with a CONSP test. Call format-annotate-function with
6338 a fifth arg specifying how many times the function is been called
6339 in a row, to let it choose temporary buffers appropriately.
6340
03c9ed77
DL
63412000-08-17 Dave Love <fx@gnu.org>
6342
6343 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6344 declare make_temp_name twice.
6345
52283633 6346 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6347 (unreadpure): Give it an arg.
6348
6349 * unexalpha.c: Prototype fatal_unexec, mark_x,
6350 update_dynamic_symbols. Declare unexec as void.
6351
6352 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6353 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6354
6355 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6356 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6357
6358 * alloca.c: Use #error.
6359 [POINTER_TYPE]: Use it.
6360
6361 * eval.c (Fdefvar): Doc fix.
6362
6363 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6364 INITIALIZE_INTERVAL.
6365
6366 * buffer.h: Avoid DECLARE_INTERVALS.
6367
6368 * config.in: Add size_t.
6369
aae41d97
EZ
63702000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6371
6372 * w16select.c (set_clipboard_data): If there's not enough memory
6373 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6374 expects. In case of other failures, return 3.
6375 (system_error_msg): New error message.
6376 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6377 system_error_msg.
6378
65aa5e85
GM
63792000-08-16 Gerd Moellmann <gerd@gnu.org>
6380
6381 * term.c (write_glyphs): Also turn off inverse video after turning
6382 off other appearances in case TS_exit_attribute_mode is not equal
6383 to TS_end_standout_mode.
6384 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6385 with the same face.
6386 (turn_off_face): Reset standout_mode only if
6387 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6388 is equal to TS_end_standout_mode.
6389
ece23901
KH
63902000-08-16 Kenichi Handa <handa@etl.go.jp>
6391
9d7bcb2e
KH
6392 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6393 sequence at the end of the source block.
6394
ece23901
KH
6395 * ccl.c (Fccl_program_p): Docstring modified.
6396 (Fccl_execute): Likewise.
6397 (Fccl_execute_on_string): Likewise.
6398
5e30eaa2
EZ
63992000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6400
6401 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6402
290602fd
KH
64032000-08-16 Kenichi Handa <handa@etl.go.jp>
6404
6405 The following changes are mainly to fix bugs of
6406 encode/decode-coding-string failing if encoding/decoding return
6407 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6408 variable conversion_buffer.
6409
6410 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6411 decrement dst_end to avoid buffer overflow in the later call of
6412 string_as_multibyte
6413
6414 * coding.h (conversion_buffer_size, conversion_buffer)
6415 (get_conversion_buffer): Extern deleted.
6416
6417 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6418 (conversion_buffer, conversion_buffer_size): Variables deleted.
6419 (get_conversion_buffer): Function deleted.
6420 (struct conversion_buffer): New structure.
6421 (MAX_ALLOCA): New macro.
6422 (allocate_conversion_buffer): New macro.
6423 (extend_conversion_buffer, free_conversion_buffer): New functions.
6424 (ccl_coding_driver): Set coding->result.
6425 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6426 this is the last block of source.
6427 (encode_coding): Likewise. Handle the source block as the last
6428 one only when the whole source text is consumed.
6429 (decode_coding_string): Handle the case that the output buffer is
6430 too small to decode the whole source text. Use
6431 allocate_conversion_buffer, extend_conversion_buffer and
6432 free_conversion_buffer, not get_conversion_buffer.
6433 (encode_coding_string): Likewise.
6434 (init_coding): Function deleted.
52283633 6435 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6436
6437 * emacs.c (main): Don't call init_coding.
6438
52283633 6439 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6440
6441 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6442 (insert_glyphs): Likewise.
6443
6444 * w32console.c (write_glyphs): Use a locally declared
6445 conversion_buffer.
6446
b9f80d41
EZ
64472000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6448
6449 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6450 member of display_info is NULL.
6451
32dc52f7
GM
64522000-08-15 Gerd Moellmann <gerd@gnu.org>
6453
52283633 6454 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6455
32dc52f7 6456 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6457 appearances with capability `me'.
32dc52f7
GM
6458 (write_glyphs): Switch on inverse video before each face change.
6459
4eb22d33
DL
64602000-08-14 Dave Love <fx@gnu.org>
6461
6462 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6463 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6464 (lisp_free): Declare and make static.
6465
6466 * window.c: Fix embedded comment.
6467 (syms_of_window): Fix doc string.
6468
90cbf47e
GM
64692000-08-14 Gerd Moellmann <gerd@gnu.org>
6470
52283633 6471 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6472 make sure to print `C-' before `M-', like in the manual.
6473
440fc135
GM
64742000-08-11 Gerd Moellmann <gerd@gnu.org>
6475
6476 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6477 since they aren't relocated anymore.
52283633 6478 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6479
6480 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6481 partially visible line which is smaller than the window's height.
440fc135 6482
6e264fad
KH
64832000-08-11 Kenichi Handa <handa@etl.go.jp>
6484
6485 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6486 the multibyte form of eight-bit-control characters.
6e264fad
KH
6487 (Fccl_execute_on_string): Initialize ccl->multibyte.
6488
6489 * ccl.h (struct ccl_program): New member multibyte.
6490
6491 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6492
c371f69a
KH
64932000-08-11 Kenichi Handa <handa@etl.go.jp>
6494
6495 * regex.c (regex_compile) <normal_char>: Pay attention to
6496 multibyteness.
6497 (analyse_first) <exactn>: Setup fastmap correctly for
6498 eight-bit-control characters.
6499
65002000-08-11 Kenichi Handa <handa@etl.go.jp>
6501
52283633 6502 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6503
6504 * keyboard.c (make_lispy_event): Handle the new event type
6505 multibyte_char_keystroke.
6506
6507 * xterm.c: Include coding.h.
6508 (XTread_socket): Work around a bug of XmbLookupString. If the
6509 input is from XIM, decode it according to the current locale. In
6510 that case, generate multibyte_char_keystroke events.
6511
b8ddbe71
KH
65122000-08-11 Kenichi Handa <handa@etl.go.jp>
6513
6514 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6515 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6516
47589c8c
GM
65172000-08-10 Gerd Moellmann <gerd@gnu.org>
6518
6519 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6520 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6521 (move_it_in_display_line_to): Record iterator's ascent and descent
6522 before producing glyphs, and restore them when we know the glyph
6523 doesn't fit on the line.
6524 (move_it_to): Restructured so that it's easier to debug. If
6525 moving to a vpos, and not moving to an x or character position,
6526 stop as soon as the specified vpos is reached; don't move further
6527 into that line because that might change the computed line height.
6528 (try_cursor_movement): New function, extracted from the cursor
6529 movement branch of redisplay_window. If ending on a partially
6530 visible line, don't try to scroll if the cursor line is taller
6531 than the window.
6532 (redisplay_window): Use try_cursor_movement.
6533
6534 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6535 because that function doesn't cope with variable-height lines.
6536
6537 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6538 box cursor because that's better visible for large images.
52283633 6539
c51bacd6
MB
65402000-08-10 Miles Bader <miles@gnu.org>
6541
6542 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6543
bea56df7
GM
65442000-08-10 Gerd Moellmann <gerd@gnu.org>
6545
6546 * xdisp.c (Vmessages_buffer_name): New variable.
6547 (message_dolog): Use it.
6548 (syms_of_xdisp): Initialize it.
6549
99cd7364
EZ
65502000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6551
52283633 6552 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6553 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6554 redundant now that keyboard.h is included.
6555
7d093d56
EZ
65562000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6557
6558 * keyboard.c (kbd_buffer_events_waiting): New function.
6559
6560 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6561
6562 * msdos.c: Include keyboard.h.
6563 (XMenuActivate): Empty no_event events from the event buffer. If
6564 no events are left after that, call clear_input_pending.
6565 (mouse_clear_clicks): New function, code moved from mouse_init.
6566 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6567 mouse driver to ``forget'' any past clicks.
6568
6569 * Makefile.in (msdos.o): Depend on keyboard.h.
6570
41e757a6
GM
65712000-08-09 Gerd Moellmann <gerd@gnu.org>
6572
8e7bd231
GM
6573 * lisp.h (input_pending): External declaration.
6574
6575 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6576
8e7bd231
GM
6577 * xdisp.c (echo_area_display): Display thoroughly if input is
6578 pending. Bind redisplay-dont-pause to t during the redisplay.
6579 in case input is pending.
6580
6581 * dispnew.c (Qredisplay_dont_pause): New variable.
6582 (syms_of_display): Initialize and staticpro it.
6583 (update_frame_1): Don't interrupt the display for pending input if
6584 redisplay_dont_pause is set.
52283633 6585
43028b7e
GM
6586 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6587
41e757a6
GM
6588 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6589
2f2174fa
KH
65902000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6591
6592 * callproc.c (Fcall_process): Terminate the unwind-protect around
6593 the post-read-conversion of coding system.
6594
0a6fd67e
MB
6595 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6596 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6597 * buffer.h (overlays_at): Update prototype.
6598 * xdisp.c (next_overlay_change): Update call to overlays_at.
6599 * xfaces.c (face_at_buffer_position): Likewise.
6600 * textprop.c (Fget_char_property): Likewise.
6601 * xterm.c (note_mouse_highlight): Likewise.
6602
0c80756e
MB
6603 * minibuf.c (do_completion): Don't consider a simple change of
6604 case as `completion'.
6605
975f250a
KR
66062000-08-08 Ken Raeburn <raeburn@gnu.org>
6607
52283633 6608 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6609 * undo.c (record_delete): Make sure last_point_position_buffer is
6610 a buffer before comparing pointers.
6611
6612 * coding.h (decode_coding_string): Declare.
6613
6614 * intervals.h (Fprevious_single_char_property_change): Declare.
6615
6616 * textprop.c (Fprevious_single_char_property_change): Don't do
6617 arithmetic directly on lisp objects.
6618
52283633 6619 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6620
6621 * keyboard.h (menu_item_eval_property): Declare.
6622
6623 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6624 reuse as buffer name, instead of recreating (and discarding) every
6625 time a message is logged.
6626 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6627 (current_message_1, truncate_message_1, set_message_1)
6628 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6629 (current_message, truncate_echo_area, display_echo_area)
6630 (resize_echo_area_axactly): Changed calls.
b347b3fd 6631
975f250a 6632 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6633 Lisp object.
975f250a 6634 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6635 must be an integer, not a Lisp object.
975f250a 6636
46dc9912
KH
66372000-08-08 Kenichi Handa <handa@etl.go.jp>
6638
6639 * charset.c (Fchar_width): Doc fix.
6640
9f6d1a6c
GM
66412000-08-08 Gerd Moellmann <gerd@gnu.org>
6642
6643 * charset.c (Fstring_width): Doc fix.
6644
ff3d9573
GM
66452000-08-07 Gerd Moellmann <gerd@gnu.org>
6646
41e757a6 6647 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6648 line, clear ascent and descent members of the iterator structure;
6649 the height of the continued line does not affect the height of the
6650 continuation line.
6651 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6652 line taller than the window.
6653 (redisplay_window) <forced window start>: Handle case that the
6654 middle of the window is not found in any row.
6655 (dump_glyph_row): Show more information.
6656 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6657 first text line in a glyph matrix.
6658
6659 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6660 of the clip area when image doesn't have a mask.
6661
70fc58b3
GM
6662 * fns.c (sweep_weak_table): Fix survival conditions for
6663 key-or-value and key-and-value weakness.
6664
6665 * .gdbinit (xhashtable): New command.
6666
ac0e96ee
GM
6667 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6668 tables out of the list of all weak hash tables.
6669
ff3d9573
GM
6670 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6671 a new buffer is created, make sure echo_area_buffer[] references
6672 the new buffer.
6673
e0d8827b
EZ
66742000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6675
6676 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6677 the doc string.
6678
c6f35378
KH
66792000-08-07 Kenichi Handa <handa@etl.go.jp>
6680
6681 * syntax.c (skip_chars): Fix previous change. Make the handling
6682 of unibyte string consistent with that of regex search.
6683
1fd4c450
GM
66842000-08-05 Gerd Moellmann <gerd@gnu.org>
6685
e49aa397
GM
6686 * xmenu.c (popup_get_selection): Use xfree instead of free.
6687
6688 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6689
6690 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6691
6692 * callproc.c (child_setup): Use xfree instead of free.
6693
6694 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6695 instead of malloc.
6696 (run_mac_command, closedir): Use `xfree' instead of `free'.
6697
6698 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6699
6700 * eval.c (error): Use xfree instead of free.
6701
1fd4c450
GM
6702 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6703
6704 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6705 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6706
82d497fc
KH
67072000-08-05 Kenichi Handa <handa@etl.go.jp>
6708
6709 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6710 conversion.
6711
59f953a2
NF
67122000-08-04 Noah Friedman <friedman@splode.com>
6713
6714 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6715 docstring.
6716
688351f2
GM
67172000-08-04 Gerd Moellmann <gerd@gnu.org>
6718
6719 * syntax.c (skip_chars): Fix typo in error message.
6720
2dad51cc
AS
67212000-08-04 Andreas Schwab <schwab@suse.de>
6722
6723 * m/ia64.h: Moved from s/ia64.h.
6724
99bb2c60
KH
67252000-08-04 Kenichi Handa <handa@etl.go.jp>
6726
082a1df2
KH
6727 * process.c (read_process_output): Big simplification. Handle
6728 composition and post-read-conversion of coding system correctly.
6729 (send_process): Handle composition correctly.
6730
6731 * callproc.c (Fcall_process): Handle post-read-conversion of
6732 coding system if any.
6733
99bb2c60
KH
6734 * coding.c (decode_coding_iso2022): More strict check for handling
6735 single shifting.
082a1df2
KH
6736 (coding_restore_composition): Pay attention to the case that
6737 cmp_data is not set properly (because of invalid code in the
6738 source text).
6739 (run_pre_post_conversion_on_str): Include text properties in the
6740 resulting string.
6741 (decode_coding_string): Set members of coding correctly.
99bb2c60 6742
f4988be7
GM
67432000-08-03 Gerd Moellmann <gerd@gnu.org>
6744
6745 * s/ia64.h: New file.
6746
6747 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6748 Use NULL instead of 0 at the end of variable argument list of
6749 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6750 sizeof (int) < sizeof (void *).
6751
6752 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6753 of variable argument lists of XtVaGetValues and XtVaSetValues.
6754
6755 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6756 variable argument lists of XtVaGetValues and XtVaSetValues.
6757
ead53494
GM
67582000-08-02 Gerd Moellmann <gerd@gnu.org>
6759
6760 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6761 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6762
6763 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6764 prototype.
6765
6766 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6767 in call to Fsingle_key_description.
6768
6769 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6770 Callers changed.
6771
67722000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6773
6774 * window.c (display_buffer_reuse_frames): New variable.
6775 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6776 frames displaying BUFFER.
52283633 6777 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6778
10b0f752
MB
67792000-08-01 Miles Bader <miles@gnu.org>
6780
6781 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6782 when to constrain NEW_POS (they were pretty screwed up before).
6783
16425c4a
EZ
67842000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6785
6786 * msdos.c (run_msdos_command): Save and restore the master
6787 environment, for the case that child_setup signals an error.
6788 When mirroring slashes in DOS shell commands, don't fail when
6789 argv[2] has embedded blanks.
da288c14
EZ
6790 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6791 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6792 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6793
6794 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6795 using alloca; free it after run_msdos_command returns.
6796
27f73852
DL
67972000-07-27 Dave Love <fx@gnu.org>
6798
52283633
SM
6799 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6800 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6801
6802 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6803
c0261b5e
EZ
68042000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6805
6806 * editfns.c (lisp_time_argument): Fix last change.
6807
b548072f
GM
68082000-07-27 Gerd Moellmann <gerd@gnu.org>
6809
3ab82477
GM
6810 * fns.c (Fdelete): Make it work on vectors and strings in addition
6811 to lists.
6812
b548072f
GM
6813 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6814 (syms_of_fns): Initialize new variables.
52283633 6815 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6816 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6817 weakness, with t meaning the same as `key-and-value'.
6818
91ae8751
KH
68192000-07-27 Kenichi Handa <handa@etl.go.jp>
6820
6821 * coding.h (struct coding_system): Member safe_charset deleted.
6822
6823 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6824 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6825 New variables.
91ae8751
KH
6826 (coding_safe_chars): New function.
6827 (CODING_SAFE_CHAR_P): New macro.
6828 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6829 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6830 (detect_coding_iso2022): New local variable safe_chars.
6831 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6832 safe_charsets member of the coding system.
6833 (decode_coding_iso2022): New local variable safe_chars.
6834 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6835 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6836 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6837 (ENCODE_UNSAFE_CHARACTER): New macro.
6838 (encode_coding_iso2022): New local variable safe_chars. Check
6839 unsafe chars.
6840 (setup_coding_system): Delete the code to initialize
6841 coding->safe_charses
6842 (intersection, find_safe_codings): New functions.
6843 (Ffind_coding_systems_region_internal): New function.
6844 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6845 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6846 variable and initialize it.
6847
6848 * fns.c (char_table_ref_and_index): New function.
6849
6850 * lisp.h (char_table_ref_and_index): Add prototype.
6851
34a7a267
SS
68522000-07-26 Sam Steingold <sds@gnu.org>
6853
6854 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6855 (Ffloat_time): New built-in Lisp function.
34a7a267 6856
a95cb10a
GM
68572000-07-26 Gerd Moellmann <gerd@gnu.org>
6858
3353ef5a
GM
6859 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6860 for the character code.
6861
6862 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6863 GNU/Linux.
6864
a95cb10a
GM
6865 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6866 if called for a popup menu.
6867 (xmenu_show): Store help string in widget values.
6868
b4a12321
DL
68692000-07-26 Dave Love <fx@gnu.org>
6870
6871 * syswait.h: Move some definitions.
6872 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6873 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6874 perspicuous definitions.
6875 (WTERMSIG): Fix bit pattern used.
6876
13f5ad37
KH
68772000-07-26 Kenichi Handa <handa@etl.go.jp>
6878
6879 * print.c (print_object): If vector printing is truncated, print
6880 "..." to indicate it as well as the case of list printing.
6881
070fe99c
GM
68822000-07-25 Gerd Moellmann <gerd@gnu.org>
6883
969065c3
GM
6884 * xdisp.c (next_element_from_display_vector): Improve comments.
6885
6886 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6887 for the character code, and the rest for the face id as in 20.x.
6888 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6889
6890 * window.c (window_display_table): Cleaned up.
6891
070fe99c
GM
6892 * syntax.c (Fforward_word): Add last arg nil in call of
6893 Fconstrain_to_field.
6894
bad77ef7
EZ
68952000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6896
969065c3 6897 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6898 identical but for the letter-case, don't call
6899 barf_or_query_if_file_exists.
bad77ef7 6900
c28da489
MB
69012000-07-25 Miles Bader <miles@gnu.org>
6902
6903 * editfns.c (find_field): Honor special `boundary' fields.
6904 (Qboundary): New variables.
6905 (syms_of_editfns): Initialize Qboundary.
6906 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6907 Use scan_buffer instead of find_before_next_newline, because it
6908 allows us to detect the boundary case where there's a newline at
6909 the search limit.
6910 * lisp.h (Fconstrain_to_field): Update external declaration.
6911
e3c31fd5
GM
69122000-07-24 Gerd Moellmann <gerd@gnu.org>
6913
6914 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6915 if that is nil.
c28da489 6916
c66c29a2
DL
69172000-07-24 Dave Love <fx@gnu.org>
6918
6919 * s/sunos4-0.h, s/sol2.h:
6920 (LIBS_TERMCAP): Move from m/sparc.h.
6921
6922 * m/sparc.h (TERMINFO): Moved to system files (probably only
6923 relevant for sunos4 judging by its vintage).
6924 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6925 __arch64__.
6926
fbe0a958
EZ
69272000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6928
6929 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6930 name to single_keymap_panes.
6931
7d88e5c9
AS
69322000-07-24 Andreas Schwab <schwab@suse.de>
6933
6934 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6935
e024b101
GM
69362000-07-24 Gerd Moellmann <gerd@gnu.org>
6937
6938 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6939 parameters instead of using int parameters. Expect FN to accept
6940 EMACS_INT parameters.
6941 (display_echo_area, resize_echo_area_axactly, current_message)
6942 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6943 with new argument list.
6944 (resize_mini_window_1): New callback function.
6945 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6946 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6947
25c1a9ce
KH
69482000-07-24 Kenichi Handa <handa@etl.go.jp>
6949
6950 * fontset.c (fontset_ref): Remove INLINE declaration.
6951 (fontset_ref_via_base): Likewise.
6952 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6953 to downcase.
6954
7f987ac0
EZ
69552000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6956
6957 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6958 correct order of priority. If help echo was found in an overlay,
6959 use that overlay as the object in which the help echo was found.
6960
e2db3069
MB
69612000-07-22 Miles Bader <miles@gnu.org>
6962
6963 * textprop.c (Fprevious_single_char_property_change): The initial
6964 property value should be from the position preceding POSITION, not
6965 following it.
6966
5e3203e4
EZ
69672000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6968
6969 * coding.c (syms_of_coding): Doc fix for
6970 inhibit-iso-escape-detection.
6971
62145073
GM
69722000-07-21 Gerd Moellmann <gerd@gnu.org>
6973
c20aeb83
GM
6974 * xterm.c (note_mouse_highlight): Process overlays in the right
6975 order of priority.
34a7a267 6976
743934db
GM
6977 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6978
6979 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6980 overlay, use that overlay as the object in which the help was found.
743934db 6981
d1dc7e43 6982 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6983
62145073
GM
6984 * window.c (foreach_window): Instead of a fake variable argument
6985 list, take one USER_DATA argument.
6986 (foreach_window_1): Likewise, and call callback functions with two
6987 args, the window and USER_DATA.
6988 (struct check_window_data): New struct.
6989 (check_window_containing): Use it.
6990 (window_from_coordinates): Set up a struct check_window_data for
6991 foreach_window.
6992 (add_window_to_list, freeze_window_start): Change parameters
6993 according to new calling convention.
6994
6995 * window.h (foreach_window): Change prototype.
6996
6997 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6998
69992000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7000
7001 * xmenu.c (menu_help_callback): Call show_help_echo with
7002 additional arguments OBJECT and POS.
7003
11270583
KH
70042000-07-21 Kenichi Handa <handa@etl.go.jp>
7005
07b14857
KH
7006 * data.c (Faset): Allow storing any multibyte character in a
7007 string. Convert unibyte string to multibyte if necessary.
7008
11270583
KH
7009 * xfns.c (x_encode_text): New function.
7010 (x_set_name): Use x_encode_text.
7011 (x_set_title): Likewise.
7012
7013 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7014
7015 * xterm.h (x_encode_text): Add prototype.
7016
bc75b4fd
DL
70172000-07-20 Dave Love <fx@gnu.org>
7018
7019 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7020 xfree, not free.
7021
48c14970
EZ
70222000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7023
7024 * msdos.c (help_echo_window): New variable.
7025 (syms_of_msdos): Initialize and staticpro it.
7026 (IT_note_mode_line_highlight): Set help_echo_window.
7027 (IT_note_mouse_highlight): Ditto.
7028 (dos_rawgetc): Store help_echo_window in the second event produced
7029 for HELP_EVENTs.
7030
7031 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7032 Record the object that generated the help echo and the position of
7033 that object in help_echo_object and help_echo_pos. Record that
7034 some glyphs in a row are displayed in mouse-face.
7035 (IT_update_begin): Don't clear mouse highlight unless one of the
7036 enabled glyph rows is marked as being displayed in mouse-face.
7037 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7038 and position recorded in help_echo_object and help_echo_pos to the
7039 event queue.
7040 (IT_menu_display): Accept a new argument PN: the pane number of
7041 the current menu pane. Record the pane number and the item
7042 number of the item which has associated help string.
7043 (XMenuActivate): Update the prototype for help_callback in
7044 function declaration. Call IT_menu_display with the current menu
7045 pane number as an additional argument. Call help_callback with
7046 two additional arguments: the pane number and the item number of
7047 the menu item associated with the help text.
7048 (help_echo_object, help_echo_pos): New variables.
7049 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7050
7051 * msdos.h (XMenuActivate): Update prototype.
7052
4279296d
GM
70532000-07-19 Gerd Moellmann <gerd@gnu.org>
7054
47db06aa
GM
7055 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7056 Add some more prototypes.
7057
7058 * xterm.c, xterm.h: Add some more prototypes.
7059
7060 * lisp.h (Fnext_single_char_property_change): Add prototype.
7061
7062 * dispnew.c (direct_output_for_insert): Remove confusing
7063 outer local variable mouse_face_overwritten_p.
7064 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7065
4279296d
GM
7066 * alloc.c (allocate_string_data): Don't copy old string contents.
7067
670acd62
KH
70682000-07-19 Kenichi Handa <handa@etl.go.jp>
7069
7070 * coding.c (code_convert_region): Delete text properties before
7071 shrinking the conversion region.
7072
7cea38bc
GM
70732000-07-18 Gerd Moellmann <gerd@gnu.org>
7074
dc1cac59
GM
7075 * dispnew.c (update_text_area): Write the whole row if it
7076 has mouse-face in it.
7077
85a8aca9
GM
7078 * xfaces.c (face-alternative-font-family-alist): Remove
7079 DEFVAR_LISP; staticpro instead.
7080
34a7a267 7081 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7082 new arguments.
7083
7084 * keyboard.c (show_help_echo): Add parameter WINDOW.
7085 (read_char): Call show_help_echo with window extracted from Lisp
7086 help event.
7087 (gen_help_event): Add parameter WINDOW.
7088
7089 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7090
7091 * xterm.c (help_echo_window): New variable.
52283633 7092 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7093 (XTread_socket): Pass help_echo_window to gen_help_event.
7094 (syms_of_xterm): Initialize and staticpro help_echo_window.
7095
f8276b77
DL
70962000-07-18 Dave Love <fx@gnu.org>
7097
52283633 7098 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7099
088831a6
GM
71002000-07-18 Gerd Moellmann <gerd@gnu.org>
7101
3d6cd763
GM
7102 * alloc.c (allocate_string_data): If string had already data
7103 assigned, copy old contents to new string data.
7104
7105 * coding.c (syms_of_coding): Fix typo in spelling of variable
7106 `inhibit-iso-escape-detection'.
7107
088831a6
GM
7108 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7109
7110 * Makefile.in: Add dependencies on dispextern.h.
7111 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7112 `free'; both can conflict with system header files.
7113
bc8a8d55
KH
71142000-07-18 Kenichi Handa <handa@etl.go.jp>
7115
7116 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7117 undefined.
7118
069f5950
DL
71192000-07-18 Dave Love <fx@gnu.org>
7120
7121 * window.c (Fwindow_list): Declare arg `window'.
7122
aa96c820
KH
71232000-07-18 Kenichi Handa <handa@etl.go.jp>
7124
7125 * coding.c (setup_coding_system): Don't override the explicitly
7126 specified designations.
7127
06be8d32
MB
71282000-07-15 Miles Bader <miles@gnu.org>
7129
7130 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7131 from `text_property_eq' and `text_property_stickiness', respectively.
7132 (find_field, Fconstrain_to_field, char_property_eq)
7133 (char_property_stickiness): Changed to call char-property functions
7134 instead of text-property-only ones.
7135
7136 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7137 `next_single_char_property_change'). Do more error checking, and
7138 cleanup limit behavior.
7139 (Fprevious_single_char_property_change): New function.
7140 (syms_of_textprop): Initialize new subrs.
7141
7142 * xdisp.c (display_prop_end, invisible_text_between_p):
7143 Call Fnext_single_char_property_change instead of
7144 next_single_char_property_change.
7145
3fddcdc3
JR
71462000-07-15 Jason Rumney <jasonr@gnu.org>
7147
7148 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7149 after menu is finished with.
7150 (add_menu_item): Only consider wv->title as a menu title.
7151 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7152
7153 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7154 null title.
7155 (FONT_REGEXP): Remove unused macro, and its sub-components.
7156 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7157
7158 * w32term.c (help_echo_object, help_echo_pos): New variables.
7159 (note_mode_line_highlight): Store additional information about the
7160 help-echo in help_echo_object and help_echo_pos. Check both
7161 `local-map' and `keymap' properties for changing the cursor
7162 (note_mouse_highlight): Store additional information about the
7163 help-echo in help_echo_object and help_echo_pos.
7164 (note_tool_bar_highlight): Set help_echo_object to nil and
7165 help_echo_pos to -1.
7166 (w32_read_socket): Use gen_help_event instead of filling
7167 input_events manually.
7168 (syms_of_w32term): Staticpro help_echo_object.
7169 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7170 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7171 (x_clear_mouse_face): New function.
7172 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7173 (x_update_window_begin): No need to turn off the mouse
7174 highlight here.
7175 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7176 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7177 (x_fill_stretch_glyph_string): Consume runs of stretch
7178 glyphs instead of a single one.
7179 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7180 with new argument list.
7181 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7182 (x_append_glyph, x_append_composite_glyph)
7183 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7184 changes in struct glyph starting 1999-12-27. See comments for
7185 xterm.c on 2000-07-05.
7186
178c5d9c
SS
71872000-07-14 Sam Steingold <sds@gnu.org>
7188
7189 * xfaces.c (realize_x_face): Fix the last patch:
7190 check `default_face' before dereferencing.
7191
6fe533f6
DL
71922000-07-14 Dave Love <fx@gnu.org>
7193
069f5950 7194 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7195
dd7b81cf
KH
71962000-07-14 Kenichi Handa <handa@etl.go.jp>
7197
0693904a 7198 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7199 default_face's fontset, not using the default fontset.
0693904a 7200
dd7b81cf
KH
7201 * coding.c (inhibit_iso_escape_detection): New variable.
7202 (syms_of_coding): Make it a Lisp variable.
7203 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7204 nonzero, ignore ISO2022's escape sequence.
7205
d5aa31d8
GM
72062000-07-14 Gerd Moellmann <gerd@gnu.org>
7207
e5acf0ca
GM
7208 * alloca.c (malloc) [emacs]: Define as xmalloc.
7209
bd23a692
GM
7210 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7211 use that instead of the mouse position. Add parameters DX and DY.
7212
7213 * dispextern.h (Fx_show_tip): Adjust number of parameters
7214 in prototype.
7215
9662da0b
GM
7216 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7217 if HELP is a function, call it with OBJECT and POS as parameters
7218 to get the help to display.
7219 (gen_help_event, kbd_buffer_store_help_event): New functions.
7220 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7221 (read_char): Call show_help_echo with new parameters.
7222
178c5d9c 7223 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7224 Add prototypes.
7225
7226 * xterm.c (help_echo_object, help_echo_pos): New variables.
7227 (note_mode_line_highlight): Store additional information about the
7228 help-echo in help_echo_object and help_echo_pos. Check both
7229 `local-map' and `keymap' properties for changing the cursor
7230 (note_mouse_highlight): Store additional information about the
7231 help-echo in help_echo_object and help_echo_pos.
7232 (note_tool_bar_highlight): Set help_echo_object to nil and
7233 help_echo_pos to -1.
7234 (XTread_socket): Use gen_help_event instead of filling
7235 input_events manually.
7236 (syms_of_xterm): Staticpro help_echo_object.
7237
7238 * xmenu.c (menu_highlight_callback): Use
7239 kbd_buffer_store_help_event instead of setting up and input_event
7240 structure manually.
7241
7242 * xdisp.c (eval_form): GCPRO argument sexpr.
7243 (call_function): New function.
7244 (handle_single_display_prop): Use call_function and FUNCTIONP
7245 instead of checking whether if font_height is a symbol and
7246 using eval_form.
7247
7248 * eval.c (internal_condition_case_2): New function.
7249
7250 * lisp.h (FUNCTIONP): New macro.
7251 (internal_condition_case_2, call_function): Add prototypes.
7252
d5aa31d8
GM
7253 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7254 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7255 Always set `arg' member of input_events.
7256 (construct_menu_click): Unused function removed.
7257
7258 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7259
7260 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7261 (construct_drag_n_drop, x_scroll_bar_handle_click)
7262 (w32_read_socket): Always set `arg' member of input_events.
7263
7264 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7265
7266 * lisp.h (eval_form): Add prototype.
7267
7268 * xdisp.c (eval_form): Make it externally visible.
7269
0f1a9b23
GM
72702000-07-13 Gerd Moellmann <gerd@gnu.org>
7271
7272 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7273 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7274 consing. For prefix events, store the frame in the `arg' slot of
7275 the event, otherwise store the key there.
7276 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7277 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7278
7279 * xmenu.c (menu_highlight_callback): Store help string in the
7280 `arg' member of the input event; don't cons.
7281 (menubar_selection_callback): Use the `arg' slot of input events
7282 to queue additional information, instead of consing.
7283
7284 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7285
7286 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7287 TOOL_BAR_EVENTs.
7288 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7289
7290 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7291 input events to queue additional information, instead of consing.
7292
7293 * keyboard.c (kbd_buffer_gcpro): Renamed from
7294 kbd_buffer_frame_or_window. Now used for all Lisp objects
7295 referenced from the input queue.
7296 (kbd_buffer_store_event): Always use structure assignment for
7297 copying input events. Record all Lisp objects referenced from
7298 events in kbd_buffer_gcpro.
7299 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7300 differently from input events. Test for prefix menu_bar_events
7301 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7302 event in kbd_buffer_gcpro to nil.
7303 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7304 frame_or_window is equal to its arg member as prefix events.
7305 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7306 used by an input event to nil.
7307 (init_keyboard): Use two times the size of the input queue
7308 for kbd_buffer_gcpro.
7309 (syms_of_keyboard): Likewise.
7310
52283633
SM
7311 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7312 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7313
7314 * termhooks.h (struct input_event): Add member `arg'.
7315 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7316 (USER_SIGNAL_EVENT): Renamed from user_signal.
7317
7318 * xfaces.c (ASET): Remove definition.
7319
7320 * lisp.h (AREF, ASET, ASIZE): New macros.
7321
7322 * fontset.c (AREF, ASIZE): Remove definitions.
7323
7324 * fns.c (AREF): Remove definition.
178c5d9c 7325
0f1a9b23
GM
7326 * composite.c (AREF): Remove definition.
7327
712eaef2
GM
73282000-07-12 Gerd Moellmann <gerd@gnu.org>
7329
d8ee7803
GM
7330 * dispnew.c (redraw_overlapped_rows): Add missing local.
7331 (scrolling_window): Remove debug code.
7332
712eaef2
GM
7333 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7334 Before scrolling, turn off a mouse-highlight in the window
7335 being scrolled.
7336
7337 * xterm.c (x_update_window_end): Add parameter
7338 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7339 redisplay in XTframe_up_to_date.
7340 (x_clear_mouse_face): New function.
7341 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7342
7343 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7344 current glyph row.
7345 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7346 it when any row is written to that contains glyphs highlighted in
7347 mouse-face.
7348 (update_window): Call the window update end hook with new
7349 parameter MOUSE_FACE_OVERWRITTEN_P.
7350 (direct_output_for_insert): Give up if row contains mouse-face.
7351
7352 * dispextern.h (struct redisplay_interface): Add parameter
7353 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7354 (clear_mouse_face): New function pointer member.
7355
02010917
SM
73562000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7357
7358 * syntax.c (back_comment): Use one switch rather than a few `if's.
7359 Obey open_paren_in_column_0_is_defun_start.
7360 When reverting to the `slow' method, try to nicely handle the case
7361 of nested comments by checking that the comment-starter we found
7362 does indeed match the comment-ender.
7363 (scan_sexps_forward, scan_sexps_forward):
7364 Ignore excessive opening parenthesis rather than throwing an error.
7365
d76c03ea
GM
73662000-07-11 Gerd Moellmann <gerd@gnu.org>
7367
7368 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7369 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7370
7371 * dispnew.c (direct_output_forward_char): Give up if currently
7372 displaying a message instead of the minibuffer contents.
7373
7374 * xterm.c (x_update_window_begin): No need to turn off the mouse
7375 highlight here.
7376 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7377 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7378
7379 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7380 compare the mouse_face_p flags of both rows.
7381
7382 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7383
d55ead18
EZ
73842000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7385
7386 * keyboard.c (show_help_echo): Accept additional parameter
7387 ok_to_overwrite_keystroke_echo.
7388 (read_char): Call show_help_echo with a zero
7389 ok_to_overwrite_keystroke_echo argument.
52283633 7390 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7391 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7392 ok_to_overwrite_keystroke_echo argument.
7393 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7394 non-zero ok_to_overwrite_keystroke_echo argument.
7395
df75b1a3
GM
73962000-07-10 Gerd Moellmann <gerd@gnu.org>
7397
4b92c49a
GM
7398 * xdisp.c (try_window_id): If changes are all below what is
7399 displayed in the window, and point is in the window, we still
7400 might have to find point on the display.
7401
7402 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7403 glyphs instead of a single one.
7404 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7405 with new argument list.
7406 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7407
df75b1a3
GM
7408 * keymap.c (get_keymap_1): Add comment that this function can GC.
7409 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7410 comment that functions can GC.
7411 (Fset_keymap_parent): GCPRO arg KEYMAP.
7412
4314cf3e
EZ
74132000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7414
7415 * msdos.c (XMenuActivate): After exiting the menu, restore the
7416 echo area message and erase it.
7417
ab49ce15
KH
74182000-07-10 Kenichi Handa <handa@etl.go.jp>
7419
7420 * fontset.c (Ffontset_info): Make the return value more compatible
7421 with that of Emacs 20.
7422
090a072f
GM
74232000-07-07 Gerd Moellmann <gerd@gnu.org>
7424
7425 * eval.c (Fsignal): Handle case that backtrace_list is null.
7426
f92de4a6
KH
74272000-07-07 Kenichi Handa <handa@etl.go.jp>
7428
7429 * ccl.c (Fccl_execute): Typo fixed.
7430
dd8888a1
GM
74312000-07-06 Gerd Moellmann <gerd@gnu.org>
7432
e5c81191 7433 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7434
dd8888a1
GM
7435 * window.c (Fwindow_list): Reverse list at the end.
7436 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7437 means allow windows on OWINDOW's frame, only.
7438 (window_loop): Simplified; use Fwindow_list.
7439
7440 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7441
485266d0
GM
74422000-07-05 Gerd Moellmann <gerd@gnu.org>
7443
7444 * xterm.c (XTread_socket): Increment handling_signal at the start,
7445 decrement it at the end.
7446
7447 * eval.c (handling_signal): New variable.
7448 (Fsignal): Abort if handling_signal is non-zero.
7449
7450 * lisp.h (handling_signal): External declaration.
178c5d9c 7451
485266d0
GM
7452 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7453
80fcd514
KR
74542000-07-05 Ken Raeburn <raeburn@gnu.org>
7455
7456 Sound support for NetBSD through "Linux emulation" support:
7457 * config.in (HAVE_SOUNDCARD_H): Undef.
7458 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7459 * Makefile.in (LIBSOUND): New variable.
7460 (LIBES): Include it.
52283633
SM
7461 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7462 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7463 (vox_open): Use DEFAULT_SOUND_DEVICE.
7464 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7465
d5c5cddd
GM
74662000-07-05 Gerd Moellmann <gerd@gnu.org>
7467
7468 * print.c (print_error_message): If Vsignaling_function is set,
7469 show it in *Messages*.
7470
7471 * lisp.h (Vsignaling_function): External declaration.
7472
7473 * eval.c (Vsignaling_function): New variable.
7474 (Fsignal): Compute it.
7475 (syms_of_eval): Staticpro it.
7476
65171e3a
DL
74772000-07-05 Dave Love <fx@gnu.org>
7478
7479 * syswait.h: Use the autoconf recommended approach. Old code
7480 #if'd out in case we need to revert.
7481
178c5d9c 7482 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7483
e2c46326
AI
74842000-07-05 Andrew Innes <andrewi@gnu.org>
7485
7486 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7487 when non-NULL instead of __morecore, to take account of buffer
7488 memory. This also solves a problem with spurious memory warnings
7489 on Windows.
7490
7491 * ralloc.c: Make real_morecore non-static.
7492
7493 * eval.c (internal_condition_case): Comment out abort if
7494 interrupt_input_blocked is not zero.
7495
7496 * makefile.nt: Add support for `bootstrap' and related targets.
7497 Include minimal debug info in emacs.exe in release build.
7498 Remove all dependencies on lisp.h, and fixup some others.
7499
7500 * w32.c (init_environment): Install code from 20.7 for providing
7501 default values for environment variables, based on the
7502 executable's own location.
52283633 7503 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7504 (sys_socket): Install socket inheritance bug fix from 20.7.
7505
7506 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7507 here via blockinput.h).
7508
a027a91b
SM
75092000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7510
e4b31601
SM
7511 * w32menu.c (w32_menu_display_help):
7512 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7513
7514 * keyboard.h (show_help_echo): Declare.
7515
7516 * keyboard.c (show_help_echo): New function, extracted from read_char.
7517 Feval its `msg' argument if it's a cons cell.
7518 (read_char): Use it.
4cf8d9d5 7519 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7520
178c5d9c 7521 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7522 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7523 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7524 (dos_rawgetc):
7525 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7526 (note_tool_bar_highlight, w32_read_socket):
7527 Do not gratuitously ignore non-string `help-echo' properties.
7528
88d75730
GM
75292000-07-05 Gerd Moellmann <gerd@gnu.org>
7530
969f7e79
GM
7531 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7532
71201b00
GM
7533 * window.c (delete_all_subwindows): Reset Vwindow_list.
7534
88d75730
GM
7535 * xterm.c (x_append_glyph, x_append_composite_glyph)
7536 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7537 changes in struct glyph starting 1999-12-27. Some bit-fields of
7538 struct glyph were not set, which made glyphs unequal when compared
7539 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7540 effects were the result. This also depended on the contents of
7541 memory returned by xmalloc. If flickering happens again, activate
7542 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7543 gone with that, chances are that it is caused by something similar.
88d75730
GM
7544
7545 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7546
88d75730
GM
7547 * dispextern.h: Add some comments.
7548
7549 * window.c (add_window_to_list): Add parameter LIST.
7550 (window_list): Order list so that, for each frame, windows are
7551 in canonical order, and so that frames appear in the list in
7552 the order given by Vframe_list.
7553 (next_window): Reverse the handling of NEXT_P.
7554
53654733
GM
75552000-07-04 Gerd Moellmann <gerd@gnu.org>
7556
87efd256
GM
7557 * window.c (Vwindow_list): New variable.
7558 (make_window, delete_window): Set Vwindow_list to nil.
7559 (check_window_containing): New function.
7560 (window_from_coordinates): Rewritten.
7561 (add_window_to_list, window_list, candidate_window_p)
7562 (decode_next_window_args, next_window): New functions.
52283633 7563 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7564 (Fwindow_list): New function.
7565 (Fother_window): Cleaned up.
7566 (foreach_window): Add a longer "variable argument list". Let
7567 callback function return 0 to indicate that cycling over windows
7568 should stop.
7569 (foreach_window_1): Likewise.
7570 (freeze_window_start): Return int.
7571 (init_window): New function.
7572 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7573
7574 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7575 input_event with bzero.
7576 (main): Call init_window.
7577
53654733
GM
7578 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7579 a menu filter.
7580
4a8c194f
KH
75812000-07-04 Kenichi Handa <handa@etl.go.jp>
7582
7583 * composite.h (make_composition_value_copy): Extern it.
7584
7585 * composite.c (make_composition_value_copy): New function.
7586
7587 * editfns.c (Fformat): While copying text properties, make each
7588 composition property value a copy.
7589
7590 * fns.c (concat): While copying text properties, make each
7591 composition property value a copy.
7592
831a6cb0
GM
75932000-07-03 Gerd Moellmann <gerd@gnu.org>
7594
2f516940
GM
7595 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7596
178c5d9c 7597 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7598 marked already.
7599
831a6cb0
GM
7600 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7601 include those frames as candidates which have their focus
7602 redirected to the minibuffer frame.
7603
d9c4f922
SM
76042000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7605
7606 * fns.c (Fputhash): Return `value' rather than nil.
7607
3780bc22
GM
76082000-06-30 Gerd Moellmann <gerd@gnu.org>
7609
97d176db
GM
7610 * frame.c (next_frame): Don't check focus redirection in case
7611 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7612 unless their focus is redirected, which contradicts the
7613 specification of next-frame, and leads to infinite loops in
7614 certain situations when cycling through windows with next-window.
7615
dca9961d
KH
76162000-06-30 Kenichi Handa <handa@etl.go.jp>
7617
7618 * coding.c (code_convert_region): Even if the length of text is
7619 zero, try to convert it if coding->type is coding_type_ccl.
7620 (decode_coding_string, encode_coding_string): Likewise.
7621
d5483ab1
GM
76222000-06-28 Gerd Moellmann <gerd@gnu.org>
7623
af5c25e1 7624 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7625 the display if windows_or_buffers_changed.
af5c25e1
GM
7626
7627 * dispnew.c (struct row_entry): New structure.
7628 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7629 (row_table_size, old_lines, new_lines, old_lines_size)
7630 (new_lines_size, run_pool, runs_size, runs): New variables.
7631 (add_row_entry): New function.
7632 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7633 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7634 holding them in local variables. Use a larger hash table whose
7635 size depends on glyph matrix sizes. Don't use bzero to clear the
7636 hash table; instead, clear used slots only.
7637
7638 * fns.c (next_almost_prime): Make it externally visible.
7639
7640 * lisp.h (next_almost_prime): Add prototype.
7641
d5483ab1
GM
7642 * s/isc4-0.h (sigunblock): Define.
7643
7644 * s/sco5.h (sigunblock): Define.
7645
93e40f40
DL
76462000-06-27 Dave Love <fx@gnu.org>
7647
7648 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7649 (moved to osf5-0.h).
7650 [!NOT_C_CODE]: Protect string.h stuff.
7651
7652 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7653 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7654
3c4b7685
GM
76552000-06-27 Gerd Moellmann <gerd@gnu.org>
7656
97d176db 7657 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7658 below the last line from the needed window height.
7659
32cad0aa
SM
76602000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7661
7662 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7663 (Fwidget_get): Use it.
7664 (syms_of_fns): Defsubr it.
7665
2c69ced2
GM
76662000-06-26 Gerd Moellmann <gerd@gnu.org>
7667
178c5d9c 7668 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7669 display info for XIM.
7670 (xim_open_dpy): Likewise.
7671 (xim_close_dpy): Don't free the display info's XIM.
7672
7673 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7674
7675 * config.in (USE_XIM): New define.
7676
3fc720e4
GM
7677 * keymap.c (get_keyelt): For menu-items containing a `:filter
7678 FILTER', apply FILTER to the menu-item's definition to get the
7679 real definition to use.
7680
7681 * lisp.h (QCfilter): External declaration.
7682
2c69ced2
GM
7683 * xfns.c (Fimage_size): New function.
7684 (syms_of_xfns): Defsubr it.
7685
f978b2a2
AS
76862000-06-26 Andreas Schwab <schwab@suse.de>
7687
7688 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7689 Fstring_as_unibyte.
7690
94cc7892
DL
76912000-06-25 Dave Love <fx@gnu.org>
7692
52283633 7693 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7694
7695 * Makefile.in (blockinput.h): Depend on atimer.h.
7696 (atimer.h): Depend on systime.h.
7697
52283633 7698 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7699
52283633 7700 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7701
7702 * lisp.h (swap_in_global_binding): Declare.
7703
b8c24556
KR
77042000-06-24 Ken Raeburn <raeburn@gnu.org>
7705
7706 * process.c (Fopen_network_stream): Turn off atimers for duration
7707 of call to connect. (Patch from Gerd.)
7708
8cf8560b
DL
77092000-06-23 Dave Love <fx@gnu.org>
7710
511c7541
DL
7711 * ralloc.c: Maybe include unistd.h
7712
8cf8560b
DL
7713 * emacs.c (setgrp): Undefine before defining.
7714 (malloc_warning, set_time_zone_rule, index): Prototype.
7715
7716 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7717 HAVE_STRUCT_TIMEZONE.
7718
7719 * s/osf1.h: Move string.h hack here from alpha.h and make it
7720 conditional.
7721 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7722 _XOPEN_SOURCE.
7723 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7724 (SOCKLEN_TYPE): Don't define.
7725
7726 * m/alpha.h: Remove string.h hack.
7727
7728 * s/osf5-0.h: New file.
7729
7730 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7731 include time.h, done by systime.h.
7732 [__FreeBSD__]: Remove redundant includes.
7733
3fc720e4 7734 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7735 (delete_temp_file): Return Qnil to avoid warning.
7736
7737 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7738
7739 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7740 HAVE_X_WINDOWS.
7741
7742 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7743
7744 * composite.h (compose_text): Declare.
7745
7746 * xterm.c: Don't include sys/types.h unconditionally. Don't
7747 protect its inclusion with !USG (following xmenu.c).
7748
ea055732
GM
77492000-06-23 Gerd Moellmann <gerd@gnu.org>
7750
7751 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7752 in x_create_frame.
7753
74b01b80
EZ
77542000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7755
7756 * coding.c (decode_eol_post_ccl): Special handling for undecided
7757 and inconsistent EOL types.
7758
64f3a166
GM
77592000-06-22 Gerd Moellmann <gerd@gnu.org>
7760
16cf31f7
GM
7761 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7762 trough color and main window's background color.
7763
52283633 7764 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7765
7766 * xterm.h (Xt_app_con): External declaration.
7767
7768 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7769
486a103d
GM
7770 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7771
64f3a166
GM
7772 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7773 (handle_invisible_prop): Record the start of invisible text in
7774 it->add_overlay_start.
7775 (struct overlay_entry): Add member `overlay'.
7776 (handle_overlay_change): Simplify.
7777 (next_overlay_string): After having processed overlay strings at the
7778 end of the buffer, record that fact in
7779 it->overlay_strings_at_end_processed_p.
7780 (compare_overlay_entries): If before- and after-strings come
7781 from the same overlay, let before-strings come first.
7782 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7783 (load_overlay_strings): Take it->add_overlay_start into account
7784 when adding overlay strings.
7785
7786 * dispextern.h (struct it): Add member add_overlay_start.
7787
bb746ea6
DL
77882000-06-22 Dave Love <fx@gnu.org>
7789
7790 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7791
7792 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7793
a8f573f3
KH
77942000-06-22 Kenichi Handa <handa@etl.go.jp>
7795
7796 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7797 is greater than 0.
7798
9f2bbc92
DL
77992000-06-21 Dave Love <fx@gnu.org>
7800
178c5d9c 7801 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7802
3ee5041c
SM
78032000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7804
7805 * syntax.c (back_comment): Simplify string-parity counting (with
7806 the added benefit of handling multiple string-styles as long as
7807 they are not intertwined).
7808 Jump to the slow code as soon as a comment starter is found in
7809 a "string_lossage" position. Fixes the case: " /* " /* " */.
7810
4c343001
DL
78112000-06-21 Dave Love <fx@gnu.org>
7812
7813 * Makefile.in: Use GETLOADAVG_LIBS.
7814
7815 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7816 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7817
e6365855
SM
78182000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7819
7820 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7821 (Fforward_comment, scan_lists):
7822 Check the comstyle of single-char comment-starters.
7823 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7824 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7825 Check the comstyle of single-char comment-starters.
7826 Clarify control-flow around the Scomment case.
e6365855 7827
5700d2cc
DL
78282000-06-20 Dave Love <fx@gnu.org>
7829
d355bd8a
SM
7830 * fns.c (make_hash_table, maybe_resize_hash_table):
7831 Cast arg of next_almost_prime.
5700d2cc 7832
178c5d9c 7833 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7834
7835 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7836 and unistd.h.
7837
4a27bdfb
GM
78382000-06-20 Gerd Moellmann <gerd@gnu.org>
7839
a61d762c 7840 * keyboard.c (adjust_point_for_property): Check if display
52283633 7841 property should be treated as intangible by looking at its value.
a61d762c 7842
178c5d9c 7843 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7844 (display_prop_intangible_p): New functions.
7845
7846 * dispextern.h (display_prop_intangible_p): Add prototype.
7847
7848 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7849
4a27bdfb
GM
7850 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7851 argument to sigprocmask.
7852
7853 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7854 argument to sigprocmask.
7855
7856 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7857 sigprocmask_set, and pass a pointer to it to sigprocmask.
7858
7859 * sysdep.c (sigprocmask_set): New variable.
7860
7861 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7862 report_file_error.
7863
427ec082
SS
78642000-06-20 Sam Steingold <sds@gnu.org>
7865
7866 * xrdb.c: Don't declare xmalloc, xrealloc.
7867
8972fe79 78682000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7869
7870 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7871 (re_comp): Cast gettext return value to avoid complaints when
7872 !HAVE_LIBINTL.
7873
074b6efe
DL
78742000-06-20 Dave Love <fx@gnu.org>
7875
52283633 7876 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7877
5700d2cc 7878 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7879
d355bd8a 7880 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7881
7882 * m/alpha.h: Don't declare xmalloc, xrealloc.
7883
0af4f205
DL
7884 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7885
7886 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7887
7888 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7889
7890 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7891 HAVE_GETWD.
7892
074b6efe
DL
7893 * keyboard.h (poll_for_input_1): Declare.
7894
7895 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7896
7897 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7898
7899 * doprnt.c: Don't declare xmalloc, xrealloc.
7900
7901 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7902 (getenv, ctime, getwd): Removed.
7903 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7904
7905 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7906 x_set_tool_bar_lines.
7907
7908 * config.in: Add HAVE_GETWD. Move some definitions above
7909 machine/system includes.
7910
68a5e97b
KH
79112000-06-20 Kenichi Handa <handa@etl.go.jp>
7912
95417e1e
KH
7913 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7914
68a5e97b
KH
7915 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7916 contain information about ENCODING.
7917
7918 * fontset.c (FONTSET_ASCII): Use the first element of char table
7919 for an ASCII font, not defalt slot.
7920 (fontset_ref_via_base): If FONTSET doesn't contain information for
7921 C, try the default fontset.
7922 (make_fontset): Don't copy the default fontset.
7923 (fontset_font_pattern): Likewise.
7924 (accumulate_font_info): If ELT is nil, use the corresponding
7925 element in the default fontset.
7926
3b4fa1b2
DL
79272000-06-19 Dave Love <fx@gnu.org>
7928
943e731c
DL
7929 * syntax.c (Fparse_partial_sexp): Doc fix.
7930
7931 * regex.h: Test PROTOTYPES as well as __STDC__.
7932
3b4fa1b2
DL
7933 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7934 errno, strerror. Put text after #endif in comment.
7935
52283633 7936 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7937
7938 * xterm.c (x_frame_of_widget): Likewise.
7939
cdf0357b
GM
79402000-06-19 Gerd Moellmann <gerd@gnu.org>
7941
7942 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7943 to Vfundamental_mode_abbrev_table.
7944
7945 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7946 bogus objects are marked. This slows down GC by ~80 percent, but
7947 it might be worth trying when debugging GC-related problems.
7948 This feature requires conservative stack marking to be enabled.
7949
7950 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7951 returns XLookupChars, reset `modifiers' to zero.
7952
998e9f8c
DL
79532000-06-19 Dave Love <fx@gnu.org>
7954
7955 * mktime.c: Unprotoized.
7956
18e21ce8 79572000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7958
7959 * data.c (set_internal): If variable is frame-local,
7960 store the new value immediately into the frame parameter alist.
7961
140c4ac6
KR
79622000-06-19 Ken Raeburn <raeburn@gnu.org>
7963
14358466
KR
7964 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7965 in the custom handler pointer.
7966
140c4ac6
KR
7967 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7968 value, or checks for CHAR_META can fail when Lisp_Object is a
7969 union type.
7970 * keymap.c (get_keyelt): Likewise.
7971
10d7bf84
KH
79722000-06-19 Kenichi Handa <handa@etl.go.jp>
7973
7974 * ccl.h (struct ccl_program): New member eol_type.
7975 (struct ccl_spec): New member cr_carryover.
7976
7977 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7978 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7979
7980 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7981 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7982 (decode_eol_post_ccl): New function.
7983 (decode_coding): Don't detect EOL format here for CCL based coding
7984 systems.
7985 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7986 decode_eol_post_ccl after running the CCL program.
7987 (code_convert_region): Don't detect EOL format here for CCL based
7988 coding systems.
7989 (decode_coding_string): Likewise.
7990
52e386c2
KR
79912000-06-18 Ken Raeburn <raeburn@gnu.org>
7992
7993 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7994 when treating it as an integer.
7995
7996 * coding.h (encode_coding_string): Declare.
7997
7998 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7999 it as an integer.
8000
8001 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8002 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8003 to be passed to get_local_map.
8004
8005 * sound.c (Fplay_sound): Don't call make_number on
8006 Frun_hook_with_args count argument.
8007
8008 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8009 for lisp objects in X event structure data field, when lisp
8010 objects are represented with unions.
8011 (x_scroll_bar_to_input_event): Ditto.
8012
b357b9d4
KR
80132000-06-16 Ken Raeburn <raeburn@gnu.org>
8014
8015 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8016 termination of string. Fix sense of test whether
8017 Vline_number_display_limit is an integer.
b357b9d4 8018
a871441d
GM
80192000-06-16 Gerd Moellmann <gerd@gnu.org>
8020
a9021acd
GM
8021 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8022 only if HAVE_X_WINDOWS.
8023
6344985d
GM
8024 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8025 of titles.
8026
427ec082 8027 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8028 out of bounds.
8029
228b083e
EZ
80302000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8031
8032 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8033 of its headers.
8034
c25b53a2
KH
80352000-06-15 Kenichi Handa <handa@etl.go.jp>
8036
8037 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8038 start of the while loop.
8039
a6981b11
GM
80402000-06-15 Gerd Moellmann <gerd@gnu.org>
8041
e9924e52
GM
8042 * atimer.c (alarm_signal_handler): Add forward declaration.
8043
a6981b11
GM
8044 * data.c (set_internal): Remove debug code.
8045
25fa6deb
GM
80462000-06-14 Gerd Moellmann <gerd@gnu.org>
8047
dce6b995
GM
8048 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8049
9f817ea4
GM
8050 * unexec.c (toplevel) [COFF]: Include coff.h.
8051
8052 * s/lynxos.h: New file.
8053
8054 * keymap.c (Fsingle_key_description): Enclose function key and
8055 event symbol names in angle brackets.
8056
8a4e3c0c
GM
8057 * xdisp.c (setup_echo_area_for_printing): Call
8058 message_log_maybe_newline if message_buf_print is not set.
8059
8060 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8061 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8062 function does something useful even when message_buf_print is
8063 already set.
8064
52283633
SM
8065 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8066 New variables.
25fa6deb
GM
8067 (ensure_echo_area_buffers): Initialize echo buffer's
8068 truncate lines setting to nil.
8069 (with_echo_area_buffer): Don't set the echo buffer's truncate
8070 lines setting here.
8a4e3c0c 8071 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8072 of message_truncate_lines.
8073 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8074 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8075 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8076
8077 * keyboard.c (read_char): Bind message-truncate-lines to t
8078 while displaying a help-echo.
8079
8080 * lisp.h (Qmessage_truncate_lines): External declaration.
8081
163dcff3
GM
80822000-06-13 Gerd Moellmann <gerd@gnu.org>
8083
1681ead6
GM
8084 * xdisp.c (Vline_number_display_limit): Renamed from
8085 line_number_display_limit.
8086 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8087 Extend documentation string. Initialize
8088 Vline_number_display_limit to nil meaning no limit.
8089 (decode_mode_spec): Use Vline_number_display_limit with its new
8090 meaning.
8091
163dcff3
GM
8092 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8093
18e21ce8 80942000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8095
8096 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8097
163dcff3
GM
8098 * xfns.c (x_set_frame_parameters): Comment fix.
8099
8100 * frame.c (store_frame_param): Call swap_in_global_binding if the
8101 variable's current binding was chosen based on this frame.
8102
8103 * data.c (swap_in_global_binding): New function.
8104
a704139d
EZ
81052000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8106
8107 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8108 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8109
9b6610db
EZ
81102000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8111
8112 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8113
c68833d2
JR
81142000-06-12 Jason Rumney <jasonr@gnu.org>
8115
8116 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8117
8118 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8119
8120 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8121
8122 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8123
ed1056b3
GM
81242000-06-12 Gerd Moellmann <gerd@gnu.org>
8125
8126 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8127 (syms_of_xfaces): Defsubr Sdump_colors.
8128 (x_free_colors): Don't treat b&w specially on default visual.
8129 (x_free_dpy_colors): New function.
8130 (free_face_colors): Don't check visual class; it's done
8131 in x_free_colors.
8132
8133 * xterm.c (x_frame_of_widget): New function.
8134 (x_alloc_nearest_color_for_widget): Use it.
8135 (x_copy_dpy_color): New function.
8136 (x_destroy_window): Free various colors.
8137
5050a2ef
KH
81382000-06-12 Kenichi Handa <handa@etl.go.jp>
8139
8140 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8141
8142 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8143
8144 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8145
8146 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8147
8148 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8149
fb1b041d
DL
81502000-06-11 Dave Love <fx@gnu.org>
8151
8152 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8153
ff96b5f4
EZ
81542000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8155
8156 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8157
db8eeecd
GM
81582000-06-11 Gerd Moellmann <gerd@gnu.org>
8159
ed1056b3 8160 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8161 to `XEvent *'.
8162
49b71c5f
KH
81632000-06-10 Kenichi Handa <handa@etl.go.jp>
8164
c479bd55
KH
8165 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8166 (regex_compile): Fix the code for handling the case of single byte
8167 char and multibyte char being mixed in a range within [...].
8168
ff6a65c2
KH
8169 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8170 and dst_multibyte members of coding.
8171
49b71c5f
KH
8172 * charset.c (update_charset_table): Update the table
8173 bytes_by_char_head.
8174 (init_charset_once): Initialize elements of bytes_by_char_head to
8175 1 except for leading codes for private charases.
8176
8177 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8178 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8179
9e80b57d
KR
81802000-06-09 Ken Raeburn <raeburn@gnu.org>
8181
8182 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8183 access the data it doesn't point to.
8184
f83fe4b4
GM
81852000-06-08 Gerd Moellmann <gerd@gnu.org>
8186
8187 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8188 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8189 event queue. This is necessary because Emacs otherwise won't
8190 perform a switch-frame to a new frame until some other event, for
8191 example a keystroke event, forces it to do so. This has various
8192 effects, one visible being that the cursor of a frame created with
8193 C-x 5 2 or switched to with a window manager key binding like
8194 A-TAB stays hollow because selected_window isn't on the newly
8195 focused frame until the switch-frame is performed.
8196
8197 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8198 generating a switch-frame event if necessary.
8199
8200 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8201
8202 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8203 it's an integer.
8204
0890801b
KH
82052000-06-08 Kenichi Handa <handa@etl.go.jp>
8206
52283633 8207 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8208
173cbca8
GM
82092000-06-07 Gerd Moellmann <gerd@gnu.org>
8210
3091c2a6
GM
8211 * window.c (displayed_window_lines): Take empty lines at
8212 the bottom of a window into account.
427ec082 8213
f38952fe
GM
8214 * window.c (displayed_window_lines): New function.
8215 (Fmove_to_window_line): Use displayed_window_lines to determine
8216 the number of lines to move, instead of using the window's height.
8217
8218 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8219 to stop reading, even if the form read sets point to a different
8220 value when evaluated.
8221
427ec082 8222 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8223 put the cursor.
8224
6ba6c818
KH
82252000-06-07 Kenichi Handa <handa@etl.go.jp>
8226
8227 * fileio.c (e_write): Free composition data if stored in
8228 coding->cmp_data.
8229
5f1aea9a
GM
82302000-06-06 Gerd Moellmann <gerd@gnu.org>
8231
666852af
GM
8232 * xdisp.c (display_line): Set row's and iterator's
8233 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8234 Set cursor even if row ends in the middle of a character.
8235 (dump_glyph_row): Print values of new flags.
8236 (redisplay_window) <cursor movement in unchanged window>: When
8237 point has been moved forward, and PT is at the end of the cursor
8238 row, don't place the cursor in the next row if the cursor row ends
8239 in the middle of a character or at ZV.
8240
8241 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8242 (struct glyph_row): Add starts_in_middle_of_char_p and
8243 ends_in_middle_of_char_p.
8244 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8245 ends_in_middle_of_char_p flag.
8246 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8247
d13f3e2e
GM
8248 * term.c (append_glyph): Revert change of 2000-06-06.
8249
8250 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8251 padding glyph not fitting on line as whole character not
8252 fitting on line.
8253
5f1aea9a
GM
8254 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8255 this isn't true for images with `:ascent 100'.
8256
10cda9b0
KH
82572000-06-06 Kenichi Handa <handa@etl.go.jp>
8258
ed00559d
KH
8259 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8260 as modified if it is originally unmodified.
8261
10cda9b0
KH
8262 * term.c (encode_terminal_code): Change the way to check if
8263 terminal coding does any conversion.
8264 (append_glyph): Set glyph->pixel_width correctly.
8265
8266 * xdisp.c (display_line): While checking line continuation, pay
8267 attention to a padding glyph.
8268
1969fae2
GM
82692000-06-05 Gerd Moellmann <gerd@gnu.org>
8270
8271 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8272
162ccef4
DL
82732000-06-05 Dave Love <fx@gnu.org>
8274
f19f32dd
DL
8275 * xdisp.c: Include fontset.h.
8276
8277 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8278
8279 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8280
8281 * dispnew.c: Conditionally include term.h.
8282
8283 * coding.h: Declare code_convert_string_norecord.
8284
8285 * frame.h (struct frame): Use volatile unconditionally.
8286
8287 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8288
8289 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8290
8291 * systime.h: Protect against multiple inclusion.
8292 (timezone) [USG5_4]: Define as time_t.
8293
8294 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8295 (Foptimize_char_table, make_temp_name): Declare.
8296
8297 * Makefile.in (xdisp.o): Depend on fontset.h.
8298
8299 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8300
8301 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8302 (Foptimize_char_table, make_temp_name): Declare.
8303
427ec082 8304 * s/irix4-0.h:
162ccef4
DL
8305 * s/irix5-0.h:
8306 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8307
2082fe81
DL
83082000-06-02 Dave Love <fx@gnu.org>
8309
8310 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8311
dcf671d2
GM
83122000-06-02 Gerd Moellmann <gerd@gnu.org>
8313
8314 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8315 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8316 be freed.
8317
8318 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8319 glyph, use the ASCII NUL character to determine the face.
8320
d42122a3
DL
83212000-06-02 Dave Love <fx@gnu.org>
8322
8323 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8324 (VFORK_RETURN_TYPE): Remove.
427ec082 8325
d42122a3
DL
8326 * config.in: Add NO_MATHERR.
8327
dd432f16
DL
83282000-06-01 Dave Love <fx@gnu.org>
8329
90aa4ea8
DL
8330 * cmds.c (internal_self_insert): Don't check
8331 Vbefore_change_function, Vafter_change_function.
8332
8333 * insdel.c (signal_before_change, signal_after_change): Likewise.
8334
8335 * buffer.c (Vbefore_change_function, Vafter_change_function):
8336 Variables and their initializations deleted.
8337
2330c9d4
DL
8338 * callint.c (Fcall_interactively): Doc fix.
8339
dd432f16
DL
8340 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8341
bf9e8804
DL
83422000-05-31 Dave Love <fx@gnu.org>
8343
8344 * textprop.c: Revert last change -- duplicated.
8345
3694b4ab
GM
83462000-05-31 Gerd Moellmann <gerd@gnu.org>
8347
8348 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8349 in #if 0.
8350
8351 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8352
f14156cd
JR
83532000-05-31 Jason Rumney <jasonr@gnu.org>
8354
8119aab8
JR
8355 * search.c (Fre_search_forward, Fre_search_backward)
8356 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8357
f14156cd
JR
8358 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8359
4aab9be3
JR
83602000-05-30 Jason Rumney <jasonr@gnu.org>
8361
8362 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8363 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8364
52283633 8365 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8366
8367 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8368 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8369 expand a nil default_filename.
8370
8371 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8372 pointer to glyph_to_pixel_coords, not a frame.
8373
8374 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8375 coding.h to dependencies.
8376
8377 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8378
8379 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8380 window pointer to be consistent with w32term.c and xterm.c.
8381
8382 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8383 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8384 (Qline_spacing, Qcenter): New variables.
8385 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8386 (x_set_line_spacing): New function.
52283633 8387 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8388 (x_specified_cursor_type): New function.
8389 (x_set_cursor_type): Use it.
8390 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8391 and icon strings.
8392 (validate_x_resource_name, x_get_resource_string): Measure lengths
8393 of external strings in bytes.
8394 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8395 GetTextExtentPoint32 with NULL title.
8396 (Fx_create_frame): Initialize Qline_spacing.
8397 (w32_load_system_font): Initialize font->double_byte_p.
8398 (x_to_w32_charset): Use Vw32_charset_info_alist.
8399 (Image, busy cursor, tooltip functions): Merged changes from
8400 xfns.c. Not yet functional on Windows.
8401
8402 * w32gui.h (W32FontStruct): Add double_byte_p member.
8403
8404 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8405 (emacs_button_translation): Use it.
8406 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8407 in `mask' to be set.
8408
8409 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8410 menu strings.
8411
8412 * w32term.c: Format and doc changes to bring closer to xterm.c.
8413 (w32_char_font_type): New enum.
8414 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8415 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8416 (w32_encode_char): New function.
8417 (x_encode_char): Removed.
8418 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8419 x_encode_char and w32_font_is_double_byte.
8420 (x_produce_image_glyph): Use image_ascent.
8421 (x_produce_glyphs): Use new version of w32_per_char_metric and
8422 handle NULL return value. Allow extra line spacing.
8423 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8424 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8425 w32_font_type member of glyph instead.
8426 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8427 (fast_find_position): Make sure not to consider rows not visible
8428 in the window.
8429 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8430 w32_menu_display_help with input blocked, as it can abort.
8431 (x_display_and_set_cursor): Choose cursor depending
8432 on buffer-local value of cursor_type.
8433 (x_draw_bar_cursor): Add parameter WIDTH.
8434
8435 * w32term.h (CP_DEFAULT): Define.
8436 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8437
10fc3187
GM
84382000-05-30 Gerd Moellmann <gerd@gnu.org>
8439
8440 * search.c (Fre_search_forward, Fre_search_backward)
8441 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8442
d0555360
KH
84432000-05-30 Kenichi Handa <handa@etl.go.jp>
8444
8445 * coding.c (detect_coding_iso2022): Fix code for checking
8446 CODING_CATEGORY_MASK_ISO_8_2.
8447
f1ad044f
SM
84482000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8449
8450 * regex.c (PREFETCH_NOLIMIT): New function.
8451 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8452
84ec3b4b
GM
84532000-05-29 Gerd Moellmann <gerd@gnu.org>
8454
66254a13
GM
8455 * syntax.c (find_defun_start): Move test for
8456 open_paren_in_column_0_is_defun_start outside of the loop.
8457
49e70dec
GM
8458 * xdisp.c (redisplay_window): Really switch buffers when
8459 displaying mode lines, and temporarily set selected_frame to the
8460 frame of the window that's redisplayed.
8461
84ec3b4b
GM
8462 * xfaces.c (free_realized_faces): Block/unblock input.
8463 (free_realized_multibyte_face): Ditto.
8464
869a3a14
DL
84652000-05-29 Dave Love <fx@gnu.org>
8466
8467 * textprop.c (Qkeymap): New variable.
8468 (syms_of_textprop): Intern it.
8469
8470 * keymap.c: Include intervals.h.
8471 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8472
8473 * Makefile.in (keymap.o): Depend on intervals.h.
8474
8475 * keyboard.c (menu_bar_items, tool_bar_items)
8476 (Fexecute_extended_command): Deal with `keymap' property.
8477 (read_key_sequence): Track map from `keymap' property as well as
8478 `local_map'.
8479
8480 * intervals.c (get_local_map): Extra arg to allow looking for
8481 `keymap' too.
8482
8483 * intervals.h (map_property): New enum.
8484 (get_local_map): Extra arg using it.
8485 (Qkeymap): Declare.
8486
84ec3b4b 8487 * lisp.h (get_local_map): Don't declare here.
869a3a14 8488
89d0c844
KH
84892000-05-29 Kenichi Handa <handa@etl.go.jp>
8490
8491 * Makefile.in (callproc.o): Depend on composite.h.
8492
8493 * callproc.c: Include composite.h.
8494 (Fcall_process): Handle composition correctly.
8495
8496 * coding.h (coding_allocate_composition_data): Extern it.
8497 (coding_restore_composition): Likewise.
8498
8499 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8500 yet allocated, finish decoding with result
8501 CODING_FINISH_INSUFFICIENT_CMP.
8502 (coding_allocate_composition_data): Make it non-static.
8503 (coding_restore_composition): Likewise.
8504
797a084a
EZ
85052000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8506
8507 * charset.c (syms_of_charset): Revert last change.
8508
cf872af5
EZ
85092000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8510
8511 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8512 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8513 Handa.
cf872af5 8514
5b1ae051
EZ
85152000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8516
8517 * charset.c (syms_of_charset): Set width of character sets
8518 eight-bit-control and eight-bit-graphic to 1 column.
8519
34ec9ebe
GM
85202000-05-26 Gerd Moellmann <gerd@gnu.org>
8521
8522 * config.in (HAVE_SPEED_T): New define.
8523
8524 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8525 `extern speed_t'.
8526
dd854dc2
DL
85272000-05-26 Dave Love <fx@gnu.org>
8528
8529 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8530
8531 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8532 (Fsubr_arity): New function.
8533 (syms_of_data): Install them.
8534
ba9f8f95
KH
85352000-05-26 Kenichi Handa <handa@etl.go.jp>
8536
0f3e0672
KH
8537 * charset.c (init_charset_once): Set the table bytes_by_char_head
8538 correctly.
8539
cebefb44
KH
8540 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8541 the default fontset to what Emacs uses by default.
0f3e0672
KH
8542 (check_registry_encoding): This function deleted.
8543 (Fset_fontset_font): Remove the adhoc condition for the default
8544 fontset. Allow cons in FONTNAME.
cebefb44 8545
0f3e0672
KH
8546 * fns.c (map_char_table): Ignore char-table entries for
8547 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8548
7a18af49
KR
85492000-05-25 Ken Raeburn <raeburn@gnu.org>
8550
8551 * emacs.c (main): Initialize keyboard syms before initializing
8552 window code, so face names are available.
8553
d2af47df
SM
85542000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8555
8556 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8557 of an anchor at the beginning of a shy-group.
8558
fc6a6a4e
GM
85592000-05-25 Gerd Moellmann <gerd@gnu.org>
8560
8561 * xdisp.c (handle_invisible_prop): Don't try to skip over
8562 invisible text if end of text is already reached.
8563
005f0d35
DL
85642000-05-25 Dave Love <fx@gnu.org>
8565
02513cdd
DL
8566 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8567
005f0d35
DL
8568 * coding.c (encode_eol): Add null statement after label.
8569
89f6ca4e
EZ
85702000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8571
8572 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8573 2000-05-20.
8574
a4e1759e
KH
85752000-05-25 Kenichi Handa <handa@etl.go.jp>
8576
8577 * ccl.c (ccl_driver): Fix previous change.
8578
eacfd7fe
KH
85792000-05-25 Kenichi Handa <handa@etl.go.jp>
8580
46ab33a9
KH
8581 * coding.c (run_pre_post_conversion_on_str): Set point to the
8582 beginning of buffer before calling coding->post_read_conversion.
8583 (decode_coding_string): Give correct args to
8584 run_pre_post_conversion_on_str.
8585 (encode_coding_string): Likewise.
8586
eacfd7fe
KH
8587 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8588 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8589 eight-bit-graphic correctly.
8590
f8569325
DL
85912000-05-24 Kenichi HANDA <handa@etl.go.jp>
8592
8593 * fileio.c (Finsert_file_contents): Even if a file is not found,
8594 execute codes for setting up coding system. Call
8595 after-insert-file-functions unconditionally.
8596
04545643
GM
85972000-05-24 Gerd Moellmann <gerd@gnu.org>
8598
8599 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8600 BSD_PGRPS are not defined.
8601
747d90ea
KH
86022000-05-24 Kenichi Handa <handa@etl.go.jp>
8603
8604 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8605 DESCRIPTION.
8606 (syms_of_charset): Avoid building same strings.
8607
716e3b88
GM
86082000-05-23 Gerd Moellmann <gerd@gnu.org>
8609
8610 * lread.c (Fload): Add a comment about the meaning of
8611 Vuser_init_file being t.
8612
8613 * puresize.h (BASE_PURESIZE): Increase to 675000.
8614
8615 * s/gnu-linux.h (setpgrp): Don't define it here because this
8616 prevents compilation on GNU/Linux systems with glib 2.2.
8617
8618 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8619 as setpgid.
427ec082 8620
9aeb39fa
EZ
86212000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8622
8623 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8624 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8625 version.
8626 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8627
29ced61b
KH
86282000-05-23 Kenichi Handa <handa@etl.go.jp>
8629
52283633 8630 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8631
3d80f24d
KH
8632 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8633
52283633 8634 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8635
29ced61b
KH
8636 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8637
d7e00792
KH
86382000-05-22 Kenichi Handa <handa@etl.go.jp>
8639
c9d80d38
KH
8640 * keyboard.c (read_char): Allow character codes 128..255 to be
8641 handled by input-method-function.
8642
d7e00792
KH
8643 * insdel.c (adjust_markers_for_replace): Fix previous change.
8644 (adjust_after_replace): If PREV_TEXT is nil, call
8645 adjust_markers_for_insert, not adjust_markers_for_replace.
8646
087121cc 86472000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8648
087121cc
GM
8649 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8650 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8651 [HAVE_GRANDPT]: Define.
8652 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8653
8654 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8655 like SYSV_PTYS.
8656
8657 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8658
8659 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8660
c9671f81
KH
86612000-05-20 Kenichi Handa <handa@etl.go.jp>
8662
8663 The following changes are to handle 8-bit characters in a
8664 multibyte buffer/string without facing with byte combining
8665 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8666 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8667
8668 * Makefile.in (fns.o): Depend on charset.h.
8669
8670 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8671 convert it to unibyte.
8672 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8673
8674 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8675 apparent char boundary.
8676 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8677 0x80..0x9F to/from multibyte form.
8678
8679 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8680 to unibyte.
8681
8682 * callproc.c (Fcall_process): Always encode an argument string if
8683 it is multibyte. Setup src_multibyte and dst_multibyte members of
8684 process_coding properly.
ce75fd23 8685
c9671f81
KH
8686 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8687 SPLIT_NON_ASCII_CHAR.
8688
8689 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8690 as is.
8691 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8692
52283633 8693 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8694 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8695 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8696 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8697 and eight-bit-graphic.
8698 (char_to_string): Likewise. Signal an error for too large
8699 character code.
8700 (char_printable_p): Return 0 for 8-bit characters.
8701 (update_charset_table): Update iso_charset_table only when a final
8702 character is non-negative.
8703 (find_charset_in_text): Renamed from find_charset_in_str.
8704 Arguments and return value changed. Callers changed.
8705 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8706 be -1 if CHARSET is used only internally.
8707 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8708 eight-bit-graphic.
8709 (Fcharset_after): Simplified.
8710 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8711 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8712 (multibyte_chars_in_text): Simplified by assuming there's no
8713 invalid multibyte sequence.
52283633
SM
8714 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8715 (str_as_unibyte): New functions.
8716 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8717 (init_charset_once): Initialization for
8718 LEADING_CODE_8_BIT_CONTROL.
8719 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8720 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8721 eight-bit-control and eight-bit-graphic.
8722
52283633
SM
8723 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8724 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8725 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8726 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8727 (CHARSET_REVERSE_CHARSET): Likewise.
8728 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8729 eight-bit-graphic.
8730 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8731 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8732 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8733 encounter an invalid multibyte sequence.
8734 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8735 sequence is always valid.
8736 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8737 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8738 (CHAR_STRING): For 8-bit characters, call char_to_string.
8739 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8740 multibyte sequence is always valid.
8741 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8742 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8743 (str_as_unibyte): Extern them.
c9671f81 8744 (BCOPY_SHORT): Fix a bug.
52283633 8745 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8746 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8747 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8748 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8749
bd4bde7f 8750 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8751 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8752 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8753 (EMIT_BYTES): New macros.
8754 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8755 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8756 macros deleted.
8757 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8758 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8759 check the validity of multibyte sequence.
8760 (decode_coding_emacs_mule): New function.
8761 (encode_coding_emacs_mule): New macro.
8762 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8763 the source.
8764 (DECODE_ISO_CHARACTER): Just return a character code.
8765 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8766 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8767 EMIT_CHAR to produced decoded characters. Exit the loop only by
8768 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8769 block here.
8770 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8771 only position codes for an invalid character.
8772 (encode_designation_at_bol): Return new destination pointer. 5th
8773 arg DSTP is changed to DST.
8774 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8775 from the source by ONE_MORE_CHAR. Don't handle the case of last
8776 block here.
8777 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8778 macros deleted.
52283633
SM
8779 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8780 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8781 TWO_MORE_BYTES to fetch a byte from the source.
8782 (encode_eol): Pay attention to coding->src_multibyte.
8783 (detect_coding, detect_eol): Preserve members src_multibyte and
8784 dst_multibyte.
8785 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8786 (encoding_buffer_size): Set magnification to 3 for all coding
8787 systems that require encoding.
8788 (ccl_coding_driver): For decoding, be sure that the result is
8789 valid multibyte sequence.
8790 (decode_coding): Initialize coding->errors and coding->result.
8791 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8792 and raw-text, always call decode_eol. Handle the case of last
8793 block here. If not coding->dst_multibyte, convert the resulting
8794 sequence to unibyte.
8795 (encode_coding): Initialize coding->errors and coding->result.
8796 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8797 and raw-text, always call encode_eol. Handle the case of last
8798 block here.
8799 (shrink_decoding_region, shrink_encoding_region): Detect cases
8800 that we can't skip data more rigidly.
8801 (code_convert_region): Setup src_multibyte and dst_multibyte
8802 members of coding. For decoding, if the buffer is multibyte,
8803 convert the source sequence to unibyte in advance. For encoding,
8804 if the buffer is multibyte, convert the resulting sequence to
8805 multibyte afterward.
8806 (run_pre_post_conversion_on_str): New function.
8807 (code_convert_string): Deleted and divided into the following two.
8808 (decode_coding_string, encode_coding_string): New functions.
8809 (code_convert_string1, code_convert_string_norecord): Call one of
8810 above.
8811 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8812 MAKE_NON_ASCII_CHAR.
52283633
SM
8813 (Fset_terminal_coding_system_internal)
8814 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8815 and dst_multibyte members.
8816 (init_coding_once): Initialize iso_code_class with new enum
8817 ISO_control_0 and ISO_control_1.
8818
8819 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8820 devided into ISO_control_0 and ISO_control_1.
8821 (struct coding_system): New members src_multibyte, dst_multibyte,
8822 errors, and result. Delete member fake_multibyte.
8823 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8824 nonzero.
8825 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8826 nonzero.
8827
8828 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8829 (Faset): Likewise.
8830
8831 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8832 multibyte form.
8833 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8834 combining occurs.
8835 (Ftranspose_region): Delete codes for handling byte combining.
8836
8837 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8838 dst_multibyte members of coding. On handling REPLACE on unibyte
8839 buffer, convert the result of decode_coding to unibyte. On
8840 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8841 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8842 multibyteness of the source (buffer or string).
8843
8844 * fns.c (concat): Handle 8-bit characters correctly.
8845 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8846 unibyte in the result.
8847 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8848 valid multibyte form in the result.
8849 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8850 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8851 return -1, signal an error.
8852 (base64_encode_1): New arg MULTIBYTE. Get each character by
8853 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8854 character is found, return -1.
8855 (Fbase64_decode_region): Delete codes for handling byte-combining.
8856 Treat each decoded byte as a unibyte character.
8857 (Fbase64_decode_string): Return unibyte string.
8858 (Fcompare_strings, concat, string_byte_to_char): Use
8859 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8860 FETCH_STRING_CHAR_ADVANCE.
8861 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8862 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8863
8864 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8865 SPLIT_NON_ASCII_CHAR.
8866 (fontset_ref_via_base, fontset_set): Likewise
8867
8868 * insdel.c (adjust_markers_for_record_delete): Deleted.
8869 (adjust_markers_for_insert): Argument changed. Caller changed.
8870 (adjust_markers_for_replace): Likewise.
52283633
SM
8871 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8872 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8873 (copy_text): Delete unused local varialbe c_save. For converting
8874 to multibyte, be sure to make all 8-bit characters in valid
8875 multibyte form.
8876 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8877 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8878 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8879 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8880 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8881 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8882 handling byte combining.
8883 (adjust_before_replace): Deleted.
427ec082 8884
c9671f81
KH
8885 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8886 SPLIT_NON_ASCII_CHAR.
8887 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8888 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8889 (Fkey_description): Likewise.
8890
8891 * lread.c (read1): On reading multibyte string, be sure to make
8892 all 8-bit chararacters in valid multibyte form.
8893 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8894
8895 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8896 unconditionally.
8897
8898 * process.c (Fstart_process): GCPRO current_dir before calling
8899 Ffind_operation_coding_system. Encode arguments here.
8900 (create_process): Don't encode arguments here. Setup
8901 src_multibyte and dst_multibyte members of struct coding.
8902 (read_process_output): Setup src_multibyte and dst_multibyte
8903 members of struct coding. If the output is to multibyte buffer,
8904 always decode the output of the process. Adjust the
52283633 8905 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8906 (send_process): Setup coding->src_multibyte according to the
8907 multibyteness of the source.
8908
52283633 8909 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8910 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8911 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8912
52283633 8913 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8914
8915 * w16select.c (Fw16_set_clipboard_data): Setup members
8916 src_multibyte and dst_multibyte of coding. Adjusted for the
8917 change for find_charset_in_str.
8918 (Fw16_get_clipboard_data): Likewise.
8919
8920 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8921 dst_multibyte of coding.
8922 (x_to_w32_font): Likewise.
8923
8924 * w32select.c (Fw32_set_clipboard_data): Setup members
8925 src_multibyte and dst_multibyte of coding. Adjusted for the
8926 change for find_charset_in_str.
8927 (Fw32_get_clipboard_data): Likewise.
8928
8929 * xdisp.c (get_next_display_element): Handle 8-bit characters
8930 correctly.
52283633
SM
8931 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8932 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8933
8934 * xselect.c (selection_data_to_lisp_data): Setup members
8935 src_multibyte and dst_multibyte of coding. Adjusted for the
8936 change for find_charset_in_str.
8937 (lisp_data_to_selection_data): Likewise.
8938
5f64c9e0
GM
89392000-05-19 Gerd Moellmann <gerd@gnu.org>
8940
52283633 8941 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8942
5f64c9e0
GM
8943 * dispextern.h (Vimage_types): Add extern declaration.
8944
8945 * xdisp.c (Vimage_types): Moved here from xfns.c.
8946 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8947
8948 * xfns.c (Vimages_types): Moved to xdisp.c.
8949 (syms_of_xfns): Move `image-types' to xdisp.c.
8950
8951 * w32fns.c (Vimage_types): Removed.
8952 (syms_of_w32fns): Remove `image-types'.
8953
813086ea
KH
89542000-05-18 Kenichi Handa <handa@etl.go.jp>
8955
8956 * fns.c (map_char_table): Pay attention to character number of
8957 charset. Check the validity of charset at the first level. For
8958 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8959 the default value.
8960
8961 * fontset.c: Include "buffer.h".
8962 (fs_load_font): If the face has fontset, record the face ID in
8963 that fontset.
8964 (Finternal_char_font): New function.
8965 (accumulate_font_info): New function.
8966 (Ffontset_info): Rewritten for the new fontset implementation.
8967 (syms_of_fontset): Register Vdefault_fontset in the first element
8968 of Vfontset_table. Include Vdefault_fontset in
8969 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8970 function.
8971
bdaebbf0
DL
89722000-05-16 Dave Love <fx@gnu.org>
8973
8974 * m/iris5d.h: Deleted -- unused.
8975
cb613bb8
GM
89762000-05-16 Gerd Moellmann <gerd@gnu.org>
8977
b15f3b77
GM
8978 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8979 `invalid' instead of `illegal'.
8980
8981 * indent.c (Fmove_to_column): When ending within a tab, insert
8982 spaces first so that markers at the end of the tab get adjusted.
8983
835c1b36
GM
8984 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8985 buffer list that wasn't selected in that frame.
8986
cb613bb8
GM
8987 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8988 is needed on mescaline, use a 2 char prefix, and call
8989 make_temp_name with second arg non-zero.
8990
8991 * fileio.c (make_temp_name): New function, extracted from
8992 Fmake_temp_name.
8993 (Fmake_temp_name): Use it.
8994
f685bea9
EZ
89952000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8996
52283633 8997 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8998
a1b8d58b
GM
89992000-05-15 Gerd Moellmann <gerd@gnu.org>
9000
9001 * Makefile.in (lisp): Add env.elc.
9002
9003 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9004
a265079f
GM
90052000-05-12 Gerd Moellmann <gerd@gnu.org>
9006
9007 * search.c (Freplace_match): Handle case of `\N' in the
9008 replacement when there's no group N.
9009
da4496b6
GM
90102000-05-11 Gerd Moellmann <gerd@gnu.org>
9011
0ace421a
GM
9012 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9013 of the message to message_dolog.
9014
1172eb8d
GM
9015 * keyboard.c (read_char): Don't clear current message for help
9016 events; let the code handling help events handle this. Change
9017 code detecting help events that should be ignored.
9018
da4496b6
GM
9019 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9020 we're interating over a string.
9021
0623e40f
DL
90222000-05-09 Dave Love <fx@gnu.org>
9023
9024 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9025 that offset before writing. Move gcpro region past call of
9026 Ffile_regular_p.
9027
bae2503b
DL
90282000-05-04 Dave Love <fx@gnu.org>
9029
9030 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9031
ec82fb2f
GM
90322000-05-04 Gerd Moellmann <gerd@gnu.org>
9033
9034 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9035 of inserted characters when BUF equals the current buffer, and PT
9036 is in front of or equal to FROM.
9037
cbf18892
GM
90382000-05-03 Gerd Moellmann <gerd@gnu.org>
9039
4ff40dd0
GM
9040 * xdisp.c (handle_single_display_prop): If display property value
9041 is invalid, or something not supported on the frame, restore
9042 iterator's position to what it was initially. Make sure to return
9043 0 for invalid and unsupported property values.
9044
cbf18892
GM
9045 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9046 that x_per_char_metric returns null.
9047
1b0672c3
GM
90482000-05-02 Gerd Moellmann <gerd@gnu.org>
9049
576da55d
GM
9050 * xterm.h (struct face): Add forward declaration.
9051 (struct image): Ditto.
9052 (image_ascent): Add prototype.
9053
9054 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9055 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9056 image_ascent instead of using IMAGE_ASCENT.
9057
9058 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9059 (IMAGE_ASCENT): Removed.
9060
9061 * xfns.c (Qcenter): New variable.
9062 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9063 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9064 (image_ascent): New function.
9065 (lookup_image): Recognize `:ascent center'.
9066 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9067 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9068 (xbm_load): Don't set image's ascent here.
9069 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9070 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9071 check ascent values here.
9072 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9073 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9074 (syms_of_xfns): Initialize Qcenter.
9075
1b0672c3
GM
9076 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9077 to the limits, increase the limits.
9078
0d7811ed
KH
90792000-05-01 Kenichi Handa <handa@etl.go.jp>
9080
9081 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9082 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9083
a943a5ca
GM
90842000-04-28 Gerd Moellmann <gerd@gnu.org>
9085
9086 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9087 taller than the window.
9088
5dba1e29
KH
90892000-04-28 Kenichi Handa <handa@etl.go.jp>
9090
9091 * xfaces.c (realize_x_face): Fix the argument of the second
9092 xassert. BASE_FACE may not be a face for ASCII.
9093
353964e3
GM
90942000-04-27 Gerd Moellmann <gerd@gnu.org>
9095
c76e04a8
GM
9096 * print.c (print_object): Treat print-length < 0 as nil.
9097
9098 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9099
9100 * s/freebsd.h (TERMCAP_OBJ): Removed.
9101 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9102
9103 * lread.c (read1): Don't treat period followed by certain
9104 characters as symbol start.
9105
9106 * xfns.c (slurp_file): New function.
9107 (xbm_image_p): Handle case of in-memory XBM files.
9108 (xbm_scan): Rewritten to work on memory buffers instead of files.
9109 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9110 Work on memory buffers instead of files. If DATA is null test
9111 if buffer looks like an in-memory XBM file.
9112 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9113 memory buffers instead of files.
9114 (xbm_file_p): New function.
9115 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9116
353964e3
GM
9117 * lread.c (end_of_file_error): New function.
9118 (read1): Call it instead of signaling `end-of-file' directly.
9119
427ec082 9120 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9121 with Fprinc instead of Fprin1.
9122
24d744ac
KR
91232000-04-26 Ken Raeburn <raeburn@gnu.org>
9124
9125 * window.c (freeze_window_start): Check that minibuffer scroll
9126 window isn't nil before extracting the window structure pointer
9127 from it.
9128
9129 * undo.c (record_delete): If we hit the end of the undo list, stop
9130 picking elements apart.
9131
7464346d
GM
91322000-04-26 Gerd Moellmann <gerd@gnu.org>
9133
9134 * xdisp.c (display_line): If lines are continued, restore
9135 iterator's ascent/descent information to the values before the
9136 first glyph not fitting on the line.
9137
612839b6
GM
91382000-04-25 Gerd Moellmann <gerd@gnu.org>
9139
9140 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9141 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9142
9143 * dispnew.c (increment_matrix_positions): Renamed from
9144 increment_glyph_matrix_buffer_positions.
9145 (increment_row_positions): Renamed from
9146 increment_glyph_row_buffer_positions.
9147
9148 * dispextern.h: Change names of renamed functions from dispnew.c
9149 in prototypes.
9150
cc181e95
GM
91512000-04-24 Gerd Moellmann <gerd@gnu.org>
9152
abfcc168
GM
9153 * fileio.c (Fdo_auto_save): Create directories for auto-save
9154 list file if necessary.
9155
cc181e95
GM
9156 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9157 from buffer or frame.
9158 (automatic_hscrolling_p): New variable.
9159 (hscroll_windows): Scroll windows horizontally only if automatic
9160 hscrolling is allowed.
9161 (syms_of_xdisp): New variable `automatic-hscrolling'.
9162
9163 * frame.h (struct frame): Add member extra_line_spacing.
9164
9165 * xfns.c (x_set_line_spacing): New function.
9166 (Fx_create_frame): Set line spacing from resources.
9167 (Qline_spacing): New variable.
9168 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9169
cc181e95
GM
9170 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9171
9172 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9173 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9174 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9175 extra_line_spacing from default value.
9176 (init_buffer_once): Initialize default value of extra_line_spacing.
9177
9178 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9179 and extra3.
9180
9181 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9182 prompt_width. Add extra line spacing.
9183
9184 * term.c (produce_glyphs): Remove reference to struct it's
9185 prompt_width.
9186
9187 * dispextern.h (struct it): Remove member prompt_width, add
9188 extra_line_spacing.
9189
58827478
GM
91902000-04-22 Gerd Moellmann <gerd@gnu.org>
9191
9192 * dispnew.c (update_frame_line): When writing a whole line, make
9193 sure cursor is in the right row afterwards, otherwise a use of
9194 capability `ch' in cmgoto might leave the cursor in the row below.
9195
25a87f42
GM
91962000-04-21 Gerd Moellmann <gerd@gnu.org>
9197
9198 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9199
9200 * keyboard.c (timer_check): Fix typo in comment.
9201
54edf5c2
KH
92022000-04-21 Kenichi Handa <handa@etl.go.jp>
9203
9204 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9205 name change: ch -> character.
9206
3a64eef5
GM
92072000-04-20 Gerd Moellmann <gerd@gnu.org>
9208
9209 * keyboard.c (echo_message_buffer): New variable.
9210 (echo_now): Set echo_message_buffer to the echo area buffer used
9211 to display the echo.
9212 (cancel_echoing): Reset echo_message_buffer to nil.
9213 (read_char): Code rewritten that handles canceling an echo or
9214 echoing a dash, respectively.
9215
9216 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9217 directory doesn't exist.
9218
6142fdcb
DL
92192000-04-19 Dave Love <fx@gnu.org>
9220
9221 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9222 (concat): Don't allow numeric args.
9223 (Fconcat): Doc change.
6142fdcb 9224
ac6b5352
SM
92252000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9226
9227 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9228 instead define end_match(1|2) more carefully.
9229 Use GET_CHAR_BEFORE_2 for `begline'.
9230
cb9215e4
GM
92312000-04-19 Gerd Moellmann <gerd@gnu.org>
9232
5e3dac3f
GM
9233 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9234 on 64-bit systems where NULL is defined as `0'.
9235
9236 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9237 the `variable argument list' to make it work on Alpha.
9238
cb9215e4
GM
9239 * m/alpha.h (_LP64) [!_LP64]: Define.
9240 (ORDINARY_LINK): Define for NetBSD.
9241
9242 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9243
f532dca0
DL
92442000-04-19 Dave Love <fx@gnu.org>
9245
c750667e
DL
9246 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9247 change.
9248
9249 * Makefile.in (LIBS): Don't use.
9250 (GETLOADAVG_OBJ): Define again.
9251 (otherobj): Add GETLOADAVG_OBJ.
9252
f532dca0
DL
9253 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9254
1c7e22fd
GM
92552000-04-18 Gerd Moellmann <gerd@gnu.org>
9256
f6d3257b
GM
9257 * lread.c (read_filtered_event): Cancel and start busy cursor.
9258
427ec082 9259 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9260 that the per-character metrics may be null.
9261
e10f64e7
GM
92622000-04-17 Gerd Moellmann <gerd@gnu.org>
9263
0daee095
GM
9264 * buffer.c (clone_per_buffer_values): New function.
9265 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9266 clone_per_buffer_values if CLONE is not nil.
9267
e10f64e7
GM
9268 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9269
38687d43
DL
92702000-04-16 Dave Love <fx@gnu.org>
9271
9272 * Makefile.in: Remove obsolete localcpp stuff.
9273 (GETLOADAVG_OBJ): Don't define.
9274 (obj): Move LIBOBJS...
9275 (otherobj): ... to here.
9276 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9277 whitespace-only lines after the continuation (Irix).
9278
c21c7262
GM
92792000-04-14 Gerd Moellmann <gerd@gnu.org>
9280
9281 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9282
9283 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9284
314767c0
DL
92852000-04-14 Dave Love <fx@gnu.org>
9286
9287 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9288 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9289 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9290 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9291 NLIST_STRUCT.
9292
9293 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9294 autoconfiscated HAVE_GETLOADAVG.
9295
9296 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9297 BROKEN_MKTIME.
9298
a2522dca
GM
92992000-04-14 Gerd Moellmann <gerd@gnu.org>
9300
9301 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9302 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9303
33744b5d
DL
93042000-04-14 Dave Love <fx@gnu.org>
9305
c21c7262 9306 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9307 (INTERVAL_SRC): Convert to make variable.
9308 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9309 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9310 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9311 add LIBOBJS.
9312 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9313 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9314 (shortlisp): Add facemenu, float-sup, frame.
9315 (SOME_MACHINE_LISP): Remove them from here.
9316 (LIBES): Change unused LDLIBS to autoconf LIBS.
9317
9318 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9319
9d3d5916
KH
93202000-04-14 Kenichi Handa <handa@etl.go.jp>
9321
9322 * composite.c (update_compositions): If FROM and TO are not in a
9323 valid range, do nothing.
9324
198e3c7a
GM
93252000-04-13 Gerd Moellmann <gerd@gnu.org>
9326
52283633 9327 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9328
52283633 9329 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9330
9331 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9332 as TERMCAP_OBJ.
9333
055a28c9
EZ
93342000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9335
9336 * fileio.c (a_write): Remove redundant semi-colons.
9337 (e_write): Return -1 if failed to write all the data.
9338 This fixes the changes made at 1999-12-15.
9339
f5c75033
DL
93402000-04-12 Dave Love <fx@gnu.org>
9341
9342 * fns.c (mapcar1): Test for null vals to support mapc.
9343 (Fmapc): New function.
9344
0c3cfc51
EZ
93452000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9346
9347 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9348 (IT_frame_up_to_date): Support the buffer local value of
9349 cursor-type, if defined.
9350
33465a31
DL
93512000-04-10 Dave Love <fx@gnu.org>
9352
9353 * editfns.c (preceding-char, following-char): Doc fix.
9354
6ed56568
KR
93552000-04-10 Ken Raeburn <raeburn@gnu.org>
9356
9357 * Makefile.in (temacs): Revert 2000-03-12 change.
9358
7cf80d4e
JR
93592000-04-10 Jason Rumney <jasonr@gnu.org>
9360
9361 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9362
34f3f342
GM
93632000-04-10 Gerd Moellmann <gerd@gnu.org>
9364
1a1b1895
GM
9365 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9366 area buffer, if it's not set up yet.
9367
34f3f342
GM
9368 * indent.c (compute_motion): Set immediate_quit.
9369
be0dbdab
GM
93702000-04-09 Gerd Moellmann <gerd@gnu.org>
9371
52283633 9372 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9373 (realize_tty_face): Suppress boldness if colors are the inverse of
9374 the default colors, and tty_suppress_bold_inverse_default_colors_p
9375 is set.
9376 (Ftty_suppress_bold_inverse_default_colors): New function.
9377 (syms_of_xfaces): Defsubr it.
9378
be0dbdab
GM
9379 * buffer.c (Frestore_buffer_modified_p): New function.
9380 (syms_of_buffer): Defsubr it.
9381
e8413c3b
KR
93822000-04-08 Ken Raeburn <raeburn@gnu.org>
9383
87f67317
KR
9384 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9385 charset id (int) argument, not a charset (Lisp_Object).
9386
e8413c3b
KR
9387 * coding.h (code_convert_string): Declare.
9388 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9389 object, as the fourth argument to code_convert_string.
9390
52283633 9391 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9392 (Fset_fontset_font): Use EQ to compare lisp objects.
9393
7c752c80
KR
93942000-04-05 Ken Raeburn <raeburn@gnu.org>
9395
c0333abc
KR
9396 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9397 a pointer that looks like a lisp object.
9398 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9399 zero, instead see whether it's an integer object, since they can't
9400 have intervals.
9401 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9402
52283633
SM
9403 * dispnew.c (allocate_matrices_for_frame_redisplay)
9404 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9405 to convert between (unsigned) int values and lisp integers.
9406 * keyboard.c (read_key_sequence): Likewise.
9407 * lread.c (substitute_object_recurse): Likewise.
9408 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9409 * minibuf.c (do_completion, Fminibuffer_complete_word)
9410 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9411 * term.c (produce_special_glyphs): Likewise.
9412
9413 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9414 * print.c (print_preprocess, print_object): Likewise.
9415
9416 * search.c (compile_pattern): Use NILP when checking for nil.
9417
74e49b38
KR
9418 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9419 __OPTIMIZE__]: Provide a GNU C macro version that handles
9420 lisp-object unions.
9421 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9422 field, to better cope with ENABLE_CHECKING and calls that modify a
9423 Lisp_Object using its old value.
9424
685e5ed2
GM
94252000-04-04 Gerd Moellmann <gerd@gnu.org>
9426
c407c570
GM
9427 * window.c (compare_window_configurations): Signal an error
9428 if parameters C1 or C2 aren't window configurations.
9429
685e5ed2
GM
9430 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9431 AFTER_POTENTIAL_GC calls around calls to functions that can
9432 signal an error and thus invoke the debugger.
9433
587a49ab
GM
94342000-04-03 Gerd Moellmann <gerd@gnu.org>
9435
62f20204
GM
9436 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9437 an error if decoding fails.
9438
587a49ab
GM
9439 * keyboard.c (lispy_mouse_names): Variable removed.
9440 (Vlispy_mouse_stem): New variable.
9441 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9442 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9443 for any mouse button number. Increase size of mouse_syms and
9444 button_down_location as needed. Call modify_event_symbol with
9445 different arguments.
9446 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9447 Call modify_event_symbol with different arguments.
9448 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9449 for any button number. Call modify_event_symbol with different
9450 arguments.
9451 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9452 Accept a string for NAME_ALIST_OR_STEM.
9453
9454 * lisp.h (larger_vector): Add prototype.
9455
9456 * fns.c (larger_vector): Make externally visible.
9457
9458 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9459
2d1675e4
SM
94602000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9461
9462 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9463 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9464 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9465 we are between str1 and str2.
9466 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9467 (PATFETCH): Use `TRANSLATE'.
9468 (PATFETCH_RAW): Fetch multibyte char if applicable.
9469 (PATUNFETCH): Remove.
9470 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9471 When writing a char, write it directly into the pattern buffer rather
9472 than going needlessly through a temp char-array.
9473 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9474 multibyte magic and remove the useless `#ifdef emacs'.
9475 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9476 buffer.
9477
9478 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9479 conditional on `emacs'.
9480
9481 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9482
cc2d8c6b
KR
94832000-04-01 Ken Raeburn <raeburn@gnu.org>
9484
9485 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9486 non-union-type versions of XMARK and friends here, because XMARK
9487 and friends won't work on an integer field if NO_UNION_TYPE is not
9488 defined.
52283633 9489 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9490
52283633 9491 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9492 (syms_of_composite): Delete local var NARGS, pass an int as first
9493 argument to Fmake_hash_table.
9494
2387b382
KR
9495 * editfns.c (text_property_stickiness): Use NILP to test
9496 Lisp_Object boolean value.
9497 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9498 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9499 problems reading from and changing the same lisp value in an
9500 XSETSTRING call.
9501
27660e89
GM
95022000-04-01 Gerd Moellmann <gerd@gnu.org>
9503
9504 * term.c (TN_no_color_video): New variable.
9505 (term_init): Intitialize TN_no_color_video.
9506 (enum no_color_bit): New enumeration.
9507 (MAY_USE_WITH_COLORS_P): New macro.
9508 (turn_on_face): Use it to determine if attributes may be used
9509 combined with colors.
9510
3578db3c
KR
95112000-04-01 Ken Raeburn <raeburn@gnu.org>
9512
9513 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9514 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9515 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9516 proper accessor macros.
9517 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9518 (grow_mini_window): Fix typo getting int value of root->height.
9519
6fc556fd
KR
9520 * xdisp.c (compute_string_pos): Fix order of arguments to
9521 string_pos_nchars_ahead.
9522 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9523 count arg to variable-arg routines like Frun_hook_with_args and
9524 Fformat.
587a49ab
GM
9525 (back_to_previous_visible_line_start)
9526 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9527 fixed-arg routines like Fget_char_property and Fmake_string.
9528 (reconsider_clip_changes): Use XINT when comparing integer lisp
9529 objects, or passing them as int arguments.
587a49ab
GM
9530 (mark_window_display_accurate, insert_left_trunc_glyphs)
9531 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9532 storing or passing integer values as lisp objects.
9533 (set_cursor_from_row, highlight_trailing_whitespace): Use
9534 INTEGERP, not implicit test against zero, for glyph object.
9535 (try_window_id): Don't use make_number when we want an int value.
9536
9537 * xfaces.c (xlfd_symbolic_value): Make last argument a
9538 Lisp_Object, to be consistent with callers.
9539 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9540 (lface_hash): Apply XFASTINT to lisp values before folding in.
9541
9542 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9543 fill in window width and height. Pass an int, not a lisp object,
9544 as first arg to Finsert.
9545
6e7b2457
GM
95462000-04-01 Gerd Moellmann <gerd@gnu.org>
9547
610d841e
GM
9548 * xfaces.c (realize_basic_faces): Block input while realizing
9549 the faces.
9550
6e7b2457
GM
9551 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9552
9553 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9554
aa110c0c
GM
95552000-03-31 Gerd Moellmann <gerd@gnu.org>
9556
9557 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9558 or ASCII, handle case that per-char metric is null.
aa110c0c 9559
8801a864
KR
95602000-03-30 Ken Raeburn <raeburn@gnu.org>
9561
c6129d7e
KR
9562 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9563
52283633
SM
9564 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9565 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9566 pointer, using eassert.
9567 * frame.h (XFRAME): Likewise.
9568
52283633
SM
9569 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9570 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9571 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9572 * data.c (set_internal): Likewise.
52283633
SM
9573 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9574 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9575 * fileio.c (auto_save_1): Likewise.
9576 * insdel.c (check_markers): Likewise.
9577 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9578 * undo.c (record_insert): Likewise.
9579 * vmsproc.c (child_sig): Likewise.
9580 * window.c (unshow_buffer, window_loop): Likewise.
9581 * xterm.c (x_erase_phys_cursor): Likewise.
9582
8e7af858
GM
95832000-03-30 Gerd Moellmann <gerd@gnu.org>
9584
9585 * xfns.c (free_image_cache): Free the cache structure itself
9586 last, after all its members have been freed.
9587
9588 * lisp.h (xstrdup): Add prototype.
9589
9590 * alloc.c (xstrdup): Moved here from xfaces.c.
9591 (allocating_for_lisp): Variable removed.
52283633 9592 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9593
9594 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9595 of Fsymbol_value.
9596 (xstrdup): Moved to alloc.c.
9597
e0b8c689
KR
95982000-03-29 Ken Raeburn <raeburn@gnu.org>
9599
b96f9fb7
KR
9600 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9601
9602 * emacs.c (main): Fix sense of no-loadup test.
9603
e0b8c689
KR
9604 * config.in (ENABLE_CHECKING): Undef.
9605
9606 * lisp.h (struct interval): Replace "parent" field with a union of
9607 interval pointer and Lisp_Object; add new bitfield to use as
9608 discriminant. Change other flag fields to bitfields.
9609 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9610 is defined and the supplied test fails, print a message and abort.
9611 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9612
9613 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9614 pointers; abort if the value looks like a lisp object.
52283633
SM
9615 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9616 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9617 Modify for new interval parent definition.
9618
52283633
SM
9619 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9620 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9621 addressable lisp object in the interval structure.
9622 (die): New function.
9623 (suppress_checking): New variable.
9624
9625 * intervals.c (interval_start_pos): Just return 0 if there's no
9626 parent object.
9627
f83c5440
GM
96282000-03-29 Gerd Moellmann <gerd@gnu.org>
9629
9630 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9631 and earlier Emacs versions.
9632
9633 * keyboard.c (Ftop_level): Cancel busy-cursor.
9634
9635 * eval.c (call_debugger): Cancel busy-cursor.
9636
fdce64ff
KH
96372000-03-29 Kenichi Handa <handa@etl.go.jp>
9638
9639 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9640 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9641
f6a3f532
SM
96422000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9643
9644 * regex.c (analyse_first): New function obtained by ripping out most
9645 of re_compile_fastmap and generalizing it a little bit so that it
9646 can also just return whether a given (sub)pattern can match the empty
9647 string or not.
9648 (regex_compile): Use `analyse_first' to decide whether the loop-check
9649 needs to be done or not for *, +, *? and +? (the loop check is costly
9650 for non-greedy repetition).
9651 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9652
e9b309ac
DL
96532000-03-28 Dave Love <fx@gnu.org>
9654
52283633 9655 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9656
e9b309ac
DL
9657 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9658
ed0767d8
SM
96592000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9660
9661 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9662 an expression.
9663 (enum re_opcode_t): Update description of succeed_n.
9664 (PATFETCH): Always define.
9665 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9666 operators, char classes, shy-groups and intervals).
9667 Optimize special cases of intervals so as to only use succeed_n and
9668 jump_n when really needed.
9669 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9670 that we don't have to handle the special cases any more.
9671 Simplify on_failure_jump handling as well.
9672
e11e7e46
JR
96732000-03-28 Jason Rumney <jasonr@gnu.org>
9674
9675 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9676
88faab89
GM
96772000-03-27 Gerd Moellmann <gerd@gnu.org>
9678
182ff242
GM
9679 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9680
9681 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9682
182ff242
GM
9683 * alloc.c (mark_maybe_object): New function.
9684 (mark_memory): Use it.
9685 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9686 (setjmp_tested_p, longjmp_done): New variables.
9687 (test_setjmp): New function.
9688 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9689 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9690
c1005d06
GM
9691 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9692 to DEC_TEXT_POS and INC_TEXT_POS.
9693
9694 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9695 with parameter MULTIBYTE_P.
9696
52283633 9697 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9698
7439e5b9 9699 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9700 buffers because it looks for multibyte character byte sequences
9701 which don't exist in unibyte text.
7439e5b9 9702
d9c545da
GM
9703 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9704
11fd416e 9705 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9706 [DEBUG_X_COLORS]: New functions.
9707 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9708
9709 * xfns.c (x_set_cursor_color): Get color reference counts right.
9710
9711 * xterm.c (x_copy_color): New function.
9712 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9713
9714 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9715 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9716 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9717 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9718 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9719 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9720 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9721 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9722 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9723 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9724
11fd416e
GM
9725 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9726 names for handling per-buffer variables.
d9c545da
GM
9727
9728 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9729 instead of MAX_BUFFER_LOCAL_VARS.
9730 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9731
9732 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9733
88faab89
GM
9734 * xfns.c (x_specified_cursor_type): New function.
9735 (x_set_cursor_type): Use it.
9736
9737 * buffer.h (struct buffer): Add cursor_type.
9738
d80f42b7
SM
97392000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9740
9741 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9742 (print_partial_compiled_pattern, re_compile_fastmap):
9743 Handle new opcode.
d80f42b7
SM
9744 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9745 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9746 executing it as well as when popping it off the stack to find infinite
9747 loops in non-greedy repetition operators.
9748
89e80928
GM
97492000-03-26 Gerd Moellmann <gerd@gnu.org>
9750
3d4ff2dd
GM
9751 * doc.c (Qfunction_documentation): New variable.
9752 (syms_of_doc): Initialize Qfunction_documentation.
9753 (Fdocumentation): If FUNCTION is a symbol with non-nil
9754 `function-documentation' property, return a documentation derived
9755 from that.
9756
bd96bd79
GM
9757 * buffer.c (syms_of_buffer): Add default-cursor-type.
9758 (init_buffer_once): Don't let cursor_type have a local value
9759 in every buffer.
9760
19d1bc27
GM
9761 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9762 on buffer-local value of cursor_type.
9763 (x_draw_bar_cursor): Add parameter WIDTH.
9764
9765 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9766 (init_buffer_once): Set default cursor_type value to t.
9767 Mark cursor_type as local everywhere.
9768 (syms_of_buffer): New per-buffer variable cursor-type.
9769
89e80928
GM
9770 * buffer.h (struct buffer): Remove member local_var_flags,
9771 add local_flags.
9772 (MAX_BUFFER_LOCAL_VARS): New macro.
9773 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9774 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9775 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9776 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9777
52283633 9778 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9779
9780 * category.c (Fset_category_table): Use new macros for per-buffer
9781 variables.
9782
9783 * buffer.c (buffer_permanent_local_flags): Make a char array.
9784 (max_buffer_local_idx): New variable.
9785 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9786 for new handling of per-buffer variables.
9787 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9788 (init_buffer_once): Initialize per-buffer vars differently.
9789 Set max_buffer_local_idx.
9790
9791 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9792 variables.
9793
52283633 9794 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9795
9796 * data.c (do_symval_forwarding, store_symval_forwarding)
9797 (find_symbol_value, set_internal, default_value, Fset_default)
9798 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9799 per-buffer variables.
9800
9801 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9802
9a0dd3dc
GM
98032000-03-24 Gerd Moellmann <gerd@gnu.org>
9804
b68c375f
GM
9805 * xterm.c (x_term_init): Unblock input around call1 of
9806 Qvendor_specific_keysyms.
9807
9a0dd3dc
GM
9808 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9809 (find_defun_start): Consider an open parenthesis in column 0
9810 a defun start only if open_paren_in_column_0_is_defun_start is set.
9811 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9812
7973e637
SM
98132000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9814
9815 * eval.c (Fautoload): Add entry in load-history (if after dump).
9816 * lread.c (load-history): Update docstring.
9817
39210e90
GM
98182000-03-24 Gerd Moellmann <gerd@gnu.org>
9819
9820 * indent.c (Fvertical_motion): Always use the current buffer.
9821 Temporarily change the window's buffer, if necessary.
9822
72db3ab5
GM
98232000-03-23 Gerd Moellmann <gerd@gnu.org>
9824
9825 * xterm.c (fast_find_position): Make sure not to consider rows
9826 not visible in the window.
9827
990b2375
SM
98282000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9829
9830 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9831 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9832
ff4df011
JR
98332000-03-22 Jason Rumney <jasonr@gnu.org>
9834
9835 * w32menu.c (single_submenu): Set help string to NULL if none.
9836 (w32_menu_show): Set help string correctly.
9837 (add-menu-item): Set help string in MIIM_DATA for menu item.
9838 Load SetMenuItemInfoA explicitly.
9839 (w32_menu_display_help): New function.
427ec082 9840
ff4df011
JR
9841 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9842 (QCdata): Moved to xdisp.c.
9843
9844 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9845 (Vw32_charset_to_codepage_alist): Removed.
9846 (Vw32_charset_info_alist): New variable.
52283633
SM
9847 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9848 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9849 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9850 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9851 with TODO comment.
9852 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9853 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9854 Define Vw32_charset_info_alist and w32_charset symbols.
9855
98562000-03-22 Jason Rumney <jasonr@gnu.org>
9857
9858 * makefile.nt (w32bdf.obj): Update dependencies.
9859
9860 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9861
9862 * w32fns.c: Include fontset.h after dispextern.h.
9863 (Fx_create_frame): Do not create fontset.
9864 (w32_load_system_font): Doc fix.
9865 (Fx_close_connection): Free full_name if it is not shared.
9866
9867 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9868 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9869 Callers updated.
ff4df011
JR
9870 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9871 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9872 (w32_font_is_double_byte): New function, needs body.
9873 (x_append_glyph): Set glyph->glyph_not_available_p.
9874 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9875 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9876 character, convert it to a unibyte character.
9877 (struct glyph_string): Delete member `charset'.
9878 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9879 calculating it is found.
9880 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9881 the case that per char metric is not available correctly.
9882 (x_fill_glyph_string): Handle the case that the specific glyph is
9883 not available correctly.
9884 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9885 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9886 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9887 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9888 fontset. Don't call FS_LOAD_FONT.
9889
439d5cb4
KR
98902000-03-22 Ken Raeburn <raeburn@gnu.org>
9891
9892 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9893 (INT_LISPLIKE): New macro.
9894 (NULL_INTERVAL_P): Use it.
52283633
SM
9895 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9896 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9897 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9898
9899 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9900 explicit references to "parent" field of struct interval and
9901 associated unclean type conversions.
52283633
SM
9902 * intervals.c (create_root_interval, root_interval, rotate_right)
9903 (rotate_left, balance_possible_root_interval, split_interval_right)
9904 (split_interval_left, interval_start_pos, find_interval)
9905 (next_interval, previous_interval, update_interval)
9906 (adjust_intervals_for_insertion, delete_node, delete_interval)
9907 (adjust_intervals_for_deletion, merge_interval_right)
9908 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9909 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9910 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9911 Likewise.
9912 * syntax.c (update_syntax_table): Likewise.
9913
9914 * intervals.c (reproduce_tree_obj): New function, like
9915 reproduce_tree but takes a Lisp_Object for the parent. Declare
9916 with prototype.
9917 (graft_intervals_into_buffer): Use it when appropriate.
9918 (reproduce_tree): Declare with prototype.
9919 (balance_possible_root_interval): Check that the parent is a lisp
9920 object before trying to examine its type.
9921
ee1c5b21
GM
99222000-03-22 Gerd Moellmann <gerd@gnu.org>
9923
9924 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9925 as strings only if both are known to be strings.
9926
9927 * s/openbsd.h (LIBS_TERMCAP): Undef.
9928
1fb352e0
SM
99292000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9930
9931 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9932 definitions for non-Emacs compilation.
9933 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9934 outside of `#ifdef emacs'.
9935 (print_partial_compiled_pattern): Update.
9936 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9937 (re_compile_fastmap): Merge handling of charset and charset_not (for
9938 emacs and non-emacs compilation as well).
9939 Similarly for (not)categoryspec and (not)syntaxspec.
9940 Don't use the fastmap when reaching `anychar' since the added
9941 complexity is not justified.
9942 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9943 and (not)syntaxspec. Merge (not)categoryspec.
9944
fdaa1f77
KH
99452000-03-22 Kenichi Handa <handa@etl.go.jp>
9946
52283633
SM
9947 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9948 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9949 --without-x.
fdaa1f77 9950
d152fb46
DL
99512000-03-21 Dave Love <fx@gnu.org>
9952
9953 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9954 doc string.
9955
d2cafc8c
GM
99562000-03-21 Gerd Moellmann <gerd@gnu.org>
9957
9958 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9959 (lface_fully_specified_p): Don't check contents of
9960 LFACE_FONT_INDEX because that attribute is optional.
9961 (realize_x_face): Remove now unwarranted xassert.
9962
9111d4b5
KH
99632000-03-21 Kenichi HANDA <handa@etl.go.jp>
9964
9965 The following changes are to make font selection based on
9966 characters, not charset. In addition, they recover fontset
9967 facilities while utilizing the new font selection mechanism.
9968
6c4bfdc0
KH
9969 * Makefile.in (fontset.o): Depend on dispextern.h.
9970
9971 * alloc.c (mark_face_cache): Don't mark face->registry.
9972
9111d4b5
KH
9973 * dispextern.h (struct glyph): New member glyph_not_available_p.
9974 Use 22 bits for face_id.
9975 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9976 (struct face): Delete member registry, new member ascii_face.
9977 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9978 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9979 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9980 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9981
9982 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9983 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9984 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9985 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9986 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9987 (fs_free_face_fontset, fontset_font_pattern)
9988 (face_suitable_for_char_p, face_for_char)
9989 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9990 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9991 (FS_LOAD_FACE_FONT): New macro.
9992
9993 * fontset.c: All codes rewritten or adjusted for the change of
9994 fontset implementation. Now fontset is represented by char table.
52283633
SM
9995 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9996 Variables removed.
9111d4b5 9997 (my_strcasecmp): Function removed.
52283633 9998 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9999 (AREF, ASIZE): New macros.
52283633
SM
10000 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10001 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10002 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10003 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10004 (fontset_id_valid_p, font_family_registry, fontset_name)
10005 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10006 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10007 New functions.
10008 (fs_load_font): New arg FACE. Caller changed.
10009 (fs_query_fontset): Argument changed. Caller changed.
10010 (Fquery_fontset): call fs_query_fontset.
10011 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10012 Functions removed.
52283633
SM
10013 (clear_fontset_elements, check_registry_encoding)
10014 (check_fontset_name): New functions.
9111d4b5
KH
10015 (syms_of_fontset): Set char-table-extra-slots property of fontset
10016 to 3. Staticpro and initialize Vfontset_table and
10017 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10018
10019 * frame.h (struct frame): Member `fontset_data' removed.
10020 (FRAME_FONTSET_DATA): Macro removed.
10021
10022 * frame.c (make_frame): Don't allocate f->fontset_data.
10023 (Fdelete_frame): Don't free f->fontset_data.
10024
6c4bfdc0
KH
10025 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10026
9111d4b5
KH
10027 * xdisp.c (charset_at_position): Function removed.
10028 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10029 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10030 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10031 Likewise.
10032 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10033 FACE_FOR_CHARSET.
52283633
SM
10034 (get_next_display_element, append_space)
10035 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10036
10037 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10038 Variables removed.
10039 (clear_font_table, frame_update_line_height, load_face_font):
10040 Adjusted for the change of fontset implementation.
10041 (load_face_fontset_font): Function removed.
10042 (pixel_point_size): New function.
10043 (font_list): Argument type changed. Caller changed.
10044 (LFACE_FONT): New macro.
10045 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10046 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10047 Lisp_Object. Determine the font name by actually loading a font
10048 by the specified pattern. Set LFACE_FONT (lface) to the specified
10049 pattern. Even if a font is not found, don't try alternatives.
10050 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10051 (set_font_frame_param): If `font' is specified in lface, use it.
10052 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10053 (lface_same_font_attributes_p): Likewise.
10054 (make_realized_face): Arguent changed. Caller changed. Set
10055 face->ascii_face to face itself.
10056 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10057 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10058 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10059 (free_realized_multibyte_face): New function.
10060 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10061 changed. Caller changed.
10062 (try_font_list): Argument type changed.
10063 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10064 (choose_face_font): Argument changed. Handle fontset properly.
10065 (choose_face_fontset_font): Function removed.
10066 (realize_default_face, realize_named_face): Don't remove the
10067 former face here.
10068 (realize_face): Argument changed. Caller changed. Remove face
52283633 10069 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10070 (realize_x_face): Argument changed. Caller changed. For a
10071 multibyte character, share fontset with base_face. For a single
52283633 10072 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10073 (realize_tty_face): Argument changed. Caller changed.
10074 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10075 (face_at_buffer_position): Don't check multibyte_p for returning
10076 DEFAULT_FACE_ID.
10077 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10078 FACE_SUITABLE_FOR_CHARSET_P.
10079 (syms_of_xfaces): Remove code for Qx_charset_registry and
10080 Vface_default_registry.
10081
6c4bfdc0
KH
10082 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10083 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10084 (x_per_char_metric): Don't try FONT->default_char. Even if
10085 pcm->width is zero, glyph bits may exist.
10086 (x_encode_char): Always initialize char2b->byte1.
10087 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10088 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10089 (x_append_glyph): Set glyph->glyph_not_available_p.
10090 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10091 it->charset. Handle the case that per char metric is not
10092 available. If it->multibyte_p is zero and it->c is a multibyte
10093 character, convert it to a unibyte character.
10094 (struct glyph_string): Delete member `charset'.
10095 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10096 the case that per char metric is not available correctly.
10097 (x_fill_glyph_string): Handle the case that the specific glyph is
10098 not available correctly.
10099 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10100 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10101 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10102 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10103 fontset. Don't call FS_LOAD_FONT.
10104
10105 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10106 (x_create_tip_frame): Likewise.
10107 (Fx_close_connection): Free full_name of font_info.
10108
10109 * fns.c (optimize_sub_char_table): New function.
10110 (Foptimize_char_table): New function.
10111 (syms_of_fns): Defsubr Soptimize_char_table.
10112
b33dd3b0
GM
101132000-03-20 Gerd Moellmann <gerd@gnu.org>
10114
10115 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10116 only if buffer is displayed in some window.
10117
10118 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10119 (try_window_reusing_current_matrix): Don't call scroll run
10120 function if run's current and desired position are the same;
10121 this prevents cursor flickering.
10122
4e8a9132
SM
101232000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10124
10125 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10126
10127 * regex.c (RE_STRING_CHAR): New macro.
10128 (GET_CHAR_AFER_2): Remove.
10129 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10130 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10131 (print_partial_compiled_pattern, re_compile_fastmap)
10132 (re_match_2_internal): Remove on_failure_jump_exclusive.
10133 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10134 optimization only need to work for * (ie. can use of_keep_string_jump).
10135 Remove the special case for .*\n since it is now covered by the general
10136 optimization.
10137 (re_search_2): Don't bother with `room'.
10138 (skip_one_char): New function.
10139 (skip_noops): Simplify since `memory' is not needed any more.
10140 (mutually_exclusive_p): Restructure slightly to use `switch' and
10141 add handling for "all" remaining cases.
10142 (re_match_2_internal): Change on_failure_jump_smart to use
10143 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10144 rather than on_failure_jump_exclusive.
10145
2136fdd4
GM
101462000-03-19 Gerd Moellmann <gerd@gnu.org>
10147
10148 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10149 number of bits per RGB because it's everywhere used as the depth
10150 of the visual.
10151
10152 * term.c (calculate_costs): Remove code dealing with X frames.
10153
18e21ce8 101542000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10155
10156 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10157
d7b511c4
GM
101582000-03-18 Gerd Moellmann <gerd@gnu.org>
10159
10160 * lread.c (read_integer): Unread the last char not consumed.
10161
16b5d424
GM
101622000-03-17 Gerd Moellmann <gerd@gnu.org>
10163
10164 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10165 which are in the process of being deleted.
16b5d424 10166
1fa28578
GM
101672000-03-16 Gerd Moellmann <gerd@gnu.org>
10168
83488cce
GM
10169 * Makefile.in (mostlyclean): Add `*.core'.
10170 (clean): Add `bootstrap-emacs'.
10171
1fa28578
GM
10172 * lread.c (read_integer): New function.
10173 (read1): Support read syntax #o, #x, #b, #r.
10174
99633e97
SM
101752000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10176
1fa28578
GM
10177 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10178 make sure POINTER_TO_OFFSET gives the same value before and after
10179 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10180 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10181 (debug): Now only active if > 0 rather than if != 0.
10182 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10183 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10184 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10185 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10186 (store_op1, store_op2, insert_op1, insert_op2)
10187 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10188 (group_in_compile_stack): Move to after its arg's types are
10189 declared and add a prototype.
99633e97 10190 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10191 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10192 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10193 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10194 indentation of the greedy-op and shy-group code.
99633e97
SM
10195 (at_(beg|end)line_loc_p): Fix argument's types.
10196 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10197 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10198 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10199 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10200 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10201 QUIT unconditionally.
99633e97 10202
699238d9
GM
102032000-03-15 Gerd Moellmann <gerd@gnu.org>
10204
10205 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10206 a sole completion.
10207
10208 * process.c (send_process): Add a hint that the function
10209 can call Lisp code to its comment.
10210
10211 * lread.c (load_dangerous_libraries): New variable.
10212 (Vbytecomp_version_regexp): New variable.
10213 (safe_to_load_p): New function.
10214 (Fload): Handle files not compiled with Emacs specially.
10215 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10216
34e23e5a
GM
102172000-03-14 Gerd Moellmann <gerd@gnu.org>
10218
9c763cca
GM
10219 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10220
10221 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10222 support functions only if HAVE_X11R6_XIM is defined.
10223 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10224
10225 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10226
10227 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10228 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10229 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10230
10231 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10232 (HAVE_X11R6_XIM): Define.
10233
10234 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10235
34e23e5a
GM
10236 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10237 If set, call XSynchronize.
10238
66f0296e
SM
102392000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10240
34e23e5a
GM
10241 * regex.c: Declare a new type `re_char' used throughout the code
10242 for the string char type. It's `const unsigned char' to match the
10243 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10244 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10245 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10246 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10247 code duplication.
66f0296e
SM
10248
10249 * charset.h (GET_CHAR_AFTER_2): Remove.
10250 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10251
854a025c
KR
102522000-03-12 Ken Raeburn <raeburn@gnu.org>
10253
10254 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10255 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10256 of them try to use backquotes.
10257
b9d2c7e2
DL
102582000-03-12 Dave Love <fx@gnu.org>
10259
10260 * unexelf.c: Restore changes of 1999-10-19.
10261 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10262 fix its type and alignment; copy it from current process.
10263
5e5dff44
GM
102642000-03-12 Gerd Moellmann <gerd@gnu.org>
10265
9b2f3c38
GM
10266 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10267 has been found. Fix bug not computing timer's predecessor.
10268
427ec082 10269 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10270 file name.
10271
e1cff360
GM
10272 * window.c (Fsave_window_excursion): Doc fix.
10273
52283633 10274 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10275
e411ce4b
EZ
102762000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10277
10278 * msdos.c (vga_installed): New function, code moved from
10279 dos_set_window_size.
10280 (Qbar, Qcursor_type, outside_cursor): New variables.
10281 (syms_of_msdos): Intern and staticpro them.
10282 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10283 shape used outside Emacs when called for the first time.
10284 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10285 cursor shape used outside Emacs.
10286 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10287 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10288 type has changed.
10289 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10290 parameters specify the cursor. Make qreverse a global
10291 variable (renamed to Qreverse).
10292
80460654
GM
102932000-03-09 Gerd Moellmann <gerd@gnu.org>
10294
10295 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10296
95cd4c40
SM
102972000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10298
10299 This is a big redesign of failure-stack and register handling, prompted
10300 by bugs revealed when trying to add shy-groups. Overall, what happened
10301 is that loops are now structured a little differently, groups can be
10302 shy and the code is a little simpler.
10303
10304 * regex.h: Update the copyright.
10305 (RE_SHY_GROUPS): New value.
10306 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10307 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10308
80460654
GM
10309 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10310 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10311 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10312 for (start|stop)_memory since they now only take one argument (the
10313 second has becomes unnecessary).
52283633 10314 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10315 (print_compiled_pattern): Use %ld to printf long ints and flush to
10316 make debugging a little easier.
95cd4c40
SM
10317 (union fail_stack_elt): Make the integer unsigned.
10318 (struct fail_stack_type): Add a `frame' element.
10319 (INIT_FAIL_STACK): Init `frame' as well.
10320 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10321 (DEBUG_PUSH, DEBUG_POP): Remove.
10322 (NUM_REG_ITEMS): Remove.
10323 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10324 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10325 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10326 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10327 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10328 New macros.
80460654
GM
10329 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10330 address pushed is not the destination of the jump but the source
10331 of it instead.
95cd4c40
SM
10332 (NUM_FAILURE_ITEMS): Remove.
10333 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10334 registers before the actual failure point). Don't hardcode any
10335 meaning for str==NULL anymore.
95cd4c40 10336 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10337 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10338 Remove.
95cd4c40
SM
10339 (REG_UNSET_VALUE): Use NULL (why not?).
10340 (compile_range): Remove declaration since it doesn't exist.
10341 (struct compile_stack_elt_t): Remove inner_group_offset.
10342 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10343 (regex_grow_registers): Remove dead code.
10344 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10345 (regex_compile): Add shy-groups Change loops to use
10346 on_failure_jump_smart&jump instead of
10347 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10348 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10349 variable to me). Use `jump' instead of `jump_past_alt' and don't
10350 bother with push_dummy_failure in alternatives since it is now
10351 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10352 emacs' for (re)allocating the stack.
10353 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10354 from loop when bufp->can_be_null rather than jumping to `done'.
10355 Avoid jumping backwards so as to ensure termination. Use
10356 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10357 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10358 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10359 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10360 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10361 (lowest_active_reg, highest_active_reg)
10362 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10363 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10364 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10365 variables. Push register (in `start_memory') on the stack rather
10366 than storing it in old_reg(start|end). Remove the cycle detection
10367 from `stop_memory', replaced by the use of on_failure_jump_loop
10368 for greedy loops. Add code for the new on_failure_jump_<foo>.
10369 Remove ad-hoc code in `on_failure_jump' to push more registers in
10370 the case of a loop. Take out code from `maybe_pop_jump' into
10371 separate functions and adapt it to the semantics of
10372 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10373 and push_dummy_failure. Remove dummy_failure handling and
10374 handling of `failures to jump to on_failure_jump' (this last one
10375 was already dead code, it seems).
10376 (group_match_null_string_p, alt_match_null_string_p)
10377 (common_op_match_null_string_p): Remove.
95cd4c40 10378
7397acc4
DL
103792000-03-08 Dave Love <fx@gnu.org>
10380
10381 * config.in: Don't depend on __STDC__ for volatile.
10382 Add POINTER_TYPE, PTR, PROTOTYPES.
10383
10384 * hftctl.c, strftime.c: Use PROTOTYPES.
10385 * eval.c (find_handler_clause): Likewise.
10386
10387 * mem-limits.h: Use POINTER_TYPE.
10388
10389 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10390 (memory_warnings): Declare using POINTER_TYPE.
10391
5e91ff9e
GM
103922000-03-08 Gerd Moellmann <gerd@gnu.org>
10393
feab4fba
GM
10394 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10395
52283633 10396 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10397
5e91ff9e
GM
10398 * xfns.c: Remove obsolete code in #if 0.
10399 (Fx_focus_frame): New function.
10400
a735b7e1
KH
104012000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10402
10403 * coding.c (coding_category_name): Add coding-category-utf-8,
10404 coding-category-utf-16-be, coding-category-utf-16-le.
10405 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10406 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10407 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10408 (detect_coding_utf_8): New function.
10409 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10410 UTF_16_LOW_SURROGATE_P): New macros.
10411 (detect_coding_utf_16): New function
10412 (detect_coding_mask): When priorities are specified, skip any
10413 categories that have `nil' coding-system. Fix bug of returning
10414 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10415 returns a mask not set in PRIORITIES.
10416 (detect_eol_type_in_2_octet_form): New function.
10417 (detect_eol): selects detect_eol_type_XXX to call according to
10418 cooding->category_idx.
10419 (detect_coding_system): Remove `nil' coding-system in the result.
10420 (Fupdate_coding_systems_internal): Update all coding-categories.
10421
52283633
SM
10422 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10423 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10424 New macros.
10425 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10426 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10427 (CODING_CATEGORY_IDX_UTF_16_LE)
10428 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10429 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10430 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10431 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10432
9994cc69
GM
104332000-03-07 Gerd Moellmann <gerd@gnu.org>
10434
e9b4e5ff
GM
10435 * doc.c (Fdocumentation_property): If value is not a string,
10436 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10437
f7daf1e1
GM
10438 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10439 close the display with XtCloseDisplay. This caused a bus error
10440 on OpenWindows.
10441
9994cc69
GM
10442 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10443 complete but not unique.
10444
4336c705
GM
104452000-03-06 Gerd Moellmann <gerd@gnu.org>
10446
18bb0684
GM
10447 * process.c (send_process): Remove local variable `procname' that
10448 might become invalid when a GC happens. Instead, access the
10449 process name slot directly.
10450
4336c705
GM
10451 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10452 orig_height if set.
10453
10454 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10455 orig_height if set.
10456
515d0d0e
EZ
104572000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10458
10459 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10460 glyph matrices have been freed.
10461
100b3cbb
GM
104622000-03-05 Gerd Moellmann <gerd@gnu.org>
10463
50df5e5a 10464 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10465 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10466
10467 * xfns.c (QCdata): Moved to xdisp.c.
10468
10469 * xdisp.c (QCdata): Moved here from xfns.c.
10470 (syms_of_xdisp): Initialize QCdata.
10471
10472 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10473
10474 * window.c (coordinates_in_window): Use
10475 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10476 FRAME_INTERNAL_BORDER_WIDTH.
10477
100b3cbb 10478 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10479 it is obviously invalid.
100b3cbb
GM
10480
10481 * xterm.c (x_term_init): Create a colormap if not using the
10482 default visual.
10483
10484 * xterm.h (select_visual): Change prototype.
10485
10486 * xfns.c (select_visual): Rewritten. Recognize user-specified
10487 visual classes.
10488 (visual_classes): New variable.
10489
64d739c4
GM
104902000-03-04 Gerd Moellmann <gerd@gnu.org>
10491
10492 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10493 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10494 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10495 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10496 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10497 XtNcolormap resources.
10498 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10499 (Fx_create_frame): Initialize color members of x_output structure.
10500 (xpm_load): Pass colormap to XPM lib.
10501
10502 * xfaces.c (x_free_colors): Access colormap of frame using
10503 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10504 when default colormap is used.
10505
10506 * xterm.c (x_term_init): Set Colormap member of x_display_info
10507 structure. Copy colormap if resource `privateColormap' is
10508 specified (PseudoColor only).
10509 (x_setup_relief_color): Access colormap of frame using
10510 FRAME_X_COLORMAP.
10511
10512 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10513 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10514
c3cee013
JR
105152000-03-04 Jason Rumney <jasonr@gnu.org>
10516
10517 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10518 other non-platform-specific equivalents.
64d739c4 10519 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10520 specific functions and macros as their w32 equivalents where
10521 non-platform-specifics are not available.
10522 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10523 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10524 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10525 (frame_update_line_height): Use macros to access f->output_data.
10526 (defined_color): Remove FIXME comments; fixed.
10527 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10528 into #ifdef blocks. Add WINDOWSNT blocks.
10529 (Fx_list_fonts): Use macros for accessing font data.
10530 (set_lface_from_font_name): Different default fonts for X and
10531 WINDOWSNT.
10532 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10533 scalable for backward compatibility.
64d739c4 10534 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10535 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10536
64d739c4 10537 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10538 syms_of_w32faces.
10539
10540 * makefile.nt (w32faces.obj): Remove.
10541 (xfaces.obj): Add.
10542
807cc41c
JR
105432000-03-03 Jason Rumney <jasonr@gnu.org>
10544
10545 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10546 correct parameters.
10547
0007072a
KR
105482000-03-03 Ken Raeburn <raeburn@gnu.org>
10549
10550 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10551 standard ELF definitions here if the system header does not.
10552
71a6ba55
GM
105532000-03-03 Gerd Moellmann <gerd@gnu.org>
10554
10555 * xterm.c (PER_CHAR_METRIC): Removed.
10556 (x_per_char_metric_1, x_default_char): New functions.
10557 (x_per_char_metric): If font's default char is invalid, return
10558 metrics of a suitably chosen usable default char.
10559 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10560 char, replace occurrences of unprintable chars with a suitably
10561 chosen usable default char.
71a6ba55 10562
900fa1f1
GM
105632000-03-02 Gerd Moellmann <gerd@gnu.org>
10564
42f55fe0
GM
10565 * xterm.c (note_mouse_highlight): Return quickly if frame's
10566 glyph matrices have been freed.
10567
10568 * dispnew.c (free_glyphs): Block input while freeing matrices.
10569
900fa1f1
GM
10570 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10571
52283633
SM
10572 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10573 Use x_free_colors.
900fa1f1
GM
10574
10575 * dispextern.h (x_free_colors): Add prototype.
10576
10577 * xfaces.c (x_free_colors): New function.
10578 (unload_color, free_face_colors): Use it.
10579
2f950292
EZ
105802000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10581
10582 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10583
10584 * window.c [MSDOS]: Include msdos.h.
10585
54d04320
DL
105862000-03-02 Dave Love <fx@gnu.org>
10587
10588 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10589
10590 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10591 set C_OPTIMIZE_SWITCH for gcc.
10592
0ba93ac4
KH
105932000-03-02 Kenichi Handa <handa@etl.go.jp>
10594
10595 * coding.c (coding_save_composition): Be sure to allocate
10596 composition data area in coding even if there's no composition in
10597 the current run.
10598
a2bc11d4
JR
105992000-03-01 Jason Rumney <jasonr@gnu.org>
10600
10601 * w32term.c: Equivalent changes to those made to xterm.c on
10602 2000-02-25 and 2000-02-24.
10603
10604 * w32fns.c: Equivalent changes to those made to xfns.c on
10605 2000-02-25 and 2000-02-21.
10606
10607 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10608 correct line-end convention is followed.
10609
10610 * w32menu.c [HAVE_BOXES]: Remove #undef.
10611 (single_keymap_panes): Remove code for simulating checkmarks.
10612 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10613 Remove code for drawing simulated checkmarks.
10614 (w32_menu_show): make unibyte help string correctly.
10615 (add_menu_item): draw standard Windows checkmarks. Draw radio
10616 buttons as radio buttons if possible.
10617
72d19d75
GM
106182000-03-01 Gerd Moellmann <gerd@gnu.org>
10619
2df636f4
GM
10620 * sysdep.c (start_of_text): Don't define this function for NetBSD
10621 with ELF.
10622
427ec082 10623 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10624 Don't define.
10625 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10626 (LINKER): Don't undef if __NetBSD__ is defined.
10627
10628 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10629
10630 * fileio.c [__NetBSD__]: Define `unix'.
10631
72d19d75
GM
10632 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10633
ed4d0512
GM
106342000-02-29 Gerd Moellmann <gerd@gnu.org>
10635
50b1039f
GM
10636 * atimer.c (start_atimer): Don't abort when timers are stopped.
10637 (append_atimer_lists): New function.
10638 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10639 arbitrary lists of stopped and running atimers.
10640
ed4d0512
GM
10641 * atimer.c (cancel_atimer): Handle canceling an atimer when
10642 some timers are stopped.
10643
10644 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10645 after canceling it.
10646
10647 * fns.c (maybe_resize_hash_table): Handle case of new size
10648 coming out as being the same as old size.
10649
387023ee
JR
106502000-02-27 Jason Rumney <jasonr@gnu.org>
10651
10652 * makefile.nt: Add atimer.h to dependencies.
10653 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10654 * w32console.c: Only disable window system features for dispextern.h
10655 (initialize_w32_display): Build a display info for the console.
10656 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10657 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10658 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10659 as 2 button mice.
10660 * w32gui.h (struct W32FontStruct): Revert last change after change
10661 to xdisp.c.
10662 * w32menu.c (single_submenu): Set up help string.
10663 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10664 (w32_dialog_show): Set up help string.
10665 * w32term.c (w32_display_info_for_display): Remove unused function.
10666 (w32_draw_bitmap): Use pre-built bitmaps.
10667 (w32_initialize_display_info): New function to initialize parts of
10668 display info that are common to both GUI and console frames.
10669 (w32_term_init): Use w32_initialize_display_info. Do not set
10670 Vw32_num_mouse_buttons here, as it is not called for console
10671 frames. Build bitmaps for indicating truncated lines etc.
10672 (x_delete_display): Destroy pre-built bitmaps.
10673 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10674 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10675
4516715a
DL
106762000-02-27 Dave Love <fx@gnu.org>
10677
10678 * lisp.h: Add a bunch of prototypes.
10679
171ca836
KH
106802000-02-26 Kenichi Handa <handa@etl.go.jp>
10681
10682 * keyboard.c (read_char): Set `usec' correctly.
10683
4013921d
KH
106842000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10685
10686 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10687 `lambda', set reg[RRR] to the map index.
10688 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10689 reg[RRR] to 0. Otherwise, set it to -1.
10690
9244a058
GM
106912000-02-25 Gerd Moellmann <gerd@gnu.org>
10692
2df636f4 10693 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10694
18e21ce8 106952000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10696
f43d79c1
GM
10697 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10698 and contains a `:', prepend `/:'.
10699
10700 * window.c (select_window_1): If selected_window is nil,
10701 don't "swap out" the buffer's point.
10702 (Fset_window_configuration): Set selected_window to nil
10703 before calling Fselect_window.
10704 (unshow_buffer): Don't set point in buffer from window's point
10705 if another more recently selected window also shows the buffer.
10706
bed0c171
GM
107072000-02-25 Gerd Moellmann <gerd@gnu.org>
10708
449c3c52
GM
10709 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10710
f5b58615
GM
10711 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10712 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10713 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10714 New variables.
f5b58615
GM
10715 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10716 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10717 (hide_busy_cursor): New functions.
10718 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10719
10720 * minibuf.c (read_minibuf): Cancel busy-cursor.
10721
10722 * keyboard.c (command_loop_1): Call start_busy_cursor before
10723 Fcommand_execute and cancel_busy_cursor after it.
10724 (timer_check): Remove busy-cursor code.
10725 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10726 cursor timer.
10727
10728 * process.c (wait_reading_process_input): Remove busy-cursor code.
10729
10730 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10731 Fx_hide_busy_cursor.
10732
10733 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10734 Remove prototyoes.
10735 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10736
10737 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10738
10739 * xterm.c (XTread_socket): Remove busy-cursor code.
10740
4eb8436f
GM
10741 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10742 (build_frame_matrix_from_leaf_window): Put code handling
10743 glyph row's not being a slice of a frame row in #if 0.
10744 (sync_window_with_frame_matrix_rows): New function.
10745 (frame_row_to_window): New function.
10746 (mirror_line_dance): Handle copies between windows.
10747
3cb65b0e
GM
10748 * lread.c (Fload): Use `xfree' instead of `free'.
10749 (init_obarray): Use `xmalloc' instead of `malloc'.
10750
bed0c171
GM
10751 * window.c (Fset_window_buffer): Set WINDOW to the window
10752 after decoding.
2add4349
GM
10753 (coordinates_in_window): Take frame's internal border width
10754 into account.
bed0c171 10755
42088c12
GM
107562000-02-24 Gerd Moellmann <gerd@gnu.org>
10757
10758 * xterm.c (x_display_and_set_cursor): Display cursor of
10759 non-selected windows depending on the setting of
10760 cursor_in_non_selected_windows.
10761
10762 * xdisp.c (cursor_in_non_selected_windows): New variable.
10763 (syms_of_xdisp): DEFVAR_BOOL it.
10764
d1e103b2
GM
107652000-02-23 Gerd Moellmann <gerd@gnu.org>
10766
723e779c
GM
10767 * data.c (Fstring_to_number): If number is greater than what
10768 fits into an integer, return a float.
10769
d1e103b2
GM
10770 * eval.c (specbind): Remove references to
10771 keyword_symbols_constant_flag.
10772
10773 * data.c (keyword_symbols_constant_flag): Removed.
10774 (Fmakunbound, set_internal, syms_of_data): Remove references to
10775 keyword_symbols_constant_flag.
10776
10777 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10778
214f877f
KH
107792000-02-23 Kenichi Handa <handa@etl.go.jp>
10780
10781 * syntax.c (multibyte_syntax_as_symbol): New variable.
10782 (syms_of_syntax): Declare it as a Lisp variable.
10783 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10784 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10785 nonzero, treat all multibyte characters as symbol.
52283633 10786 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10787
130adcb7
EZ
107882000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10789
3cb65b0e 10790 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10791 a deleted frame.
130adcb7 10792
17cbbf95
GM
107932000-02-21 Gerd Moellmann <gerd@gnu.org>
10794
10795 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10796
10797 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10798 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10799
beb0bc36
DL
108002000-02-21 Dave Love <fx@gnu.org>
10801
10802 * frame.c (Vmouse_position_function): New variable.
10803 (Fmouse_position): Use it.
10804 (syms_of_frame): Install it.
10805
10806 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10807
1d92afcd
GM
108082000-02-20 Gerd Moellmann <gerd@gnu.org>
10809
10810 * fileio.c (Finsert_file_contents): Unbind the binding of
10811 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10812
10813 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10814 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10815 (specbind, unbind_to): Handle most common case of non-constant
10816 symbol with trivial value specially.
10817
10818 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10819
18e21ce8 108202000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10821
10822 * data.c (Fmake_variable_buffer_local): Doc fix.
10823 Init found_for_buffer to 0.
10824 (Fmake_variable_frame_local): If the variable has already
10825 been buffer-local, set the check_frame field.
10826
1d4311c3
EZ
108272000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10828
10829 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10830 produced for CODING_MODE_LAST_BLOCK requires.
10831
2dc95ddd
DL
108322000-02-18 Dave Love <fx@gnu.org>
10833
10834 * keyboard.c (echo_keystrokes): Remove declaration.
10835 (Vecho_keystrokes) New variable.
10836 (read_char, record_menu_key, read_key_sequence): Use it to allow
10837 use of float value.
10838 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10839
10840 * lread.c: Undef feature selection macros before defining.
10841
f0930f35
GM
108422000-02-18 Gerd Moellmann <gerd@gnu.org>
10843
10844 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10845 for symbols other than the symbol in question.
10846
e3d4de90
DL
108472000-02-17 Dave Love <fx@gnu.org>
10848
10849 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10850
0b378936
GM
108512000-02-17 Gerd Moellmann <gerd@gnu.org>
10852
d621caf7
GM
10853 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10854
0b378936
GM
10855 * alloc.c (enum mem_type): Compile unconditionally.
10856
3b451f74
EZ
108572000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10858
10859 * xfaces.c (tty_defined_color): Don't return faulire indication
10860 for unspecified-fg and unspecified-bg pseudo-colors.
10861
10689a01
GM
108622000-02-17 Gerd Moellmann <gerd@gnu.org>
10863
1216f5e4
GM
10864 * alloc.c (mark_object): Don't mark symbol names in pure space.
10865 (gc_sweep): Don't unmark symbol names in pure space.
10866
10867 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10868 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10869 [GC_MARK_STACK]: New defines.
427ec082 10870 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10871 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10872
10873 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10874
10875 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10876 allocate_buffer instead of xmalloc.
10877
10878 * alloc.c (toplevel): Include setjmp.h.
10879 (PURE_POINTER_P): New define.
10880 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10881 (Vdead) [GC_MARK_STACK]: New variable.
10882 (lisp_malloc): Add parameter TYPE, call mem_insert if
10883 GC_MARK_STACK is defined.
10884 (allocate_buffer): New function.
427ec082 10885 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10886 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10887 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10888 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10889 (MEM_NIL) [GC_MARK_STACK]: New define.
10890 (struct mem_node) [GC_MARK_STACK]: New structure.
10891 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10892 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10893 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10894 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10895 (mark_stack) [GC_MARK_STACK]: New functions.
10896 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10897 (clear_marks): Removed.
10898 (gc_sweep): Set free conses' car, free floats' type, free
10899 symbols' function to Vdead. Use lisp_free to free buffers.
10900 (init_alloc_once): Initialize Vdead.
10901 (survives_gc_p): Return non-zero for pure objects.
10902
10903 * alloc.c: Add comments throughout the file.
10904
2503c8b1
GM
10905 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10906 that unblocks alarms.
10907
8389e1e2
GM
10908 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10909 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10910 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10911
10689a01 10912 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10913
bfc17d18
KH
109142000-02-17 Kenichi Handa <handa@etl.go.jp>
10915
4a09dee0
KH
10916 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10917 avoid infinite error signaling. Allocate sufficient memory for
10918 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10919
2b927d02
SM
109202000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10921
10922 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10923 depends on the previous behavior.
10924
b49cb764
GM
109252000-02-16 Gerd Moellmann <gerd@gnu.org>
10926
10927 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10928
99e95407
GM
109292000-02-15 Gerd Moellmann <gerd@gnu.org>
10930
10931 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10932
10933 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10934 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10935 write(2).
10936
6ffd3cf7
RS
109372000-02-15 Richard M. Stallman <rms@gnu.org>
10938
10939 * data.c (set_internal): Don't make variable buffer-local
10940 if within a let-binding for the same buffer.
10941 (let_shadows_buffer_binding_p): New function.
10942
10943 * eval.c (specbind): For buffer-local value,
10944 record the current buffer also.
10945 (unbind_to): Cope with that change.
10946
cad53475
GM
109472000-02-15 Gerd Moellmann <gerd@gnu.org>
10948
10949 * window.c (Fsave_window_excursion): Doc fix.
10950
1aa963c8
SM
109512000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10952
10953 * syntax.c (back_comment): Make sure we only consider comment-starters
10954 of the relevant style and return -1 in case of a failure to find the
10955 beginning of the comment.
10956 (Fforward_comment): If back_comment fails, go back to the position just
10957 after the comment-end.
10958 (scan_lists): Add comment describing a very minor bug.
10959
b9b84fd3
SM
109602000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10961
10962 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10963 `completion-regexp-list' in the docstring.
10964
3a28db80
DL
109652000-02-14 Dave Love <fx@gnu.org>
10966
10967 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10968
fb4a568d
SM
109692000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10970
10971 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10972 to Emacs' syntax. Also fix the comment about set/not-set meanings
10973 since Emacs syntax is not the value 0 any more.
10974 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10975 since it's now part of RE_SYNTAX_EMACS.
10976
1063ebb5
DL
109772000-02-12 Dave Love <fx@gnu.org>
10978
52283633 10979 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10980
fb07a302
GM
109812000-02-12 Gerd Moellmann <gerd@gnu.org>
10982
10983 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10984
aaf2320c
DL
109852000-02-12 Dave Love <fx@gnu.org>
10986
10987 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10988
10989 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10990 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10991 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10992
10993 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10994
10995 * s/nextstep.h: Don't define HAVE_ALLOCA.
10996
10997 * config.in: Add vfork bits.
10998
eedf8bde
GM
109992000-02-12 Gerd Moellmann <gerd@gnu.org>
11000
11001 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11002 unwind function to undo the effect of stopping atimers.
11003
52283633 11004 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11005
11006 * atimer.c (stopped_atimers): New variable.
11007 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11008 New functions.
11009
11010 * atimer.h (stop_other_atimers, run_all_atimers)
11011 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11012
eedf8bde
GM
11013 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11014
8476c2f8
KR
110152000-02-11 Ken Raeburn <raeburn@gnu.org>
11016
11017 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11018 library may depend on jpeg.
11019 (atimer.o): Depends on atimer.c.
11020
0e85e4a3
KH
110212000-02-11 Kenichi Handa <handa@etl.go.jp>
11022
11023 * insdel.c (del_range_1): Call update_compositions.
11024 (del_range_both): Call update_compositions just once..
11025
97fa0cc8
DL
110262000-02-10 Dave Love <fx@gnu.org>
11027
11028 * xfns.c (create_frame_xic): Fix initialization of automatic
11029 aggregates for pcc.
11030
25566a3c
KH
110312000-02-09 Kenichi Handa <handa@etl.go.jp>
11032
11033 * ccl.c (CCL_MAKE_CHAR): New macro.
11034 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11035 registers by CCL_MAKE_CHAR before calling translate_char.
11036 <CCL_TranslateCharacterConstTbl> Likewise.
11037
69da54ba
DL
110382000-02-08 Dave Love <fx@gnu.org>
11039
11040 * lread.c (__EXTENSIONS__): Define.
11041
f7136ee8
GM
110422000-02-08 Gerd Moellmann <gerd@gnu.org>
11043
11044 * puresize.h (BASE_PURESIZE): Increase to 650000.
11045
7768790b
EZ
110462000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11047
11048 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11049 the help message.
11050
38fd211b
EZ
110512000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11052
11053 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11054 md, mh, mb, mr, and me to the fake termcap entry.
11055
66e4690f
KR
110562000-02-06 Ken Raeburn <raeburn@gnu.org>
11057
11058 * sound.c (sound_cleanup): Don't call device close routine if the
11059 function pointer is null.
11060
a75dfea0
AI
110612000-02-06 Andrew Innes <andrewi@gnu.org>
11062
11063 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11064 around image definitions and prototypes.
11065 (gamma_correct) [WINDOWSNT]: New prototype.
11066
11067 * w32term.c (x_make_frame_visible): Replace call to
11068 input_poll_signal with poll_for_input.
11069
11070 * window.c [WINDOWSNT]: Include w32term.h.
11071
11072 * xdisp.c [WINDOWSNT]: Include w32term.h.
11073
11074 * makefile.nt: Add dependencies on w32gui.h.
11075 (OBJ1): Include atimer.obj.
11076 ($(BLD)\atimer.obj): New dependency rule.
11077
11078 * w32.c (sigmask): New function (does nothing).
11079 (sigunblock): Ditto.
11080
11081 * frame.c [WINDOWSNT]: Include w32term.h.
11082
11083 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11084
11085 * lread.c (syms_of_lread): Fix literal newlines.
11086
11087 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11088 the string constant limit (2048 bytes) in MSVC.
11089 (main): Ditto.
11090
59ddecde
GM
110912000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11092
52283633 11093 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11094 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11095 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11096 dispatch the event.
11097
07590973
DL
110982000-02-04 Dave Love <fx@gnu.org>
11099
11100 * fileio.c: Remove some unused vars.
11101 (_GNU_SOURCE): Define (for euidaccess).
11102
11103 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11104
11105 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11106 gcpro1, gcpro2.
11107 (read_minibuf): Deal with allow_props correctly.
11108
649351f9
EZ
111092000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11110
11111 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11112
66e4690f 111132000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11114
11115 * search.c (compile_pattern): If a cache entry has a nil regexp,
11116 fill in that entry instead of clobbering a previously cached
11117 string regexp.
11118
66e4690f 111192000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11120
11121 * puresize.h (BASE_PURESIZE): Increase to 610000.
11122
d240a249
GM
111232000-02-02 Gerd Moellmann <gerd@gnu.org>
11124
11125 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11126 can GC.
11127
ca91fb26
KH
111282000-02-02 Kenichi Handa <handa@etl.go.jp>
11129
25660570
KH
11130 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11131 instead of incrementing ic directly.
11132 <CCL_WriteExprConst> Likewise.
11133 <ccl_set_expr>: Set ic to jump_address.
11134
ca91fb26
KH
11135 * fileio.c (e_write): Fix the handling of
11136 CODING_FINISH_INSUFFICIENT_SRC.
11137
2ede9689
DL
111382000-02-01 Dave Love <fx@gnu.org>
11139
11140 * editfns.c (Fpropertize): Doc fix.
11141
11142 * process.c (Fstart_process): Doc fix.
11143
11144 * eval.c: Fix various doc strings not to duplicate information
11145 from help-manyarg-func-alist.
11146
52283633 11147 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11148
11149 * doc.c (Vhelp_manyarg_func_alist): New variable.
11150 (Fdocumentation): Use it.
11151 (syms_of_doc): Define it.
11152
b6680a0e
GM
111532000-01-31 Gerd Moellmann <gerd@gnu.org>
11154
2cb750ba
GM
11155 * xterm.c (xim_open_dpy): Remove unused local variable.
11156
52283633 11157 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11158
11159 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11160 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11161
b6680a0e
GM
11162 * fns.c (sweep_weak_table): New function.
11163 (sweep_weak_hash_tables): Use it. Keep on marking until there
11164 is no more change.
11165
994c5afe
GM
111662000-01-30 Gerd Moellmann <gerd@gnu.org>
11167
11168 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11169 that XTread_socket does not crash by trying to call XNoOp on a
11170 closed display.
427ec082 11171
f00276e3
JR
111722000-01-30 Jason Rumney <jasonr@gnu.org>
11173
11174 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11175 Change selected_frame to SELECTED_FRAME ().
11176 (w32_console_mouse_position): Remove #ifndef MULE from around
11177 `insist' parameter.
11178
11179 * makefile.nt: Remove dosfns.obj.
11180
11181 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11182
11183 * w32fns.c (w32_defined_color): Check for valid frame before
11184 applying gamma correction. Eliminate dependency on frame elsewhere.
11185 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11186 (w32_to_x_font): Use resx and resy not height_in and width_in.
11187 (x_to_w32_font): Doc fix.
11188 (xlfd_strip_height): New function to strip and return font height.
11189 (w32_font_match): Compare height separately from rest of xlfd
11190 spec, using xlfd_strip_height.
11191
11192 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11193 width_in. Use w32_defined_color in place of defined_color.
11194
11195 * w32faces.c: Merge more of DOS and X specifics in preparation for
11196 merge with xfaces.c.
11197 (defined_color): Remove FIXME comment.
11198 (tty_color_name): Provide w32-specific function.
11199 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11200
11201 * w32console.c (turn_on_face, turn_off_face): Removed.
11202 (w32_face_attributes): New function.
11203 (Global_variables): Reduce scope where possible.
11204 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11205 fill attribute.
11206 (hl_mode): Don't modify text attributes.
11207 (write_glyphs): Don't do anything if len <= 0. Use
11208 w32_face_attributes to get attributes for drawing. Write
11209 terminating codes using char_attr_normal.
11210 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11211 (update_begin, update_end): Likewise.
11212 (vga_stdcolor_name): New function.
11213 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11214 (Fset_screen_color): Remove char_attr_reverse.
11215
b08e8bb2
GM
112162000-01-29 Gerd Moellmann <gerd@gnu.org>
11217
11218 * xfns.c (xic_set_preeditarea): Take window parameter and
11219 window-relative pixel-positions.
11220
11221 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11222 is its frame's selected window.
11223 (xim_instantiate_callback): Likewise.
11224
11225 * xfns.c (x_create_im): Removed.
11226 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11227 (supported_xim_styles): Renamed from supported_styles.
11228 (best_xim_style): Renamed from best_style.
11229 (create_frame_xic): Renamed from xic_create_frame.
11230 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11231
b08e8bb2
GM
112322000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11233
11234 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11235 our frames, call XFilterEvent with 2nd parameter `None'.
11236 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11237 returning XBufferOverflow.
52283633 11238 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11239 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11240 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11241 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11242 (xim_initialize, xim_close)
11243 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11244 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11245 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11246 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11247
11248 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11249 and `xim_styles'.
11250 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11251 `xic_style' and `xic_xfs'.
11252 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11253 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11254 (FRAME_XIM): Removed.
11255
11256 * xfns.c (supported_styles): New variable.
11257 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11258 (xic_create_xfontset, best_style, xic_create_frame)
11259 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11260 (xic_set_xfontset): New functions.
11261
142e109c
DL
112622000-01-28 Dave Love <fx@gnu.org>
11263
11264 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11265
11266 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11267
b02786f9
GM
112682000-01-28 Gerd Moellmann <gerd@gnu.org>
11269
d060bc9f
GM
11270 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11271 for *scratch* if it already existed.
11272
b02786f9
GM
11273 * emacs.c (USAGE): New macro.
11274 (main): Use it to display usage information.
11275
2c52d7e4
EZ
112762000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11277
11278 Support for the menu-help feature:
11279
52283633 11280 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11281
11282 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11283 part of the line to the termscript file.
11284 (IT_clear_to_end): Clear the entire line, not just its beginning.
11285 (menu_help_message, prev_menu_help_message): New variables.
11286 (IT_menu_make_room): Make room for the help_text member.
11287 (IT_menu_display): New argument disp_help; all callers changed.
11288 If disp_help is non-zero, store the help text of the active menu
11289 item in menu_help_message.
11290 (XMenuAddPane): Initialize the help_text member to NULL.
11291 (XMenuAddSelection): New argument help_text. Store it in the
11292 XMenu structure.
11293 (XMenuActivate): New argument help_callback. If the value of
11294 menu_help_message has changed since the last time, display the
11295 menu help message text while waiting for the mouse to move. Clear
11296 the echo area before exiting.
11297 (XMenuDestroy): Free the help_text member.
11298
ffe0bcd1
GM
112992000-01-27 Gerd Moellmann <gerd@gnu.org>
11300
11301 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11302 XMenuAddSelection. Pass help callback to XMenuActivate.
11303 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11304
50dbd23f
EZ
113052000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11306
11307 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11308 and EMACS_SET_USECS.
11309
f5941bf8
GM
113102000-01-26 Dave Love <fx@gnu.org>
11311
6c67ddee
DL
11312 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11313
f5941bf8
GM
11314 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11315 an error may be signalled.
11316
9e49c990
GM
113172000-01-26 Gerd Moellmann <gerd@gnu.org>
11318
fc3cb460
GM
11319 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11320 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11321
9e49c990
GM
11322 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11323
d0c037d8
GM
113242000-01-25 Gerd Moellmann <gerd@gnu.org>
11325
11326 * charset.c (Fstring): If there is a multibyte char among
11327 the args, always return a multibyte string.
11328
e12489f9
GM
113292000-01-25 Gerd Moellmann <gerd@gnu.org>
11330
11331 * sysdep.c (sys_select): Turn atimers off and on instead of
11332 recording and restoring old alarm handler
11333
11334 * process.c (toplevel): Include atimer.h.
11335 (create_process_1): Rewritten.
11336 (create_process): Use atimers instead of alarm.
11337 (wait_reading_process_input) [hpux]: Turn atimers off instead
11338 of turning off SIGALRM.
11339 (wait_reading_process_input): Turn off atimers instead off
11340 calling stop_polling.
11341
11342 * emacs.c (main): Call init_atimer.
11343
11344 * keyboard.c (toplevel): Include systime.h and atimer.h.
11345 (polling_for_input): Removed because unused.
11346 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11347 (poll_timer): New variable.
11348 (poll_for_input, poll_for_input_1): New functions.
11349 (start_polling, stop_polling): Rewritten.
11350
11351 * keyboard.h (polling_for_input): Removed.
427ec082 11352
e12489f9
GM
11353 * atimer.h, atimer.c: New files.
11354
11355 * Makefile.in (obj): Add atimer.o.
11356 (atimer.o): New target.
11357
11358 * blockinput.h (pending_atimers): Add extern declaration.
11359 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11360
11361 * lisp.h (popup_activated_flag): Add extern declaration.
11362
11363 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11364 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11365 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11366
11367 * xterm.c (toplevel): Include atimer.h.
11368 (toolkit_scroll_bar_interaction): New variable.
11369 (Fxt_process_timeouts): Removed.
11370 (x_process_timeouts): New function.
11371 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11372 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11373 (x_make_frame_visible): Call poll_for_input_1 instead of
11374 input_poll_signal. Don't call alarm.
11375 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11376
1e5279b9
DL
113772000-01-24 Dave Love <fx@gnu.org>
11378
6c67ddee 11379 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11380 Don't use -cckr -- apparently not now necessary.
11381
edf6aeb8
EZ
113822000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11383
11384 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11385 screen boundary.
11386
9badad41
JR
113872000-01-23 Jason Rumney <jasonr@gnu.org>
11388
11389 * w32fns.c (w32_defined_color): Apply gamma correction before
11390 trying to map to the palette.
11391 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11392 to w32_clear_rect.
11393
11394 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11395 here. Callers changed to always pass real device context.
11396 (w32_draw_bitmap): Likewise.
11397 (w32_get_glyph_overhangs): Likewise.
52283633 11398 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11399 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11400 pfnSetScrollInfo and SetScrollRange.
11401 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11402 back into MULE characters after decoding them.
11403 (x_get_glyph_face_and_encoding): Likewise.
11404 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11405 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11406 (x_produce_glyphs): Calculate per char metrics for a character
11407 that we know exists in default font when font_not_found_p is true.
11408
63bd786b
JR
114092000-01-22 Jason Rumney <jasonr@gnu.org>
11410
11411 * makefile.nt (intervals.obj, composite.obj): New modules.
11412 (composite.h): Added as dependency where appropriate.
11413
11414 * w32gui.h (XGCValue): New struct for emulating X GCs.
11415
11416 * w32term.h (XCharStruct): New struct for emulating X.
11417
11418 * w32console.c (turn_on_face, turn_off_face): New functions.
11419 (change_line_highlight): New prototype for new redisplay.
11420 (write_glyphs): Support multibyte text. Support faces.
11421
52283633 11422 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11423
11424 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11425 throughout. struct frame * in place of FRAME_PTR.
11426 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11427 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11428 (w32_get_arg): Renamed from x_get_arg.
11429 (Fx_file_dialog): New function.
11430 (w32_list_fonts): Check cache before asking system.
11431 (Vw32_enable_synthesized_fonts): New variable.
11432 (Vw32_enable_italics): Obsolete, removed.
11433
11434 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11435 Use SELECTED_FRAME macro.
11436
11437 * w32menu.c: Add skeleton support for help strings on menus.
11438 (add_menu_item): Native checkbox and radio support added, but not
11439 yet enabled due to bugs.
11440 (push_menu_item): Add parameters type, selection and help.
11441 Callers updated.
11442 Formatting changes to reduce unnecessary diffs with xmenu.c.
11443
11444 * w32select.c (Fw32_set_clipboard_data): Update call to
11445 find_charset_in_str.
11446
11447 * w32term.c: Complete rewrite for new redisplay based on new
11448 xterm.c with necessary sections merged back in from old w32term.c.
11449
6ffd3cf7 114502000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11451
11452 * data.c (set_internal): Further fix in same criterion.
11453
6ffd3cf7 114542000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11455
11456 * data.c (set_internal): Fix the criteria for whether
11457 to swap out the old cached binding.
11458
60af03f1
DL
114592000-01-19 Dave Love <fx@gnu.org>
11460
11461 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11462
f9be074f
KH
114632000-01-18 Kenichi Handa <handa@etl.go.jp>
11464
11465 * regex.c (re_compile_fastmap): While checking a range table for
11466 `charset', skip flag bits for a character class correctly.
11467
52b8dbf9
GM
114682000-01-17 Gerd Moellmann <gerd@gnu.org>
11469
d36100c9
GM
11470 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11471
52283633 11472 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11473
11474 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11475 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11476
11477 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11478 MENU_ITEMS_ITEM_.*.
11479 (MENU_ITEMS_ITEM_HELP): New enumerator.
11480 (push_menu_item): Add parameter HELP. Record help in menu_items.
11481 (single_menu_item, single_submenu, list_of_items): Call
11482 push_menu_item with new parameter.
11483 (single_submenu): Set help string in widget value.
11484 (menu_highlight_callback): New function.
11485 (set_frame_menubar): Call lw_create_widget with new
11486 parameter list.
11487 (xmenu_show, xdialog_show): Ditto.
11488
3139018f
GM
114892000-01-13 Gerd Moellmann <gerd@gnu.org>
11490
11491 * sound.c (Fplay_sound): Improve doc string.
11492
83c8f461
RS
114932000-01-11 Richard M. Stallman <rms@gnu.org>
11494
11495 * lisp.h (set_internal): Enter the new arg.
11496
11497 * eval.c (specbind): Record buffer-local variables specially,
11498 indicating which buffer's binding was saved.
11499 (unbind_to): Restore buffer-local variables specially
11500 in the proper buffer.
11501
11502 * data.c (set_internal): New arg BUF.
427ec082 11503
83c8f461
RS
11504 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11505 * data.c (Fset): Pass new arg to set_internal.
11506 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11507
1fab1775
GM
115082000-01-11 Gerd Moellmann <gerd@gnu.org>
11509
52283633 11510 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11511
83c8f461 115122000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11513
11514 * minibuf.c (Ftry_completion): Doc fix.
11515
7a85e4df
GM
115162000-01-11 Gerd Moellmann <gerd@gnu.org>
11517
11518 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11519 vector, too.
11520
a970dae4
AS
115212000-01-11 Andreas Schwab <schwab@suse.de>
11522
11523 * coding.c (code_convert_region): Initialize total_skip.
11524
c65d14ee
DL
115252000-01-08 Dave Love <fx@gnu.org>
11526
11527 * eval.c (Fuser_variable_p): Check customizability too.
11528
834938d2
GM
115292000-01-07 Gerd Moellmann <gerd@gnu.org>
11530
11531 * minibuf.c (Fcompleting_read): Doc fix.
11532
e0303cd6
GM
115332000-01-05 Gerd Moellmann <gerd@gnu.org>
11534
8a26744b
GM
11535 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11536 -L /usr/local/lib.
11537
e0303cd6
GM
11538 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11539 Check that input style is supported before trying to create an
11540 IC for it.
11541 (x_window): Call x_create_im.
427ec082 11542
2e471eb5
GM
115432000-01-04 Gerd Moellmann <gerd@gnu.org>
11544
560a7bd2
GM
11545 * xfns.c (current_gif_memory_src): New variable.
11546 (gif_load): Record the address of the current memory source
11547 in current_gif_memory_src.
11548 (gif_read_from_memory): Use current_gif_memory_src.
11549
f9ee84a3
GM
11550 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11551 macros statement form.
11552
d1299cde
GM
11553 * sound.c (struct sound): Renamed from struct sound_file.
11554 (struct sound): Add members `data' and `header_size'.
11555 (enum sound_attr): Add SOUND_DATA.
11556 (current_sound, current_sound_device): Variables renamed from
11557 sound_file and sound_device.
11558 (parse_sound): Parse :data.
11559 (parse_sound): Handle sound data in strings.
11560 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11561 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11562 needed header size.
11563 (wav_play, au_play): Play sounds from string data.
11564
2e471eb5
GM
11565 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11566
11567 * lisp.h: Add prototype for allocate_string_data.
11568
52283633 11569 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11570
11571 * alloc.c (mark_buffer): Remove code in #if 0.
11572 (gc_sweep): Ditto.
11573 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11574 (strings_consed): New variable.
11575 (allocate_string): Set it.
11576 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11577 (Fmemory_use_counts): Return strings_consed. Use Flist.
11578
11579 * alloc.c: General cleanup in comments etc. Remove conditional
11580 compilation for `standalone'.
11581
11582 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11583
11584 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11585 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11586 (DONT_COPY_FLAG): Removed.
11587 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11588 (struct sdata, struct sblock): New
11589 (struct string_block): Rewritten.
11590 (STRINGS_IN_STRING_BLOCK): New macro.
11591 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11592 (large_sblocks, string_blocks, string_free_list): New variables.
11593 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11594 (init_strings): Rewritten.
11595 (allocate_string, allocate_string_data, compact_small_strings)
11596 (free_large_strings, sweep_strings): New functions.
11597 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11598 (struct string_block_head, current_string_block)
11599 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11600 (STRING_PAD): Removed.
11601 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11602 (Fgarbage_collect): Don't set mark bit in large strings.
11603 (mark_object): Mark strings differently. Mark symbol names
11604 differently.
11605 (survives_gc_p): Test marked strings differently.
427ec082 11606 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11607 symbol names.
11608 (compact_strings): Removed.
11609
42608ba8
EZ
116102000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11611
11612 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11613 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11614
e0a09e1a
KH
116152000-01-04 Kenichi Handa <handa@etl.go.jp>
11616
dd9f0750 11617 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11618 in a non-empty buffer.
dd9f0750 11619
3c0f3b15 11620 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11621
44cd3ae5
GM
116222000-01-03 Gerd Moellmann <gerd@gnu.org>
11623
11624 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11625 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11626
11627 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11628
c182a70f
EZ
116292000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11630
11631 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11632 need to test for MSDOS frames.
11633
24480d5b
EZ
116342000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11635
11636 * dosfns.c (unspecified_colors): Remove.
11637 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11638 unspecified_bg.
11639 (msdos_stdcolor_name): Return strings for unspecified fore- and
11640 back-ground colors.
11641
11642 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11643 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11644 (tty_color_name): Return Lisp strings for unspecified fore- and
11645 back-ground colors.
11646 (Finternal_set_lisp_face_attribute): Remove the special treatment
11647 for Qunspecified_{f,b}g.
52283633 11648 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11649
047f434a
GM
116502000-01-03 Gerd Moellmann <gerd@gnu.org>
11651
11652 * xdisp.c (reseat_at_next_visible_line_start): Position before
11653 newline only if ending up on a newline.
11654 (next_element_from_ellipsis): Return success. Handle case of
52283633 11655 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11656 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11657 returns 0.
11658
d684c676
EZ
116592000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11660
11661 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11662 (Fcolor_supported_p): Renamed from face-color-supported-p.
11663
5fe1d139
EZ
116642000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11665
11666 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11667 list of colors renamed to tty-defined-color-alist.
11668 (tty_color_name): Pass the frame to tty-color-by-index.
11669 (realize_tty_face): tty-color-alist is now a function which
11670 accepts the frame as argument.
11671
52283633 11672 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11673
816be8b8
EZ
116742000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11675
11676 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11677 encode_terminal_code.
11678
b635321e
EZ
116792000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11680
11681 * dispnew.c (mode_line_string): Support termcap frames as well.
11682
9b784e96
GM
116832000-01-01 Gerd Moellmann <gerd@gnu.org>
11684
27189709
GM
11685 * syntax.c (Fforward_word): Undo previous change.
11686
11687 * editfns.c (Fconstrain_to_field): Don't constrain if
11688 inhibit-field-text-motion is non-nil.
11689 (Fline_beginning_position): Undo previous change.
11690 (Fline_end_position): Ditto.
11691
11692 * syntax.c (Fforward_word): Notice field boundaries only if
11693 inhibit-field-text-motion is nil.
11694
11695 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11696
11697 * editfns.c (Vinhibit_field_text_motion): New variable.
11698 (inhibit-field-text-motion): New DEFVAR_LISP.
11699 (Fline_beginning_position, Fline_end_position): Notice field
11700 boundaries only if inhibit-field-text-motion is nil.
11701
45158a91
GM
11702 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11703 All calls adjusted.
11704 (x_build_heuristic_mask): Likewise.
11705 (xbm_load_image_from_file): Change error output.
11706 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11707 (gif_load, gs_load, x_kill_gs_process): Ditto.
11708
9b784e96
GM
11709 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11710 color indices when accessing raster pixels.
63cec32f
GM
11711 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11712 one of :file or :data.
11713 (enum pbm_keyword_index): Add PBM_DATA.
11714 (pbm_format): Add :data.
11715 (pbm_image_p): Allow either :file or :data.
11716 (pbm_read_file): New function.
11717 (pbm_scan_number): Rewritten to read from string.
11718 (pbm_load): Support :data.
9b784e96 11719
2cb085db 11720See ChangeLog.8 for earlier changes.
6922b018
KH
11721
11722;; Local Variables:
49b3bd82 11723;; coding: iso-2022-7bit
6922b018 11724;; End: