(compute_line_metrics): On ttys, subtract continuation
[bpt/emacs.git] / src / ChangeLog
CommitLineData
63d1b174
GM
12001-07-02 Gerd Moellmann <gerd@gnu.org>
2
4c175203
GM
3 * xterm.h (x_free_dpy_colors): Add prototype.
4
5 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
6 right number of arguments.
7
0b54ce28
GM
8 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
9 ($(lwlibdir)TAGS): New target.
4c175203 10 (TAGS): Fix dependency list.
0b54ce28 11
63d1b174
GM
12 * xterm.c (x_list_fonts): Make sure XFreeFont is called
13 with input blocked.
14
d827466c
GM
152001-06-30 Gerd Moellmann <gerd@gnu.org>
16
17 * emacs.c (main): Remove extern declaration for sys_nerr, which
18 isn't used and causes a compilation error with GCC 3.0 on
19 FreeBSD 4.3.
20
b5cb1ada
GM
212001-06-27 Gerd Moellmann <gerd@gnu.org>
22
a5d3ec3f
GM
23 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
24 SIGIO around the code where Xt might wait for a
25 ConfigureNotifyEvent.
26 (toplevel): Include <signal.h> and syssignal.h.
27
b5cb1ada
GM
28 * sound.c (vox_configure, vox_close): Turn off atimers
29 around ioctls.
30
d9bad487
GM
312001-06-26 Gerd Moellmann <gerd@gnu.org>
32
fdbb67fe
GM
33 * keyboard.c (read_char) <non_reread>: Record the previous idle
34 start time before calling timer_stop_idle.
35 (read_char) <reread_first>: After processing a help-echo event,
36 restore the previous idle start time.
37
d9bad487
GM
38 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
39 the start of invisible text.
40 (setup_for_ellipsis): New function.
41 (next_overlay_string): After all overlay strings have been
42 processed, display an ellipsis if necessary.
43 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
44 (push_it): Initialize display_ellipsis_p on the iterator's stack.
45
46 * dispextern.h (struct iterator_stack_entry): Add member
47 display_ellipsis_p.
48
2b9c25e0
GM
492001-06-25 Gerd Moellmann <gerd@gnu.org>
50
80de57df
GM
51 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
52 on the value of the wait-for-wm frame parameter.
53
54 * xterm.h (struct x_output): Add member wait_for_wm.
55
56 * xfns.c (Qwait_for_wm): New variable.
57 (x_frame_parms): Add entry for `wait-for-wm".
58 (x_set_wait_for_wm): New function.
59 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
60 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
61
2b9c25e0
GM
62 * xdisp.c (try_window_id) <all changes below window end>: Don't
63 take this shortcut if ZV is visible in the window.
64 (try_window_id): When checking for window start being in changed
65 text, don't check that the buffer's size has changed.
66
f772775c
RS
672001-06-23 Richard M. Stallman <rms@gnu.org>
68
69 * minibuf.c (Fcompleting_read): Doc fix.
70
fa9090b8
GM
712001-06-19 Gerd Moellmann <gerd@gnu.org>
72
73 * composite.c (Ffind_composition_internal): Accept ZV
74 and a string's end position as POS.
75
f6f1beba
GM
762001-06-18 Gerd Moellmann <gerd@gnu.org>
77
78 * composite.c (Ffind_composition_internal): Check POS
79 for validity.
80
0ae83348
EZ
812001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
82
83 * editfns.c (Fmessage_box): If the frame is not under a window
84 system, output the message in the echo area.
85
e4cdc335
RS
862001-06-14 Richard M. Stallman <rms@gnu.org>
87
88 * xdisp.c (try_window_id): When EOB is visible, don't treat
89 insertion at EOB as if it were "off the bottom of the screen."
90
a55a5f3c
AI
912001-06-11 Andrew Innes <andrewi@gnu.org>
92
93 * w32proc.c (create_child): Add new parameter is_gui_app.
94 (w32_executable_type): Add new parameter is_gui_app.
95 (sys_spawnve): Use it.
96 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
97 SIGQUIT. This matches better how the signals are interpreted by
98 MSVC compiled programs.
99 (syms_of_ntproc): Update docstring.
100
1b85dc1c
SM
1012001-06-02 Stefan Monnier <monnier@cs.yale.edu>
102
103 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
104 well otherwise note_mouse_highlight might optimize away highlighting
105 if we pass over that same overlay again.
106
b75f8eab
EZ
1072001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
108
109 * lread.c (Fload): Document that the argument is run via
110 substitute-in-file-name.
111
94843cc1
GM
1122001-05-31 Gerd Moellmann <gerd@gnu.org>
113
b14659e6
GM
114 * Makefile.in (bootstrap-doc): New target.
115 (bootstrap-emacs): Depend on it.
116
0894672f
GM
117 * fileio.c (Fdo_auto_save): Don't try to create the directory of
118 auto-save-list-file-name when shutting down Emacs, because
119 creating the directory might signal an error, and leaves
120 Emacs in a strange state.
121
94843cc1
GM
122 * term.c: (tty_cursor_hidden): New variable.
123 (update_begin): Don't call tty_hide_cursor. Clean up.
124 (update_end, set_terminal_window, set_scroll_region): Clean up.
125 (ring_bell, reset_terminal_modes): Clean up.
126 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
127 on tty_cursor_hidden.
128 (write_glyphs): Call tty_hide_cursor.
129
db3a49a6
SM
1302001-05-30 Stefan Monnier <monnier@cs.yale.edu>
131
132 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
133
8bd189fb
GM
1342001-05-30 Gerd Moellmann <gerd@gnu.org>
135
6f1be3b9
GM
136 * xfns.c (enum image_value_type): New enumerator
137 IMAGE_STRING_OR_NIL_VALUE.
138 (parse_image_spec): Handle it.
139 (xbm_format, pbm_format): Use it for :foreground and :background.
140 (xbm_load, pbm_load): Check for nil color names.
141
8bd189fb
GM
142 * xterm.c (note_mouse_highlight): If an overlapping overlay
143 exists, but we find that we highlight the same overlay as before,
144 don't do the highlighting again.
145
7bdba03c
GM
1462001-05-29 Gerd Moellmann <gerd@gnu.org>
147
4c329aa8
GM
148 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
149 Protect unibyte strings created by replacing their multibyte
150 equivalents in menu_items.
151
e15e2828
GM
152 * keymap.c (Fsingle_key_description): NUL-terminate the string
153 buffer before calling build_string.
154
7bdba03c
GM
155 * callproc.c (Fcall_process): Deal with decode_coding returning
156 CODING_FINISH_INCONSISTENT_EOL.
157
89c8dc6c
GM
1582001-05-28 Gerd Moellmann <gerd@gnu.org>
159
db3a49a6 160 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
161 an item's name with its key description in case the description
162 is a multibyte string.
163
164 * keymap.c (Fsingle_key_description): Create a multibyte string
165 only if necessary.
166
eb04d6cd
GM
167 * macros.c (Fstart_kbd_macro): Doc fix.
168
8bd6307f
GM
169 * xterm.c (cursor_in_mouse_face_p): New function.
170 (x_draw_stretch_glyph_string): Use it to choose a different GC
171 when drawing a cursor within highlighted text.
172
e26c4089
GM
173 * editfns.c (char_property_eq): Put in #if 0.
174
175 * indent.c (string_display_width): Put in #if 0.
176
177 * lread.c (Fload): Remove unused label.
178
89c8dc6c
GM
179 * termcap.c (speeds): Put in #if 0.
180
9a1211f2
GM
1812001-05-18 Gerd Moellmann <gerd@gnu.org>
182
29148a3f
GM
183 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
184
9a1211f2
GM
185 * xfaces.c (xlfd_point_size): Don't divide pixel size from
186 transformation matrix by 10.
187
09393d07
GM
1882001-05-16 Gerd Moellmann <gerd@gnu.org>
189
190 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
191 only if it's equal to the former foreground pixel color.
db3a49a6 192 (x_set_foreground_color, x_set_background_color)
09393d07
GM
193 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
194
460e6bae
GM
1952001-05-16 Dave Love <fx@gnu.org>
196
197 * insdel.c (signal_before_change, signal_after_change): Consider a
198 local change hook which changes the buffer.
99c78ce8
GM
199
200 * process.c (read_process_output): Don't call signal_after_change
201 and update_compositions after insert_from_string_before_markers.
202
dbcf3c03
GM
2032001-05-16 Gerd Moellmann <gerd@gnu.org>
204
a90b3d3c
GM
205 * xfaces.c (split_font_name): Use the right field when
206 checking for `[...]' syntax.
207
1b7818b4
GM
208 * buffer.c (copy_overlays): New function.
209 (clone_per_buffer_values): Use it.
210
211 * buffer.h (OVERLAY_PLIST): New macro.
212
9bae8781
GM
213 * keymap.c (Fsingle_key_description): Replace a build_string with
214 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
215
dbcf3c03
GM
216 * fontset.c (Ffontset_info): Check that face is non-null
217 before accessing its fields.
218
8a1ae4dd
GM
2192001-05-15 Gerd Moellmann <gerd@gnu.org>
220
18a0a39e
GM
221 * keyboard.c (read_key_sequence): Prevent generating a fake
222 prefix key twice.
223
e335b66a
GM
224 * xfaces.c (split_font_name): Handle `[...]' for the right
225 font name fields.
226
8a1ae4dd
GM
227 * ccl.c (ccl_driver): Don't copy remaining bytes in case
228 of CCL_STAT_INVALID_CMD.
229
3cf80731
SM
2302001-05-14 Stefan Monnier <monnier@cs.yale.edu>
231
33568849
SM
232 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
233 in <var> has no default value yet.
234
3cf80731
SM
235 * xfaces.c (try_alternative_families): First try the FAMILY.
236 And if nothing is found in the end, try again with scalable fonts.
237 (try_font_list): Let try_alternative_families do a bit more of
238 the work. Only use FAMILY if it is not nil.
239 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
240
933b0249
GM
2412001-05-14 Gerd Moellmann <gerd@gnu.org>
242
58e5af83
GM
243 * xterm.c (note_mouse_highlight): Avoid changing the mouse
244 pointer shape when show_mouse_face has already done it.
33568849 245
58e5af83 246 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
247 full-width rows.
248
7b16a6bf
GM
249 * xfaces.c (split_font_name): Make sure to leave the loop
250 with the right value of `i'.
3cf80731 251
933b0249
GM
252 * xfaces.c (split_font_name): Handle matrix transformations
253 in the pixel and point size fields of XLFD font names.
254 (xlfd_point_size): Likewise.
255
dddcbf00
EZ
2562001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
257
3cf80731 258 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
259 (x_to_w32_font): Add prototype.
260
7689ef0b
EZ
261 * regex.c (malloc, realloc, free) [emacs]: Undefine before
262 redefining, to avoid compiler warnings.
263
e7c15bba
EZ
264 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
265
dddcbf00
EZ
266 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
267 (w32_get_bdf_glyph): Cast between unsigned char and char when
268 passing arguments to subroutines, to shut up compiler warnings.
269 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
270 GET_HEX_VAL.
271
272 * xfaces.c: Include keyboard.h before frame.h, not after it.
273
274 * widget.c: Include keyboard.h before frame.h.
275
276 * w32term.h (struct image, struct face): Forward declaration, to
277 avoid compiler warnings.
278
7bd2d083
GM
2792001-05-11 Gerd Moellmann <gerd@gnu.org>
280
47e72862
GM
281 * keyboard.c (read_key_sequence): Don't modify events when
282 generating fake prefix keys (mode-line, scroll-bar, ...) since
283 this prevents proper processing of such events when pushed back
284 into unread-command-events.
285
dd5f324b
GM
286 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
287 actually redrawn. Make the function static.
288 (note_mouse_highlight): Fix a case where the mouse cursor
289 was changed back to the text cursor.
290
291 * xterm.h (clear_mouse_face): Remove prototype.
292
d88a79d4
GM
293 * xdisp.c (try_window_id): Fix the fix and set the right
294 window_end_vpos.
295
296 * xdisp.c (try_window_id): Fix computation of window end in the
297 case that lines were deleted at the end of the window. Add some
298 more debug_method_adds.
0416532f 299
7bd2d083
GM
300 * xfaces.c (try_alternative_families): New function.
301 (try_font_list): Use it. If ATTRS specifies a family, check
302 fonts from that family first.
303 (choose_face_font): Remove code setting the family part of
304 the pattern to nil.
305
23fca891
GM
3062001-05-10 Gerd Moellmann <gerd@gnu.org>
307
ff9aa2ca
GM
308 * xdisp.c (try_window_id): Fix case of all changes before
309 the window start.
7b2654b5 310
23fca891
GM
311 * xdisp.c (try_window_id): Add some xasserts.
312
e9726794
GM
3132001-05-09 Gerd Moellmann <gerd@gnu.org>
314
315 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
316
9e53a675
GM
3172001-05-09 Dave Love <fx@gnu.org>
318
319 * xdisp.c (GIVE_UP): Fix for K&R C.
320
0d487c52
GM
3212001-05-09 Gerd Moellmann <gerd@gnu.org>
322
fe88d421
GM
323 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
324
0d487c52
GM
325 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
326 back to the text cursor shape without need.
327
1e9fc92e
GM
3282001-05-07 Gerd Moellmann <gerd@gnu.org>
329
a2a6232e
GM
330 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
331
332 * dispextern.h (inverse_video): Declare extern.
333
1e9fc92e
GM
334 * keyboard.c (delete_kboard): Handle the case that selected_frame
335 has been deleted in the course of x_connection_closed.
336
12949a7f
EZ
3372001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
338
7b2654b5
SM
339 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
340 Fix the change from 2001-04-30.
12949a7f 341
2fa2f461
GM
3422001-05-03 Gerd Moellmann <gerd@gnu.org>
343
a779d213
GM
344 * xfns.c (file_dialog_unmap_cb): New function.
345 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
346 where a dialog is closed via the window manager.
347
7b2654b5 348 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
349 the window start or all below the window end mostly rewritten.
350 (redisplay_window): Move the tests if try_window_id is
351 applicable to try_window_id.
352 (GIVE_UP): New macro.
353
3356df63
GM
3542001-05-02 Gerd Moellmann <gerd@gnu.org>
355
a39202f6 356 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
357 currently being updated, mark the frame garbaged.
358 Fix computation of rows intersecting the exposed rectangle.
a39202f6 359 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 360
3356df63
GM
361 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
362 again if it has already been drawn.
363
a9d2fd1d
SM
3642001-05-01 Stefan Monnier <monnier@cs.yale.edu>
365
366 * syntax.c (update_syntax_table): Check that oldi has the same
367 properties as old_prop before deciding not to invalidate.
368
c95fc5f1
GM
3692001-04-30 Gerd Moellmann <gerd@gnu.org>
370
a9793e45
GM
371 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
372 read-only text that is so because of text properties.
373
c95fc5f1 374 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 375 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
376 windows that are components of a Lucid menu bar.
377
5a5d9185
GM
3782001-04-27 Gerd Moellmann <gerd@gnu.org>
379
380 * term.c (turn_on_face): Fix reverse video handling on terminals
381 that don't support colors.
382
ba973f7a
GM
3832001-04-26 Gerd Moellmann <gerd@gnu.org>
384
385 * editfns.c (save_excursion_restore): Don't use XBUFFER on
386 a non-buffer.
387
8c56a983
GM
3882001-04-25 Gerd Moellmann <gerd@gnu.org>
389
a728644c
GM
390 * term.c (toggle_highlight): New function.
391 (turn_on_face): Change handling of reverse video.
392
7b2654b5
SM
393 * process.c (wait_reading_process_input):
394 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 395
bfd8410f
GM
396 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
397 of the number of overlays to check.
398
be2488ca
GM
399 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
400
8c56a983
GM
401 * xdisp.c (try_window_id): Fix a case where window_end_pos
402 and window_end_bytepos were not adjusted.
403
522d42f7
GM
4042001-04-23 Gerd Moellmann <gerd@gnu.org>
405
406 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
407 zero instead of -1.
408
78c1afb6
EZ
4092001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
410
a9d2fd1d
SM
411 * process.c (wait_reading_process_input) [!subprocesses]:
412 Don't reference waiting_for_user_input_p, it's not defined in the
413 branch without async subprocesses support.
78c1afb6 414
a2fab450
GM
4152001-04-19 Gerd Moellmann <gerd@gnu.org>
416
a122a38e
GM
417 * keyboard.c (delete_kboard): Prevent a dangling reference
418 from current_kboard to KB, which is freed.
419
a9d2fd1d
SM
420 * process.c (wait_reading_process_input):
421 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
422 read_key_sequence aware of buffer changes from under it.
423
0f8d6dc7
GM
4242001-04-18 Gerd Moellmann <gerd@gnu.org>
425
eeffb293
GM
426 * xfaces.c (Qscalable_fonts_allowed): New variable.
427 (realizing_basic_faces_p): Removed.
2fa2f461
GM
428 (x_face_list_fonts): Special handling for realizing_basic_faces_p
429 removed.
eeffb293 430 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
431 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
432 for scalable-fonts-allowed to t.
eeffb293 433
0f8d6dc7
GM
434 * fileio.c (Finsert_file_contents): If the file size returned from
435 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 436 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 437
eec2d1de
EZ
4382001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
439
440 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
441 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
442 (__memalign_hook): Make the two prototypes consistent.
443
f4f480bd
GM
4442001-04-17 Gerd Moellmann <gerd@gnu.org>
445
446 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
447 matrix of mini-windows.
448
52283633
SM
4492001-04-12 Stefan Monnier <monnier@cs.yale.edu>
450
451 * intervals.c (find_interval): Don't rebalance during signal handling.
452
ec2423c9
GM
4532001-04-11 Gerd Moellmann <gerd@gnu.org>
454
30cb0001 455 * fns.c: Include blockinput.h.
52283633 456
ec2423c9
GM
457 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
458
719d83ad
GM
4592001-04-10 Gerd Moellmann <gerd@gnu.org>
460
60f8d735
GM
461 * fns.c (Fcompare_strings): Fix return values.
462
afffeb57
GM
463 * window.c (window_scroll): Change the meaning of N to mean
464 N screen-fulls or N lines.
465 (window_scroll_pixel_based, window_scroll_line_based)
466 (scroll_command, Fscroll_other_window): Change accordingly.
467
52283633
SM
468 * window.c (window_scroll_pixel_based, Frecenter):
469 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
470 height of the window.
471
472 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
473 instead of using it.last_visible_y for the height of the window.
52283633 474
719d83ad 475 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 476 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
477
478 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
479 able to write to hidden and system files. From Dan Holmsand
480 <dan@eyebee.com>.
719d83ad 481
8ddf3ee1
GM
482 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
483 Holmsand <dan@eyebee.com>.
719d83ad 484
522ed7fb
GM
4852001-04-09 Gerd Moellmann <gerd@gnu.org>
486
9170e5d4
GM
487 * fns.c (Fplist_get, Fplist_put): Add QUITs.
488
522ed7fb
GM
489 * window.c (window_internal_height): Return 1 less if the
490 window has a header line.
491
492 * xdisp.c (try_window_id): When scrolling on a terminal, take
493 the change of window_internal_height into account.
494
ceeb3d7d
EZ
4952001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
496
497 * gmalloc.c (align): If the argument SIZE would overflow
498 __malloc_ptrdiff_t, fail right away.
499
63685b9d
GM
5002001-04-06 Gerd Moellmann <gerd@gnu.org>
501
502 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
503 Make sure the tooltip is completely visible.
504 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
505
506 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
507
508 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
509
3ffb33bb
DL
5102001-04-06 Dave Love <fx@gnu.org>
511
52283633
SM
512 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
513 Fix test of `from'.
3ffb33bb 514
869fb12c
GM
5152001-04-06 Gerd Moellmann <gerd@gnu.org>
516
52283633 517 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 518
869fb12c
GM
519 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
520
441bf856
GM
5212001-04-05 Gerd Moellmann <gerd@gnu.org>
522
4d664b04
GM
523 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
524
52283633 525 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 526
30ca89f5
GM
527 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
528 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
529
530 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
531 shell widget's position only if it is non-null.
532
52283633
SM
533 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
534 Set f->output_data.x->widget to null after destroying it.
30ca89f5 535
81a81c0f
GM
536 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
537 FILENAME to bring it in synch with the documentation.
538
441bf856
GM
539 * xfaces.c (realizing_basic_faces_p): Renamed from
540 realize_default_face_p.
541 (realize_basic_faces): Set/clear realizing_basic_faces_p.
542 (realize_default_face): Don't set the flag.
543
702a1e8e
GM
5442001-04-04 Gerd Moellmann <gerd@gnu.org>
545
1013f4e3
GM
546 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
547
52283633
SM
548 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
549
1013f4e3
GM
550 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
551 the buffer that was used for echoing.
552
702a1e8e
GM
553 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
554 (first_font_matching): Removed unused function.
555 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
556 (may_use_scalable_font_p): Remove parameter FONT; rename
557 parameter NAME to FONT.
558 (x_face_list_fonts): Fix missing bounds check.
559 (realizing_default_face_p): New variable.
560 (realize_default_face): Set and clear that flag.
561 (x_face_list_fonts): When called during the realization of the
562 default face, and no matching fonts are found when ignoring
563 scalable fonts and fonts matching a regexp from
564 face-ignored-fonts, try without ignoring fonts.
565
f9dbcda4
GM
5662001-04-03 Gerd Moellmann <gerd@gnu.org>
567
ad18ffb1
GM
568 * xfns.c (postprocess_image): New function.
569 (lookup_image): Call it for all image types except PostScript.
570 (x_kill_gs_process): Call postprocess_image.
571
f9dbcda4
GM
572 * xterm.c (x_use_underline_position_properties): New variable.
573 (x_draw_glyph_string): Use it.
574 (syms_of_xterm): DEFVAR_BOOL it.
575
651f03b6
GM
5762001-04-02 Gerd Moellmann <gerd@gnu.org>
577
578 * xterm.c (x_alloc_nearest_color_1): New function.
579 (x_alloc_nearest_color): Use it.
580 (x_color_cells): Take a Display as argument, instead of a frame.
581 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
582 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
583 (x_initialize): Register cvt_string_to_pixel as resource converter
584 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
585
73d75a62
GM
5862001-03-30 Gerd Moellmann <gerd@gnu.org>
587
b2046df8
GM
588 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
589 (set_iterator_to_next): If a string from a display property ends,
590 consider the case that this might also be the end of an
591 overlay string having the display property.
592
52283633 593 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 594
87d8eba4
GM
595 * xdisp.c (reseat_to_string): Undo last change.
596
73d75a62
GM
597 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
598 matrix of a window when the header line changes, when
599 new rows are allocated, or when the width changes.
600
911a2406
EZ
6012001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
602
52283633 603 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 604
aea51abe
EZ
6052001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
606
607 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
608 deprecated.
609
176bc847
GM
6102001-03-29 Gerd Moellmann <gerd@gnu.org>
611
ed31fabf
GM
612 * data.c (Fsubr_interactive_form): New function.
613 (syms_of_data): Defsubr it.
614
176bc847
GM
615 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
616 (live_float_p, live_misc_p): Return 1 only if the offset of the
617 pointer in its block is >= 0.
618
e59d0e9d
GM
6192001-03-28 Paul Eggert <eggert@twinsun.com>
620
621 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
622 microseconds calcuation. Avoid double-rounding problem.
623 In doc string, warn that the result is approximate.
624
f827b862
GM
6252001-03-28 Gerd Moellmann <gerd@gnu.org>
626
30a3f61c
GM
627 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
628 bind `inhibit-eval-during-redisplay' to t.
629
630 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
631
632 * xdisp.c (inhibit_eval_during_redisplay)
633 (Qinhibit_eval_during_redisplay): New variables.
634 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
635 don't eval, return nil instead.
636 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
637 Initialize Qinhibit_eval_during_redisplay.
638
e719f5ae
GM
639 * xdisp.c (reseat_to_string): If STRING is multibyte, set
640 the iterator's multibyte_p flag.
641
deb2613a
GM
642 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
643 instead of setting it to zero; it's incremented for each frame
644 where the menu face is changed.
645
52283633
SM
646 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
647 change bottom shadow accordingly.
648
649 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
650 intersections here.
651 (expose_window): Do it here instead.
52283633 652 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 653
f827b862
GM
654 * bytecode.c (BYTE_CODE_QUIT): New macro.
655 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
656
4bde0ebb
GM
6572001-03-27 Gerd Moellmann <gerd@gnu.org>
658
607ec83c
GM
659 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
660 Give up if matrix starts in an ellipsis.
661 (init_from_display_pos): Do nothing if POS doesn't specify
662 a dpvec_index but the iterator has such a position.
663
0245398f
GM
664 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
665
aba25348
GM
666 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
667 x/y position is (0, 0) after destroying the menu bar, restore
668 its original position.
669
4bde0ebb
GM
670 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
671 (init_from_display_pos): Use it.
672 (try_window_reusing_current_matrix): Don't use cursor_row_p.
673
8cdb267e
GM
6742001-03-26 Gerd Moellmann <gerd@gnu.org>
675
676 * xdisp.c (try_window_id): Undo last change.
677
9948db79
EZ
6782001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
679
680 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
681
682 * buffer.c (syms_of_buffer): Doc fix.
683
2eddf899
GM
6842001-03-26 Gerd Moellmann <gerd@gnu.org>
685
686 * xfaces.c (x_update_menu_appearance): Use local variable
687 popup_path for setting font resources.
688
6c145d35
EZ
6892001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
690
6a65b1b5
EZ
691 * frame.c (Fframe_list): Don't reference tip_frame if
692 HAVE_WINDOW_SYSTEM is not defined.
693
6c145d35
EZ
694 * emacs.c (main): Update the copyright year. From Werner LEMBERG
695 <wl@gnu.org>.
696
d74c1900
GM
6972001-03-25 Gerd Moellmann <gerd@gnu.org>
698
20fbd925
GM
699 * xdisp.c (init_from_display_pos): Test invisible property
700 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 701
927c5b3b
GM
702 * xdisp.c (redisplay_internal) <update one window>: Make sure
703 last_arrow_position and last_arrow_string are set.
704
d74c1900
GM
705 * frame.c (Fframe_list): Don't return a tooltip frame.
706
091f8878
GM
7072001-03-23 Gerd Moellmann <gerd@gnu.org>
708
52283633
SM
709 * xdisp.c (mark_window_display_accurate_1): New function,
710 extracted from mark_window_display_accurate.
711 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
712 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
713 (mark_window_display_accurate): Use it.
714 (redisplay_internal): Use it for the selected window.
715 (redisplay_internal): Avoid duplicate mark_window_display_accurate
716 for the selected frame.
717
ac90c44f
GM
718 * xdisp.c Use make_number, for readability.
719 (try_window_id): Disable rows below the window end.
720 (try_window_reusing_current_matrix): Use cursor_row_p.
721 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
722 of rows.
723 (init_from_display_pos): If POS specifies a position in a display
724 vector, maybe get the iterator set up for that ellipsis.
43c09969 725
091f8878
GM
726 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
727
991786dd
EZ
7282001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
729
730 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
731
6c29b43c
GM
7322001-03-23 Gerd Moellmann <gerd@gnu.org>
733
734 * xfaces.c (x_update_menu_appearance): Use a different path
735 for Lucid popup menus.
736
d8731202
SM
7372001-03-22 Stefan Monnier <monnier@cs.yale.edu>
738
739 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
740
741 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
742 (string_buffer_position): Use `make_number'.
743
f61a541b
GM
7442001-03-22 Gerd Moellmann <gerd@gnu.org>
745
3c9e997b
GM
746 * xfaces.c (x_update_menu_appearance): Renamed from
747 x_set_menu_face_resources. Use different resources for popups.
748
749 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
750 (GC_CHECK_STRING_BYTES): Don't define.
751
364cd450
GM
752 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
753 Removed, together with subroutines.
754 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 755 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 756
d8731202
SM
757 * dispextern.h (x_set_menu_resources_from_menu_face):
758 Remove prototype.
364cd450 759
d8731202 760 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
761 Remove calls to x_set_menu_resources_from_menu_face.
762
d8731202
SM
763 * xfaces.c (xm_set_menu_resources_from_menu_face):
764 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
765
766 * xmenu.c: Include widget.h.
767 (single_submenu): Return int. Some cleanup.
768 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
769
140330de
GM
7702001-03-21 Gerd Moellmann <gerd@gnu.org>
771
772 * xterm.c (x_update_window_end): Handle overwritten mouse face
773 also for tool bar windows.
774 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
775 DRAW is DRAW_IMAGE_RAISED.
776
1741905c
GM
7772001-03-20 Gerd Moellmann <gerd@gnu.org>
778
fa88947e
GM
779 * print.c (syms_of_print): Doc fixes.
780
1741905c
GM
781 * fns.c (Fmd5): Doc fix.
782
ade0bee1
GM
7832001-03-19 Gerd Moellmann <gerd@gnu.org>
784
357e7376
GM
785 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
786 Clear area of the frame not occupied by the scroll bar.
787
c2c097cc
GM
788 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
789 tip frame's root window buffer to *tip* right after creating
790 the frame.
791
ade0bee1
GM
792 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
793 is an integer don't have to be for space characters.
794
88c6e37e
GM
7952001-03-16 Gerd Moellmann <gerd@gnu.org>
796
52283633
SM
797 * indent.c (current_column, current_column_1, Fmove_to_column)
798 (compute_motion): Handle characters from display vectors differently.
88c6e37e 799
c62eed76
KH
8002001-03-15 Kenichi Handa <handa@etl.go.jp>
801
802 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
803 drawing glyph string.
804
c899e7e6
GM
8052001-03-15 Gerd Moellmann <gerd@gnu.org>
806
d0bbfc99
GM
807 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
808 (command_loop_1): Undo last change.
809
03d1a189
GM
810 * xterm.c (fast_find_position): Return the correct vpos.
811
c899e7e6 812 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 813 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
814 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
815 Call store_symval_forwarding with BUF null.
816 (set_internal): Call store_symval_forwarding with the BUF
817 parameter passed to set_internal. Formerly, the value was always
818 set in the current buffer; the buffer recorded in specbind for
819 this case wasn't used.
820 (arith_driver): Reindent.
821
52283633
SM
822 * buffer.c (swap_out_buffer_local_variables):
823 Call store_symval_forwarding with BUF null.
c899e7e6
GM
824
825 * lisp.h (store_symval_forwarding): Change prototype.
826
827 * eval.c (specbind): Call store_symval_forwarding with BUF null.
828
57ac7c81
GM
8292001-03-14 Gerd Moellmann <gerd@gnu.org>
830
697617d9
GM
831 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
832 FOR_DELETION. Avoid resizing the mini-window of the selected
833 frame if FOR_DELETION is set.
834 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
835 (Fmake_frame_invisible): Change calls to do_switch_frame for new
836 signature.
837
838 * window.c (Fset_window_configuration): Change call to
839 do_switch_frame to new format.
840
841 * keyboard.c (quit_throw_to_read_char): Change call to
842 do_switch_frame to new format.
843
844 * lisp.h (do_switch_frame): Change prototype.
845
819dce0f
GM
846 * frame.c (Fframe_parameters): In the `buffer-list' frame
847 parameter, store the buffer list of FRAME, not the list of the
848 selected frame.
849
57ac7c81
GM
850 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
851 box just because the glyph row's full_width_p flag is set.
852
65008712
GM
8532001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
854
855 * xdisp.c (highlight_trailing_whitespace): On character terminals,
856 skip the padding blanks inserted in extend_face_to_end_of_line,
857 before checking for trailing whitespace.
858
159cf431
GM
8592001-03-13 Gerd Moellmann <gerd@gnu.org>
860
52283633 861 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
862 Remove special handling for LessTif/Motif.
863 (toplevel): Don't include Xm/Xm.h.
864
52283633
SM
865 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
866 Remove workaround code for LessTif; it doesn't work anymore.
867
2564ea1b 868 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 869 Xm/ScrollBarP.h.
afcdc0a1 870
52283633
SM
871 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
872 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
873 contemporary LessTif.
874
52283633
SM
875 * xfaces.c (xm_set_menu_resources_from_menu_face):
876 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 877
159cf431
GM
878 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
879 removing button grabs.
880
c6f7429a
KH
8812001-03-13 Kenichi Handa <handa@etl.go.jp>
882
cb82d767
KH
883 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
884 and clip-large-size-font as obsolete.
885
c6f7429a
KH
886 * lread.c (read_multibyte): Check the validity of multibyte
887 sequence. If invalid, return the first byte.
888
760cefb5
GM
8892001-03-12 Gerd Moellmann <gerd@gnu.org>
890
891 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
892 before running the command; timer functions or process
893 filters may have set it.
894
5141f9d0
EZ
8952001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
896
897 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
898 Doc fix.
899
b6a15240
GM
9002001-03-12 Gerd Moellmann <gerd@gnu.org>
901
902 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
903 to sprintf.
904
95522746
GM
9052001-03-09 Gerd Moellmann <gerd@gnu.org>
906
db14cfc5
GM
907 * dispextern.h (string_buffer_position): Add prototype.
908
52283633 909 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
910 (single_display_prop_string_p): New functions.
911
912 * xterm.c (note_mouse_highlight): If there's no help-echo on
913 a string, look at the buffer text ``under'' it.
914
915 * keyboard.c (make_lispy_event): Add string info to the event,
916 analogous to what's done on mode lines.
917 (read_key_sequence): For a click on a string, consider `local-map'
918 and `keymap' of that string.
919
52283633
SM
920 * keyboard.c (make_lispy_event, make_lispy_movement):
921 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
922
923 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
924
925 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
926 POS; return void.
927
95522746
GM
928 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
929 flags argument to emacs_open; it seems to conflict with O_EXCL.
930
898a399d
KH
9312001-03-09 Kenichi Handa <handa@etl.go.jp>
932
28cd4910
KH
933 * composite.h (struct composition): Change types of members;
934 glyph_len to unsigned, width to unsigned short.
898a399d 935
4cdf6a6c
AI
9362001-03-08 Andrew Innes <andrewi@gnu.org>
937
938 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
939 menu titles.
940
129004d3
GM
9412001-03-08 Gerd Moellmann <gerd@gnu.org>
942
221dd3e7
GM
943 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
944 instead of nil.
945
52283633 946 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
947 help-echo in strings.
948 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
949 (fast_find_string_pos): New function.
950
52283633
SM
951 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
952 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
953
954 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
955 Handle `mouse-face'.
956
957 * dispextern.h (face_at_string_position): Change prototype.
958
52283633 959 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 960
129004d3
GM
961 * keyboard.c (make_lispy_event): Avoid generating drag events
962 if the mouse hasn't actually moved to another buffer position.
52283633 963
80c8ab8c
DL
9642001-03-08 Dave Love <fx@gnu.org>
965
129004d3 966 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 967
989521fd
GM
9682001-03-08 Gerd Moellmann <gerd@gnu.org>
969
970 * process.c (Fset_process_window_size): Fix a typo.
971
bb5c338d
KH
9722001-03-08 Kenichi Handa <handa@etl.go.jp>
973
974 * coding.c (detect_coding_sjis): Do more rigid check.
975 (detect_coding_big5): Likewise.
976 (decode_coding_sjis_big5): Likewise.
977 (Fdetect_coding_region): Call detect_coding_system with tailing
978 anchor byte `\0' for more rigid detection.
52283633 979 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
980 (Fdetect_coding_string): Likewise.
981
8b8f9197
SM
9822001-03-07 Stefan Monnier <monnier@cs.yale.edu>
983
984 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
985 a string before extracting its data.
986
3bdf2660
GM
9872001-03-07 Gerd Moellmann <gerd@gnu.org>
988
989 * window.c (Frecenter): Rewrite code handling negative values
990 of ARG on graphical frames.
991
9922001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
993
994 * window.c (displayed_window_lines): If W->start is outside the
995 accessible portion of the buffer, call start_display with BEGV or
996 ZV instead of W->start.
997
471f86b9
GM
9982001-03-07 Gerd Moellmann <gerd@gnu.org>
999
2ab62c6c
GM
1000 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1001
471f86b9
GM
1002 * process.c (Fset_process_filter): Don't crash if the input
1003 file descriptor of PROCESS is closed.
1004 (Fset_process_window_size): Likewise.
1005
101922c3
GM
10062001-03-06 Kenichi Handa <handa@etl.go.jp>
1007
1008 * xterm.c (XTflash): Make the timeout of select shorter, and call
1009 select repeatedly until the desired time expires.
1010
45d051a7
GM
10112001-03-06 Gerd Moellmann <gerd@gnu.org>
1012
1013 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1014
1015 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1016
1017 * lisp.h (Vwindow_list): Declare extern.
1018
8f372c46
EZ
10192001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1020
1021 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1022
f16a7aa5
GM
10232001-03-06 Gerd Moellmann <gerd@gnu.org>
1024
157ae273
GM
1025 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1026 to detect a case where we have to highlight a different region
1027 despite not having left the currently highlighted region.
1028 Set mouse_face_overlay in the x_display_info.
45d051a7 1029 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1030
1031 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1032
1033 * buffer.c (mouse_face_overlay_overlaps): New function.
1034
1035 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1036 (Qmouse_face): Declare extern.
1037
f16a7aa5
GM
1038 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1039 if face_change_count is non-zero.
1040
827afcac
KH
10412001-03-06 Kenichi Handa <handa@etl.go.jp>
1042
1043 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1044 that the source is unibyte.
1045
14c7242e
DL
10462001-03-05 Dave Love <fx@gnu.org>
1047
827afcac 1048 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1049
c28b847b
GM
10502001-03-05 Gerd Moellmann <gerd@gnu.org>
1051
1052 * minibuf.c (read_minibuf): Clean up the binding stack if
1053 called noninteractively.
1054
b86644f2
KH
10552001-03-05 Kenichi Handa <handa@etl.go.jp>
1056
1057 * coding.c (syms_of_coding): Docstring modified.
1058
203682cc 10592001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1060
1061 * charset.c (char_to_string): If a single byte char has modifier
1062 bits that can't be reflected to the character code, ignore them
45d051a7 1063 instead of signaling an error.
b86644f2 1064
e30bd7b7
EZ
10652001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1066
1067 * s/msdos.h: Update copyright notice.
1068
1069 * dosfns.h: Update copyright notice.
1070
1071 * dosfns.c: Update copyright notice.
1072
1073 * msdos.c: Update copyright notice.
1074
b52b65bd
GM
10752001-03-02 Gerd Moellmann <gerd@gnu.org>
1076
1077 * xterm.c (glyph_rect): New function.
1078 (XTmouse_position): Use it to raise the threshold for mouse
1079 movement event generation.
1080
53c4b1e6
EZ
10812001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1082
1083 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1084 specifies (reverse . t), reverse the initial screen colors.
1085 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1086 but we are reversing the colors, set bg_set, not fg_set.
1087 Likewise for setting background-color and reversing: set fg_set.
1088 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1089 in effect.
1090
1091 * xfaces.c (Finternal_set_lisp_face_attribute)
1092 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1093 parameters alist.
1094
f964b4d7
GM
10952001-03-02 Gerd Moellmann <gerd@gnu.org>
1096
ef53d75e
GM
1097 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1098 to a single slash in the middle of file names.
1099
52283633 1100 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1101 Accept only alphanumeric time zone names.
1102
f964b4d7
GM
1103 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1104 or width area.
1105 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1106 a widget to zero height.
52283633 1107
c3c45f65
GM
11082001-03-01 Gerd Moellmann <gerd@gnu.org>
1109
1110 * window.c (Fwindow_end): Call move_it_past_eol only if
1111 ending up on a partially visible line.
1112
028d739a
DL
11132001-03-01 Dave Love <fx@gnu.org>
1114
1115 * ccl.c (Fccl_execute): Doc fix.
1116
57c5889c
GM
11172001-03-01 Gerd Moellmann <gerd@gnu.org>
1118
35f59f6b
GM
1119 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1120 of the tool bar before calling x_figure_window_size.
1121
f84ff02c
GM
1122 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1123 NULL after destroying it, otherwise XTread_socket can access a
1124 destroyed widget when input is unblocked.
1125
8b8f9197 1126 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1127
57c5889c
GM
1128 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1129 same name as before, although there was a change in fontsets.
1130
224227d1
KR
11312001-02-28 Ken Raeburn <raeburn@gnu.org>
1132
4560730a
KR
1133 * lisp.h (Fframe_parameter): Declare.
1134
224227d1 1135 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1136 Lisp_Object.
224227d1 1137
ece93c02
GM
11382001-02-28 Gerd Moellmann <gerd@gnu.org>
1139
11ef99b9
GM
1140 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1141 NULL instead.
1142
1143 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1144 NULL instead.
1145
ece93c02
GM
1146 * alloc.c (toplevel): Include process.h.
1147 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1148 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1149 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1150 (allocate_vector, allocate_hash_table, allocate_window)
1151 (allocate_frame, allocate_process, allocate_other_vector):
1152 New functions.
ece93c02
GM
1153 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1154 (mark_maybe_pointer): New function.
52283633 1155 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1156 remain and not Lisp_Objects.
1157 (min_heap_address, max_heap_address): New variables.
1158 (mem_find): Return MEM_NIL if START is below min_heap_address or
1159 above max_heap_address.
1160 (mem_insert): Compute min_heap_address and max_heap_address.
1161
1162 * process.c (make_process): Use allocate_process.
1163
1164 * frame.c (make_frame): Use allocate_frame.
1165
1166 * window.c (make_window, make_dummy_parent): Use allocate_window.
1167 (Fcurrent_window_configuration): Use allocate_other_vector.
1168
1169 * lisp.h (allocate_vectorlike): Remove prototype.
1170 (allocate_vector, allocate_other_vector, allocate_frame)
1171 (allocate_window, allocate_process, allocate_hash_table):
1172 Add prototypes.
1173
1174 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1175 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1176
063af457
KH
11772001-02-27 Kenichi Handa <handa@etl.go.jp>
1178
1179 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1180 treat the produced bytes as a valid multibyte sequence.
1181
1182 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1183 (ccl_driver) <CCL_WriteMultibyteChar2>:
1184 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1185 <ccl_finish>: Set ccl->eight_bit_control properly.
1186
1187 * ccl.h (struct ccl_program): New member eight_bit_control.
1188
f58c6494
SM
11892001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1190
1191 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1192 accessible_keymaps_char_table.
1193 (accessible_keymaps_char_table): Obey `is_metized'.
1194 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1195 Lisp_Object.
1196
c596c392
GM
11972001-02-26 Gerd Moellmann <gerd@gnu.org>
1198
1199 * dispnew.c: Check HAVE_TERM_H before including term.h.
1200
425de386
AI
12012001-02-24 Andrew Innes <andrewi@gnu.org>
1202
1203 * makefile.w32-in: Update copyright notice.
1204
2ba11bbd
SM
12052001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1206
1207 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1208
66c56ed1
KH
12092001-02-24 Kenichi Handa <handa@etl.go.jp>
1210
4c1593ce
KH
1211 * Makefile.in (lisp): Add international/utf-8.elc.
1212
66c56ed1
KH
1213 * fontset.c (Fnew_fontset): Fix handling of the case that an
1214 element of FONTLIST is a cons of family and registry.
1215
796ead7e
JR
12162001-02-23 Jason Rumney <jasonr@gnu.org>
1217
1218 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1219 to height unconditionally.
1220
1221 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1222 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1223 (x_insert_glyphs): Call window_box_left to obtain the left
1224 x-coordinate of the area to shift.
1225
1226 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1227 safe_run_hooks.
1228
f6839838
AI
12292001-02-22 Andrew Innes <andrewi@gnu.org>
1230
52283633 1231 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1232 ($(BLD)\dispnew.obj):
1233 ($(BLD)\editfns.obj):
1234 ($(BLD)\fileio.obj):
1235 ($(BLD)\filelock.obj):
1236 ($(BLD)\keyboard.obj):
1237 ($(BLD)\w32proc.obj):
1238 ($(BLD)\process.obj):
1239 ($(BLD)\sysdep.obj): Ditto.
1240
1241 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1242 header files.
52283633
SM
1243 ($(BLD)/dispnew.$(O)):
1244 ($(BLD)/editfns.$(O)):
1245 ($(BLD)/fileio.$(O)):
1246 ($(BLD)/filelock.$(O)):
1247 ($(BLD)/keyboard.$(O)):
1248 ($(BLD)/w32proc.$(O)):
1249 ($(BLD)/process.$(O)):
f6839838
AI
1250 ($(BLD)/sysdep.$(O)): Ditto.
1251
c224f70b
GM
12522001-02-22 Gerd Moellmann <gerd@gnu.org>
1253
51695746
GM
1254 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1255 at the start of the function, check that the \n in it->c is
1256 from the iterator's current position.
52283633 1257
a61b7058
GM
1258 * xdisp.c (handle_single_display_prop): Add parameter
1259 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1260 properties which replace the display of text with something else.
1261 (handle_display_prop): Call handle_single_display_prop with
1262 additional argument saying if we already replaced text display
1263 with something else. Use AREF.
52283633 1264 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1265 (decode_mode_spec_coding): Use AREF and ASIZE.
1266
3473f362
GM
1267 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1268 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1269 * vmstime.h: Files removed.
52283633 1270
2bb58df3
GM
1271 * unexencap.c, unexfx2800.c: Files removed.
1272
c224f70b
GM
1273 * dispnew.c (direct_output_for_insert): Give up if we are showing
1274 a message or just cleared the message because we might need to
1275 resize the echo area window or display an empty echo area.
1276
ffc9ff0c
GM
12772001-02-21 Gerd Moellmann <gerd@gnu.org>
1278
0528abe1
GM
1279 * xdisp.c (redisplay_internal): Do the
1280 mark_window_display_accurate after all windows have been
1281 redisplayed because this call resets flags in buffers which are
1282 needed for proper redisplay.
1283
52283633
SM
1284 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1285 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1286 the old names.
1287
52283633
SM
1288 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1289 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1290
1291 * msdos.h (struct x_output): Rename busy_window to
1292 hourglass_window, busy_p to hourglass_p.
1293
52283633
SM
1294 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1295 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1296
1297 * xfns.c: Rename everything containing *busy_cursor* and similar
1298 to *hourglass*.
1299 (syms_of_w32fns): Rename x-busy-pointer-shape to
1300 x-hourglass-pointer-shape, display-busy-cursor to
1301 display-hourglass, busy-cursor-delay to hourglass-delay.
1302
1303 * w32fns.c: Rename everything containing *busy_cursor* and similar
1304 to *hourglass*.
1305 (syms_of_w32fns): Rename x-busy-pointer-shape to
1306 x-hourglass-pointer-shape, display-busy-cursor to
1307 display-hourglass, busy-cursor-delay to hourglass-delay.
1308
1309 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1310 of its busy_p flag.
1311
1312 * dispextern.h (start_hourglass, cancel_hourglass)
1313 (display_hourglass_p): Renamed from *busy_cursor*.
1314
ab2c5f0a
GM
13152001-02-20 Gerd Moellmann <gerd@gnu.org>
1316
d17e49a8
GM
1317 * keyboard.c (read_char): When an event from unread-command-events
1318 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1319
fa97adf6
GM
1320 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1321 equal to the current buffer.
1322
ab2c5f0a
GM
1323 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1324 nil, otherwise we're left with truncate_lines t when a message
1325 is printed with message-truncate-lines bound to t.
1326
aeac019e
GM
13272001-02-19 Gerd Moellmann <gerd@gnu.org>
1328
c8bc6f65
GM
1329 * window.c (Fmove_to_window_line): Undo last change.
1330 (displayed_window_lines): Call line_bottom_y to determine
1331 the line's bottom position.
1332
1333 * dispextern.h (line_bottom_y): Add prototype.
1334
52283633 1335 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1336 (pos_visible_p): Use it.
1337
980a2d69
GM
1338 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1339 set redisplaying_p to 0 here instead of in Frecursive_edit.
1340 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1341 set redisplaying_p.
1342
52283633 1343 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1344 New variables.
1345 (syms_of_xdisp): Initialize new variables.
1346 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1347 Specbind `inhibit-menubar-update' when updating the menu bar.
1348
65048e97
GM
1349 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1350 safe_run_hooks.
1351
1352 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1353 safe_run_hooks.
1354
a57c4026
GM
1355 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1356 is null.
1357
aeac019e
GM
1358 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1359 to the start of the file.
1360
76846b31
GM
13612001-02-16 Gerd Moellmann <gerd@gnu.org>
1362
f3f053f3 1363 * window.c (set_window_buffer): Fix last change.
52283633 1364
f3f053f3
GM
1365 * window.c (set_window_buffer): Set window's vscroll to 0.
1366
dad75588
GM
1367 * window.c (coordinates_in_window): Increase width of area
1368 where the vertical line can be dragged.
1369
c220b753
GM
1370 * xterm.c (x_set_glyph_string_background_width): Extend the
1371 background face to the end of the drawing area in the text
1372 area, only.
1373
c56b1c1b
GM
1374 * xdisp.c (handle_single_display_prop): Set iterator's position
1375 to where the `display' property starts, like for images.
1376 (dump_glyph): New function.
1377 (dump_glyph_row): Use it. Dump info about marginal areas.
1378
1379 * dispnew.c (direct_output_for_insert): Recognize more cases where
1380 glyphs can be written instead of being inserted.
1381
1382 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1383 the left x-coordinate of the area to shift.
1384
76846b31
GM
1385 * dired.c (directory_files_internal): Set result list to nil
1386 before retrying.
1387
0fc71a77
KH
13882001-02-15 Kenichi Handa <handa@etl.go.jp>
1389
1390 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1391 invalid multibyte sequence, treat *SRC as a character of
1392 eight-bit-graphic.
1393
25078b54
EZ
13942001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1395
1396 * textprop.c (Fset_text_properties): Doc fix.
1397
8399f8a0
GM
13982001-02-15 Gerd Moellmann <gerd@gnu.org>
1399
1400 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1401
9a2a6f73
DL
14022001-02-14 Dave Love <fx@gnu.org>
1403
1404 * coding.c: Doc and message fixes.
1405
bf853fee
AI
14062001-02-14 Andrew Innes <andrewi@gnu.org>
1407
1408 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1409 Emacs frame above the screen size.
1410
78c663d8
GM
14112001-02-14 Gerd Moellmann <gerd@gnu.org>
1412
1413 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1414
7cc9f69f
GM
14152001-02-13 Gerd Moellmann <gerd@gnu.org>
1416
0a411995
GM
1417 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1418 case that TO ends up beyond ZV after running before-change-functions.
1419
5ddc1b75
GM
1420 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1421 the selected window if it is showing the buffer in question.
1422
7cc9f69f
GM
1423 * dired.c (directory_files_internal): Initialize errno.
1424 (toplevel): Include errno.h.
1425
2e6621ca
GM
14262001-02-13 Kenichi Handa <handa@etl.go.jp>
1427
1428 * xfaces.c (best_matching_font): New parameter width_ratio.
1429 Multiply avgwidth by width_ratio.
1430 (choose_face_font): Call best_matching_font with width_ratio
1431 calculated from the column width of C.
1432
60222d69
AI
14332001-02-12 Andrew Innes <andrewi@gnu.org>
1434
1435 The following changes are to draw box lines inside characters area
1436 if line-width is negative.
52283633 1437
60222d69
AI
1438 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1439 face->box_line_width is negative.
1440 (x_produce_stretch_glyph): Likewise.
1441 (x_produce_glyphs): Likewise.
1442 (x_estimate_mode_line_height): Likewise.
1443 (x_draw_glyph_string_background): Likewise.
1444 (x_draw_glyph_string_foreground): Likewise.
1445 (x_draw_composite_glyph_string_foreground): Likewise.
1446 (x_draw_glyph_string_box): Likewise.
1447 (x_draw_image_foreground): Likewise.
1448 (x_draw_image_relief): Likewise.
1449 (x_draw_image_foreground_1): Likewise.
1450 (x_draw_image_glyph_string): Likewise.
1451
9804b846
KH
14522001-02-09 Kenichi Handa <handa@etl.go.jp>
1453
1454 The following changes are to draw box lines inside characters area
1455 if line-width is negative.
52283633 1456
9804b846
KH
1457 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1458 face->box_line_width is negative.
1459 (x_produce_stretch_glyph): Likewise.
1460 (x_produce_glyphs): Likewise.
1461 (x_estimate_mode_line_height): Likewise.
1462 (x_draw_glyph_string_background): Likewise.
1463 (x_draw_glyph_string_foreground): Likewise.
1464 (x_draw_composite_glyph_string_foreground): Likewise.
1465 (x_draw_glyph_string_box): Likewise.
1466 (x_draw_image_foreground): Likewise.
1467 (x_draw_image_relief): Likewise.
1468 (x_draw_image_foreground_1): Likewise.
1469 (x_draw_image_glyph_string): Likewise.
1470
1471 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1472 and :line-width can be negative.
52283633 1473 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1474
49be9f70
JR
14752001-02-09 Jason Rumney <jasonr@gnu.org>
1476
1477 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1478 characters the same as ASCII and latin-1.
1479 (x_display_and_set_cursor): Check for the focus frame's selected
1480 window instead of selected_window.
1481 (x_after_update_window_line): Don't clear if frame's internal
1482 border width is zero.
1483 (x_new_font): Don't change a tooltip's size.
1484 (w32_initialize): Set char_ins_del_ok to 1.
1485
1486 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1487 (x_set_font): If font hasn't changed, avoid recomputing
1488 faces and other things.
52283633
SM
1489 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1490 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1491 (x_create_tip_frame): Prevent changing the tooltip's
1492 background color by specifying a color for the default font
1493 in .Xdefaults.
1494 (Qcancel_timer): New variable.
1495 (syms_of_w32fns): Initialize and staticpro it.
1496 (Fx_hide_tip, Fx_show_tip): Use it.
1497 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1498 the timer.
1499 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1500
1501 * w32.c (init_environment): Duplicate local string before putenv.
1502
555e35d2
SZ
15032001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1504
1505 * charset.c (Fstring): A typo.
1506
19c92c94
KH
15072001-02-09 Kenichi Handa <handa@etl.go.jp>
1508
e47a1c33
KH
1509 * charset.c (Fstring): If all arguments are less than 256, return
1510 a unibyte string.
1511
1512 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1513 return a unibyte string.
1514
19c92c94
KH
1515 * coding.c (code_convert_region): After detecting a coding, if
1516 nothing found, set coding->composing to COMPOSITION_NO.
1517 (decode_coding_string): Likewise.
1518
d8e675f5
SM
15192001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1520
1521 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1522 to avoid overflow.
1523
bd503487
KH
15242001-02-07 Kenichi Handa <handa@etl.go.jp>
1525
1526 * charset.c (parse_str_to_multibyte): New function.
1527
1528 * charset.h (parse_str_to_multibyte): Extern it.
1529
1530 * print.c (print_string): If we are going to print a unibyte
1531 string into a multibyte buffer, convert the string to multibyte by
1532 str_to_multibyte.
1533
a8370d72
AI
15342001-02-06 Andrew Innes <andrewi@gnu.org>
1535
1536 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1537 been created. It seems we can get sent window messages such as
1538 WM_ERASEBKGND before we properly update a frame.
1539
c363a1d6
GM
15402001-02-06 Gerd Moellmann <gerd@gnu.org>
1541
1542 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1543 Avoid some unnecessary cursor positioning.
1544
a08332c0
GM
15452001-02-05 Gerd Moellmann <gerd@gnu.org>
1546
52283633 1547 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1548 (LFACE_AVGWIDTH): New macro.
1549 (LFACEP): Use AREF.
1550 (check_lface_attrs): Check LFACE_AVGWIDTH.
1551 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1552 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1553 (merge_face_vectors): Check LFACE_AVGWIDTH.
1554 (Finternal_make_lisp_face): Use AREF.
1555 (xm_set_menu_resources_from_menu_face)
1556 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1557 (Finternal_lisp_face_empty_p): Use AREF.
1558 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1559 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1560 Compare average widths..
1561 (best_matching_font): Arrange for comparing average widths.
1562
52283633
SM
1563 * dispextern.h (enum lface_attribute_index):
1564 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1565
5cb3c8d4
DL
15662001-02-05 Dave Love <fx@gnu.org>
1567
1568 * puresize.h: Revert last change following loadup.el change.
1569
193fba87
AI
15702001-02-05 Andrew Innes <andrewi@gnu.org>
1571
1572 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1573 invocation of temacs, to work with Windows 2000.
1574 (bootstrap-emacs): Ditto.
1575
e16f52ce
GM
15762001-02-05 Gerd Moellmann <gerd@gnu.org>
1577
7a58ab59
GM
1578 * xterm.c (x_display_and_set_cursor): Check for the focus
1579 frame's selected window instead of selected_window.
1580
e89aaabd
GM
1581 * xdisp.c (try_scrolling): If point is in the line below the
1582 window, make sure to move the iterator at least a canonical
1583 char height down.
1584
52283633 1585 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1586
789ce875
KH
15872001-02-05 Kenichi Handa <handa@etl.go.jp>
1588
52283633
SM
1589 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1590 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1591 (ccl_driver): If the CCL program is terminated because of
1592 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1593 destination instead of throwing them away.
1594
20b28f82
GM
15952001-02-02 Gerd Moellmann <gerd@gnu.org>
1596
79fb38c0
GM
1597 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1598 faces and other things.
1599
20b28f82
GM
1600 * xdisp.c (get_next_display_element): Fix case of empty
1601 display table entry.
1602
5a72551e
EZ
16032001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1604
eb24d0bf
EZ
1605 * editfns.c (Fconstrain_to_field): Doc fix.
1606
6a3f48c7
EZ
1607 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1608 into `thoroughly', to make it consistent with the doc string.
1609
5a72551e
EZ
1610 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1611
01acdb05
GM
16122001-02-01 Gerd Moellmann <gerd@gnu.org>
1613
0353b28f
GM
1614 * search.c (search_buffer): Call set_search_regs with a byte
1615 position, not a character position.
1616
01acdb05
GM
1617 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1618 minibuffer-only,
1619
e86b5133
EZ
16202001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1621
1622 * frame.c (Fmodify_frame_parameters): Doc fix.
1623
7442878f
GM
16242001-01-31 Gerd Moellmann <gerd@gnu.org>
1625
01acdb05
GM
1626 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1627 identifier which is not reserved by Standard C.
52283633 1628
7442878f
GM
1629 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1630
1631 * window.c (enum window_part): New enumeration.
1632 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1633 Qright_bitmap_area.
1634 (coordinates_in_window): Return an enumerator from enum
1635 window_part. Fix handling of right scroll bar.
1636 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1637 `right-fringe' instead of `left-bitmap-area' and
1638 `right-bitmap-area'. Use enumerators from enum window_part
1639 instead of hard-coded integers.
52283633
SM
1640 (check_window_containing, window_from_coordinates):
1641 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1642 (syms_of_window): Replace Qleft_bitmap_area and
1643 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1644
7c132cba
EZ
16452001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1646
1647 * editfns.c (Fformat_time_string): Doc fix.
1648
c359dd9e
SM
16492001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1650
1651 * keymap.c (Fwhere_is_internal): Use the first valid binding
1652 if no ascii binding is found (when firstonly is t).
1653
ce070307
GM
16542001-01-31 Gerd Moellmann <gerd@gnu.org>
1655
b4f30ec5
GM
1656 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1657 instead of Finteractive_p.
1658
1659 * lisp.h (interactive_p): Add prototype.
1660
1661 * eval.c (interactive_p): New function.
1662 (Finteractive_p): Use it.
1663
ce070307
GM
1664 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1665
f57b6e64
DL
16662001-01-31 Dave Love <fx@gnu.org>
1667
d61c7afe
DL
1668 * .gdbinit (hook-run): Define to run xreload.
1669
f57b6e64
DL
1670 * textprop.c (Fset_text_properties): Fix newline in doc string.
1671
eef93f99
GM
16722001-01-30 Gerd Moellmann <gerd@gnu.org>
1673
52283633
SM
1674 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1675 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1676
1677 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1678 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1679 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1680
1681 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1682 height.
1683
d9c1f6f9
DL
16842001-01-30 Dave Love <fx@gnu.org>
1685
1686 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1687 AFTER_POTENTIAL_GC.
1688
e8f044a0
GM
16892001-01-29 Gerd Moellmann <gerd@gnu.org>
1690
52283633
SM
1691 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1692 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1693
8e1db7b3
EZ
16942001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1695
1696 * textprop.c (Fset_text_properties): Doc fix.
1697
4eefd9d2
GM
16982001-01-29 Gerd Moellmann <gerd@gnu.org>
1699
1700 * xdisp.c (forward_to_next_line_start): Remove xassert.
1701
fccb8288
EZ
17022001-01-29 Jason Rumney <jasonr@gnu.org>
1703
4eefd9d2 1704 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1705 returning without releasing it.
1706
76581eab
KH
17072001-01-29 Kenichi Handa <handa@etl.go.jp>
1708
1709 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1710 for '^', '$', and '\0'.
1711
83a96b4d
AC
17122001-01-28 Andrew Choi <akochoi@i-cable.com>
1713
5604ec34
AC
1714 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1715 regex for '^', '$', and '\0'.
1716
83a96b4d
AC
1717 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1718 only if current_sblock has been initialized.
1719
1720 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1721 terminal frame even if it is the only visible frame.
1722
c09a6440
KH
17232001-01-28 Kenichi Handa <handa@etl.go.jp>
1724
1725 * fontset.c (font_family_registry): Even if FONTNAME conform to
1726 XLFD, if it specifies other fields than family and registry,
52283633 1727 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1728 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1729 a signle byte character. Don't set FAMILY part to nil here.
1730 It is handled by the caller choose_face_font.
c09a6440
KH
1731 (Fnew_fontset): Call font_family_registry with FORCE 0.
1732 (Fset_fontset_font): Likewise.
1733
4dcd74e6
GM
17342001-01-27 Gerd Moellmann <gerd@gnu.org>
1735
1736 * xdisp.c (display_line): Don't treat a newline as fitting
1737 on the line.
1738
d2906bf8
GM
17392001-01-26 Gerd Moellmann <gerd@gnu.org>
1740
0130fe1a
GM
1741 * window.c (size_window): Set the window's orig_top to nil when
1742 changing heights, so that a future shrink_mini_window won't
1743 restore a bogus height.
1744
550f0e6a
GM
1745 * frame.c (do_switch_frame): If selected frame has a mini-window,
1746 resize that to exact size.
1747
b7b20fbd
GM
1748 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1749
a47b7816
GM
1750 * xdisp.c (display_line): Simplify check for glyphs fitting
1751 entirely in the line.
1752
d2906bf8
GM
1753 * xfns.c (xic_style): New variable.
1754 (create_frame_xic): Move static variable to global scope for
550f0e6a 1755 the case that `static' gets defined away.
d2906bf8 1756
73df2b1e
KH
17572001-01-26 Kenichi Handa <handa@etl.go.jp>
1758
1759 * coding.c (decode_coding): Set a flag for inhibiting
1760 inconsistent eol.
1761 (code_convert_region): Always set saved_coding_symbol.
1762 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1763 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1764
6613cfc4
GM
17652001-01-25 Gerd Moellmann <gerd@gnu.org>
1766
c5e6e06b
GM
1767 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1768 XClearArea.
1769
1770 * xterm.c (x_after_update_window_line): Don't clear if frame's
1771 internal border width is zero.
1772 (x_clear_area): New function.
1773 (x_after_update_window_line, x_clear_end_of_line)
1774 (x_scroll_bar_create, x_scroll_bar_set_handle)
1775 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1776 instead of XClearArea.
1777
1778 * xterm.h (x_clear_area): Add prototype.
1779
6613cfc4
GM
1780 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1781 which doesn't seem necessary anymore with Lesstif 0.92.
1782
650cc6cc
DL
17832001-01-25 Dave Love <fx@gnu.org>
1784
34ac3367
DL
1785 * puresize.h (BASE_PURESIZE): Up to 720000.
1786
650cc6cc
DL
1787 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1788
5e37dc22
GM
17892001-01-25 Gerd Moellmann <gerd@gnu.org>
1790
e1e441f9
GM
1791 * xdisp.c (echo_area_display): Don't call redisplay_internal
1792 when Emacs is shutting down. We can't run hooks etc. that
1793 would be necessary to do a redisplay.
1794
5e37dc22
GM
1795 * lread.c (read_integer): Use type EMACS_INT instead of int.
1796
0fb94c7f
EZ
17972001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1798
1799 * ccl.c (ccl_driver): Fix last change.
1800
e3778624
KH
18012001-01-25 Kenichi Handa <handa@etl.go.jp>
1802
1803 * ccl.h (sturct ccl_program): New member suppress_error.
1804
bb264518 1805 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1806 insert error message to the output.
1807 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1808
1809 * coding.h (struct coding_system): New member suppress_error.
1810
1811 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1812 (Fset_terminal_coding_system_internal): Set the member
1813 suppress_error to 1.
1814 (Fset_safe_terminal_coding_system_internal): Likewise.
1815
245ed2b1
SM
18162001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1817
1818 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1819 as if it was a `charset'.
1820
f9aaedb6
GM
18212001-01-24 Gerd Moellmann <gerd@gnu.org>
1822
1823 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1824 value in where_is_cache; the next lookup in the cache returns
1825 something bogus if we do.
1826
c3902c3e
EZ
18272001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1828
1829 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1830 if HAVE_WINDOW_SYSTEM isn't defined.
1831
3497f73e
GM
18322001-01-24 Gerd Moellmann <gerd@gnu.org>
1833
e7e41584
GM
1834 * fns.c (sweep_weak_table): Fix code taking items out of
1835 the hash collision chain. Some cleanup.
1836
3497f73e
GM
1837 * xterm.c (x_new_font): Don't change a tooltip's size.
1838
1839 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1840 background color by specifying a color for the default font
1841 in .Xdefaults.
1842
3d48e687
KH
18432001-01-24 Kenichi Handa <handa@etl.go.jp>
1844
96531b20
KH
1845 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1846 a workaround for SunOS 4's cc.
1847 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1848 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1849 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1850 statement.
3d48e687 1851
a30629d2
GM
18522001-01-23 Gerd Moellmann <gerd@gnu.org>
1853
1854 * xterm.c (x_set_window_size_1): New function extracted from
1855 x_set_window_size.
1856 (x_set_window_size): Use it.
1857 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1858 doesn't have a widget, like tooltips.
1859
5a43decf
EZ
18602001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1861
52283633 1862 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1863
b0e98867
KH
18642001-01-23 Kenichi Handa <handa@etl.go.jp>
1865
1866 * fns.c (Fset_char_table_default): Fix to make sub char-table
1867 correctly.
1868
50606b4c
GM
18692001-01-22 Gerd Moellmann <gerd@gnu.org>
1870
cb2ddc53 1871 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1872 a desired tool bar string, even if there are no tool bar items.
1873
57c28064
GM
1874 * xdisp.c (Ftool_bar_lines_needed): New function.
1875 (syms_of_xdisp): Defsubr it.
1876
50606b4c
GM
1877 * editfns.c (Fformat): Don't extend text properties from arguments
1878 to padding chars in the result.
1879
2f169c38
EZ
18802001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1881
1882 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1883
0f32f023
AI
18842001-01-20 Andrew Innes <andrewi@gnu.org>
1885
52283633 1886 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1887 (w32_initialize): Don't set term hooks that aren't actually needed
1888 in windowed mode.
1889
1890 * xfaces.c (realize_default_face):
1891 (realize_face):
1892 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1893
1894 * xdisp.c (handle_single_display_prop): Remove references to
1895 FRAME_W32_CONSOLE_P.
1896
52283633 1897 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1898
1899 * frame.h (output_method): Remove output_w32_console method.
1900 (FRAME_W32_CONSOLE_P): Remove macro.
1901
1902 * frame.c (Qw32_console): Remove variable.
1903 (Fframep): Remove references to it.
1904 (syms_of_frame): Ditto.
1905 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1906
1907 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1908 redefinition.
1909
7173eada
KH
19102001-01-20 Kenichi Handa <handa@etl.go.jp>
1911
1912 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1913
755b45ce
AI
19142001-01-19 Andrew Innes <andrewi@gnu.org>
1915
1916 * w32.c (init_environment): Add a version-independent site-lisp
1917 directory to EMACSLOADPATH, after the version dependent one.
1918
0a949811
GM
19192001-01-19 Gerd Moellmann <gerd@gnu.org>
1920
8501998a
GM
1921 * editfns.c (Fbuffer_substring): Doc fix.
1922
52283633
SM
1923 * xdisp.c (message_dolog, message2, message2_nolog):
1924 Rename parameter LEN to NBYTES.
0a949811 1925
e6ebcbbe
KH
19262001-01-19 Kenichi Handa <handa@etl.go.jp>
1927
200ecca2
KH
1928 * charset.c (strwidth): Use c_string_width.
1929 (c_string_width): New function.
1930 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1931 Caller changed.
1932
1933 * charset.h (c_string_width, lisp_string_width): Extern them.
1934
52283633 1935 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1936
e6ebcbbe
KH
1937 * indent.c (check_composition): Check validity of composition.
1938
200ecca2
KH
1939 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1940 characters by calling c_string_width.
1941 (x_consider_frame_title): Get byte length of frame tile string
1942 correctly.
1943 (display_mode_element): Pay attention to width of non-ASCII
1944 characters by calling strwidth.
1945
8692ca92
GM
19462001-01-18 Gerd Moellmann <gerd@gnu.org>
1947
8962e303
GM
1948 * xfns.c (Qcancel_timer): New variable.
1949 (syms_of_xfns): Initialize and staticpro it.
1950 (Fx_hide_tip, Fx_show_tip): Use it.
1951 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1952 the timer.
1953 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1954
91523be9
GM
1955 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1956
1957 * window.h (WINDOW_LIVE_P): New macro.
1958
b0b7ed0e
GM
1959 * window.c (window_size_fixed): New variable.
1960 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1961 the doc string.
1962
06bccf8e
GM
1963 * eval.c (specbind): If binding a per-buffer variable which
1964 doesn't have a buffer-local value in the current buffer, change
1965 the global value by changing the value of the symbol bound in all
1966 buffers not having their own value, to make it consistent with
1967 what happens with other buffer-local variables.
1968
8692ca92
GM
1969 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1970
1971 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1972 when searching for a newline.
1973
bb3a3b50
KH
19742001-01-18 Kenichi Handa <handa@etl.go.jp>
1975
1976 * xdisp.c (display_string): Fix previous change.
1977
c2cc16fa
JR
19782001-01-18 Jason Rumney <jasonr@gnu.org>
1979
1980 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1981 GLYPH_DEBUG is defined.
1982 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1983 true for images with `:ascent 100'.
1984 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1985 meantime, use face MOUSE_FACE_ID.
1986 If first glyph isn't a character glyph, use the ASCII NUL
1987 character to determine the face.
1988 (expose_area): Do not treat left margin specially.
1989 (note_mode_line_highlight): If no local_map, check global keymap.
1990 (note_mouse_highlight): Initialize overlay.
52283633 1991 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1992 (show_scroll_bars): Remove unused function.
1993 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1994 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1995 Clip to row.
52283633 1996 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1997 (x_free_frame_resources): Unload relief colors.
1998
9c11f79e
GM
19992001-01-17 Gerd Moellmann <gerd@gnu.org>
2000
3aec8722 2001 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2002 get_next_display_element when the newline is already found.
2003 This may change the iterator's position, when its current position is
3aec8722
GM
2004 equal to the iterator's stop_charpos.
2005
f3ffc2c3
GM
2006 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2007 zero, use this method only at the end of a line.
2008
52283633 2009 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2010 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2011 if SCALABLE_FONTS_P is set.
52283633 2012
d26d6fd9
GM
2013 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2014 so that scalable fonts are included.
2015
9c11f79e
GM
2016 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2017 In the cache, use a key containing the information if scalable
2018 fonts are included.
2019 (x_load_font): Adapt to change of keys in the font cache.
2020
20212001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2022
d26d6fd9
GM
2023 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2024 XListFonts to take advantage of font caching.
2025
9c11f79e
GM
2026 * xterm.c (x_list_fonts): Ensure caching font information when
2027 called for a null frame, which is the case frequently when Emacs
2028 starts.
2029
51446987
GM
20302001-01-17 Gerd Moellmann <gerd@gnu.org>
2031
f864120f
GM
2032 * xfns.c (QCconversion): Replaces QCalgorithm.
2033
2034 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2035
2036 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2037 of :algorithm.
52283633 2038
e37d1417
GM
2039 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2040 not everything could be displayed.
2041
51446987
GM
2042 * line.h, x-list-font.c: Files removed because unused.
2043
9ad4f3e5
AI
20442001-01-17 Andrew Innes <andrewi@gnu.org>
2045
2046 * dired.c (directory_files_internal): Convert result from readdir
2047 to a unibyte string initially, to avoid possible misinterpretation
2048 of some bytes as the internal form of Emacs characters.
2049
2eda09b5
KH
20502001-01-17 Kenichi Handa <handa@etl.go.jp>
2051
2052 * fns.c (concat): Be sure to avoid putting the same `composition'
2053 property on the adjacent regions.
2054
826f3788
GM
20552001-01-16 Gerd Moellmann <gerd@gnu.org>
2056
52283633 2057 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2058 (Fscroll_right, Fscroll_left): Set it here instead, if called
2059 interactively.
2060
d57b83b3
GM
2061 * buffer.c (Fset_buffer_modified_p): Set buffer's
2062 prevent_redisplay_optimizations_p flag.
2063
826f3788 2064 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2065 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2066 with additional arg.
2067
2068 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2069 Change prototype.
826f3788 2070
826f3788
GM
2071 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2072 FROM_WHERE, for debugging.
2073
261d788b
KH
20742001-01-16 Kenichi Handa <handa@etl.go.jp>
2075
2076 * ccl.c (Fregister_ccl_program): Handle the return value of
2077 resolve_symbol_ccl_program correctly.
52283633 2078 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2079
bccee4f2
GM
20802001-01-15 Gerd Moellmann <gerd@gnu.org>
2081
e4ded23c
GM
2082 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2083 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2084
2085 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2086 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2087 the display; we didn't open it.
2088
bccee4f2
GM
2089 * dispnew.c (save_or_restore_current_matrices): Function removed.
2090 (save_current_matrix, restore_current_matrix): New functions.
2091 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2092 restore the frame's current matrix. Due to the glyph pointer
2093 setup done in adjust_glyph_matrix, there is no easy way to make
2094 saving the current matrix in the desired matrix generally correct,
2095 so don't try it.
2096
ebeccffa
KH
20972001-01-15 Kenichi Handa <handa@etl.go.jp>
2098
2099 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2100 truncation glyphs.
2101 (display_line): Optimize for wide characters.
e4ded23c 2102 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2103 partially. On ttys, produce more than one truncation glyph for
2104 multi-column characters that don't fit on the line.
2105
64388126
KH
21062001-01-13 Kenichi Handa <handa@etl.go.jp>
2107
52283633
SM
2108 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2109 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2110
8edb0a6f
JR
21112001-01-13 Jason Rumney <jasonr@gnu.org>
2112
2113 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2114 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2115 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2116 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2117
52283633
SM
2118 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2119 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2120 (x_draw_image_glyph_string): Adapt to change of image margins.
2121
2122 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2123 variables.
2124
2125 * w32bdf.c (search_file_line, get_cached_font_char)
2126 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2127
2128 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2129
2130 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2131 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2132 (Fw32_send_sys_command): Remove unused variables.
2133 (w32_msg_pump): Add parentheses.
2134
2135 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2136 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2137 Add parentheses.
2138
4956d1ef
GM
21392001-01-12 Gerd Moellmann <gerd@gnu.org>
2140
b30623be
GM
2141 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2142 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2143 being a pair of margins.
2144 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2145 to DEFVAR_LISP. Extend doc.
2146
2147 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2148 margins.
2149 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2150 pair of integers `(X . Y)', use X for the horizontal and Y for the
2151 vertical margin.
2152 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2153 (parse_image_spec): Check it.
52283633
SM
2154 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2155 (tiff_format, gif_format, gs_format):
2156 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2157
52283633
SM
2158 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2159 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2160 (x_draw_image_glyph_string): Adapt to the change of image margins.
2161
2162 * dispextern.h (struct image): Replace member `margin' with
2163 `hmargin' and `vmargin'.
2164
4554cc79
GM
2165 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2166 and GLYPHS.
2167
2168 * dispnew.c (update_text_area): Put code which decrements the
2169 stop position when the row's face extends to the end of the
3bffc665 2170 line in #if 0.
4554cc79 2171
3cccce8d
GM
2172 * xfns.c (x_set_mouse_color): Fix color allocation.
2173
4956d1ef
GM
2174 * keyboard.c: Call get_local_map with new argument list.
2175
2176 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2177
2178 * intervals.h (enum map_property): Removed.
2179 (get_local_map): Change prototype.
2180
2181 * keymap.c: Call get_local_map with new argument list.
2182 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2183
2c2ff7f2
GM
21842001-01-11 Gerd Moellmann <gerd@gnu.org>
2185
a23887b9
GM
2186 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2187 of the size needed for the tool bar string. For the last image,
2188 use a `display' property that reaches to the end of the string.
2189
a7ee2d2e
GM
2190 * xselect.c (selection_request_dpyinfo): New variable.
2191 (x_handle_selection_request): Set it.
2192 (x_selection_request_lisp_error): Don't call
2193 x_decline_selection_request if selection request's display has
2194 been closed.
2195
52283633
SM
2196 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2197 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2198
457b792c
GM
21992001-01-10 Dave Love <fx@gnu.org>
2200
2201 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2202 ${SOME_MACHINE_LISP}, not ${lisp}.
2203
c1efd260
GM
22042001-01-10 Gerd Moellmann <gerd@gnu.org>
2205
52283633
SM
2206 * xdisp.c (display_line): On ttys, produce more than one truncation
2207 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2208
ac95a621
GM
2209 * xselect.c (x_reply_selection_request): Add a comment.
2210
c1efd260
GM
2211 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2212 XkbGetNames instead of XkbGetKeyboard.
2213
1bfb1345
DL
22142001-01-10 Dave Love <fx@gnu.org>
2215
2216 * sysdep.c (random): Revert the declaration.
2217
38119822
GM
22182001-01-09 Gerd Moellmann <gerd@gnu.org>
2219
52283633
SM
2220 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2221 Call function string_bytes.
35f464a7
GM
2222 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2223
2224 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2225 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2226 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2227 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2228 the current sblock.
2229 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2230 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2231 after sweeping strings, and at the end.
2232 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2233
38119822
GM
2234 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2235 ensure that pop_message is called.
2236
2237 * keyboard.c (Fexecute_extended_command): Use a
2238 record_unwind_protect to ensure that pop_message is called.
2239
2240 * lisp.h (push_message_unwind): Add prototype.
2241
2242 * xdisp.c (push_message_unwind): New function.
2243
2244 * fileio.c (do_auto_save_unwind): Do the pop_message here
2245 instead of in Fdo_auto_save.
2246 (Fdo_auto_save): Don't call pop_message.
2247
f47a9ec4
KR
22482001-01-08 Ken Raeburn <raeburn@gnu.org>
2249
2250 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2251 in inner block.
2252
a758f97d
GM
22532001-01-08 Gerd Moellmann <gerd@gnu.org>
2254
6d0afc03
GM
2255 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2256 when increasing window's vscroll.
2257
a758f97d
GM
2258 * macros.c (Qkbd_macro_termination_hook): New variable.
2259 (syms_of_macros): Initialize and staticpro it.
2260 (pop_kbd_macro): Run kbd-macro-termination-hook.
2261
2262 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2263
1bfb1345 22642001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2265
2266 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2267 arglist, for documentation's sake.
2268
0dac6924
AI
22692001-01-06 Andrew Innes <andrewi@gnu.org>
2270
2271 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2272 of *.pdb.
2273
8182406a
AI
22742001-01-05 Andrew Innes <andrewi@gnu.org>
2275
2276 * term.c (update_end): Don't check updating_frame; for some reason
2277 this can be 0 sometimes, such as after dismissing a popup menu,
2278 and isn't necessary given the explicit frame argument.
2279
3828218c
GM
22802001-01-05 Gerd Moellmann <gerd@gnu.org>
2281
2282 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2283 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2284
2f5ded21
GM
22852001-01-04 Gerd Moellmann <gerd@gnu.org>
2286
52283633 2287 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2288
2289 * xfns.c (x_create_tip_frame): Preserve the value of
2290 face_change_count around the creation of the tip frame.
52283633 2291
2f5ded21
GM
2292 * xfns.c (last_show_tip_args): New variable.
2293 (compute_tip_xy): New function.
2294 (Fx_show_tip): Reuse an existing tip frame, if possible.
2295 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2296
dfad65fa
DL
22972001-01-04 Dave Love <fx@gnu.org>
2298
64d4ec0f
DL
2299 * editfns.c (Fformat): Doc fix.
2300
dfad65fa
DL
2301 * systime.h (set_file_times): Prototype.
2302
2303 * widget.h (EmacsFrameSetCharSize_): Prototype.
2304
2305 * sysdep.c (random, srandom): Declare explicitly.
2306
2307 * dispextern.h (move_it_vertically_backward): Declare.
2308
85fe3b5e
GM
23092001-01-04 Gerd Moellmann <gerd@gnu.org>
2310
0f2ac578
GM
2311 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2312 like in Fx_create_frame.
2313
482cca61
GM
2314 * xfaces.c (set_font_frame_param): Don't do anything for
2315 non-graphical frames.
2316
85fe3b5e
GM
2317 * window.c (Fdelete_other_windows): Set window's window_end_valid
2318 to nil when changing the window's start. Don't change the
2319 window's start when its top position hasn't changed. If we do,
2320 this will set the window's optional_new_start, which act's like a
2321 force_start during redisplay with C-x 1 M-> under particular
2322 circumstances (see report from Per Starback to emacs-pretest-bug
2323 from 2000-12-13.).
2324
3e99d3b4
GM
23252001-01-03 Gerd Moellmann <gerd@gnu.org>
2326
a77dc1ec
GM
2327 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2328 short cut at the start of the function. Add an assertion.
2329 (reseat_at_next_visible_line_start): Add an assertion.
2330
2f3cad6c
GM
2331 * window.c (Frecenter): When changing the window start, set the
2332 window's window_end_valid to nil.
2333 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2334
2335 * dispextern.h (move_it_past_eol): Add prototype.
2336
2337 * xdisp.c (move_it_past_eol): New function.
2338
3e99d3b4
GM
2339 * window.c (Fwindow_end): Doc fix.
2340
23412001-01-03 Dave Love <fx@gnu.org>
2342
52283633 2343 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2344
bafb434c
GM
23452001-01-03 Gerd Moellmann <gerd@gnu.org>
2346
2347 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2348 the enabled_p flag of the glyph row at window_end_vpos to 0.
2349 (handle_single_display_prop): Fix last change.
2350
5297fb00
RS
23512001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2352
2353 * window.c (Frecenter): Doc fix.
2354
13d6a61c
AI
23552001-01-02 Andrew Innes <andrewi@gnu.org>
2356
2357 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2358
2359 * frame.h (output_method): Add output_w32_console method.
2360 (FRAME_W32_CONSOLE_P): New macro.
2361
2362 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2363 use output_w32_console method.
2364 (Qw32_console): New Lisp_Object.
2365 (Fframep): Return it.
2366 (syms_of_frame): Init it.
52283633 2367 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2368
2369 * xfaces.c (realize_default_face): Set face foreground and
2370 background to unspecified for w32_console frames.
2371 (realize_face): Realize face cache for w32_console frames.
2372 (realize_tty_face): Accept w32_console frames.
2373
52283633 2374 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2375 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2376 necessary, even if running interactively.
2377
2378 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2379 w32_console frames.
2380
52283633
SM
2381 * w32term.c (x_update_begin):
2382 (x_update_end):
2383 (x_clear_frame):
2384 (x_ins_del_lines):
2385 (x_change_line_highlight):
2386 (x_delete_glyphs):
2387 (w32_ring_bell):
2388 (x_update_begin):
2389 (x_update_end):
2390 (w32_reassert_line_highlight):
2391 (w32_frame_rehighlight):
13d6a61c
AI
2392 (w32_frame_raise_lower): Do nothing if not w32 frame.
2393
2394 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2395
2396 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2397 system doesn't tell us directly.
2398 (Fx_display_visual_class): Implement properly.
2399
d6bb0c0d
GM
24002001-01-02 Gerd Moellmann <gerd@gnu.org>
2401
2402 * window.c (Frecenter): Handle centering in graphical frames
2403 specially. Centering on the basis of line counts doesn't work
2404 reliably with variable-height lines.
52283633 2405
315f5865
EZ
24062001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2407
2408 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2409 and al[].
2410
52283633 2411 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2412 (update_compositions): Remove unused variable `hook'.
2413
2414 * intervals.c (get_local_map): Remove unused variable `tem'.
2415
2416 * doprnt.c (doprnt1): Remove unused variable `size'.
2417
2418 * fns.c (Flength): Remove unused variable `tail'.
2419 (Fdelete): Remove unused variable `size'.
2420
2421 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2422 and `gcpro2'.
2423
52283633 2424 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2425
2426 * data.c (find_symbol_value): Remove extra 3rd argument in the
2427 call to swap_in_symval_forwarding.
2428
52283633 2429 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2430
2431 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2432 (trivial_regexp_p): Remove unused variable `c'.
2433 (boyer_moore): Remove unused variable `k'.
2434
2435 * indent.c (current_column): Remove unused variable `stopchar'.
2436 (Fcompute_motion): Remove unused variable `contin'.
2437
2438 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2439
2440 * dired.c (directory_files_internal): Fix a typo in a comment.
2441 Remove an unused variable `handler'.
52283633 2442 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2443 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2444 on BSD4_2.
2445
52283633 2446 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2447
2448 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2449 and `buf'.
2450 (Fmarker_insertion_type): Remove unused variable `buf'.
2451
2452 * insdel.c (make_gap): Remove unused variable `result'.
2453
52283633 2454 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2455 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2456 (menu_bar_items): Remove unused function-scope variable `tem'.
2457
2458 * fontset.c (fontset_ref): Remove unused variable `i'.
2459 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2460 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2461 (make_fontset_for_ascii_face): Remove unused variable `name'.
2462 (fs_load_font): Remove unused variable `font_idx'.
52283633 2463 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2464 (list_fontsets): Remove unused variable `tail'.
2465 (Fnew_fontset): Remove unused variables `family' and `registry'.
2466 (accumulate_font_info): Remove unused variable `tmp'.
2467 (Ffontset_font): Remove unused variable `id'.
2468 (syms_of_fontset): Remove unused variable `i'.
2469
2470 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2471 to x_term_init.
2472 (lookup_image): Remove unused variable `file'.
2473 (xbm_load): Remove unused variables `bitmap_data', `height', and
2474 `width'. Remove function-local variable `i', leave the
2475 block-local one.
2476 (gif_load): Remove unused variable `inc'.
2477
52283633 2478 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2479 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2480 leave only the one in the inner block.
2481
2482 * xfaces.c (face_fontset, realize_default_face): Remove unused
2483 variable `fontset'.
2484 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2485
2486 * term.c (encode_terminal_code): Remove unused variable `c'.
2487
2488 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2489 char *' instead of `char *'.
2490
2491 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2492 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2493 (Fchar_category_set): Remove unused variables `val', `charset',
2494 `c1' and `c2'.
2495
52283633
SM
2496 * coding.c (detect_coding_iso2022, setup_coding_system):
2497 Remove unused variable `i'.
315f5865
EZ
2498 (detect_coding_mask): Remove unused variable `idx'.
2499 (detect_coding): Remove unused variable `i'.
2500 (ccl_coding_driver): Remove unused variable `result'.
2501 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2502 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2503 (encode_coding_string): Remove unused variables `gcpro1' and
2504 `saved_coding_symbol'.
2505 (Ffind_coding_systems_region_internal): Remove function-local
2506 variable args[], leave only the block-local one.
2507 (code_convert_region1): Remove unused variable `len'.
2508
2509 * charset.c (char_printable_p): Remove unused variable `chars'.
2510 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2511 (str_to_multibyte): Remove unused variable `c'.
2512
2513 * window.c (size_window): Remove block-local variable `min_size'.
2514
2515 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2516 `header_line_height'.
2517 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2518 enum display_element_type.
2519
1a8a9daf
GM
25202001-01-02 Gerd Moellmann <gerd@gnu.org>
2521
6dde6abc 2522 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2523 statements that call X. Save away the error message in a local copy.
2524
1883b2c6
GM
2525 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2526 the start.
2527
a13be207
GM
2528 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2529 in or at the start of invisible text.
2530
1a8a9daf
GM
2531 * dispnew.c (update_window): Don't check_current_matrix_flags.
2532
3608c0f9
JR
25332001-01-01 Jason Rumney <jasonr@gnu.org>
2534
2535 * w32fns.c (x_figure_window_size): Do not allow new_height and
2536 new_width of frame to override specified values.
2537
abb1acc4
KH
25382000-12-30 Kenichi Handa <handa@etl.go.jp>
2539
52283633 2540 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2541
762a68ec
GM
25422000-12-29 Gerd Moellmann <gerd@gnu.org>
2543
52283633 2544 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2545 (update_window) [GLYPH_DEBUG]: Call it.
2546 (scrolling_window): Prevent including current rows which are below
2547 what's displayed in the window.
2548
2549 * xdisp.c (try_window_reusing_current_matrix)
2550 <new start <= old start>: Disable rows in the current matrix
2551 which are below the window after scrolling.
52283633 2552
762a68ec
GM
2553 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2554 is zero. It's not worth the complexity.
2555 (invisible_text_between_p): Put in #if 0 because unused.
2556
2d5912c1
GM
25572000-12-28 Gerd Moellmann <gerd@gnu.org>
2558
46f6a258
GM
2559 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2560 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2561
89f93679
GM
2562 * keyboard.c (echo_char): If C is an integer, always call
2563 push_key_description. Former code could signal an invalid
2564 character error.
2565
2566 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2567 If set, print multibyte text.
2568 (Fsingle_key_description): Call push_key_description with
2569 FORCE_MULTIBYTE set.
2570 (describe_buffer_bindings): Likewise.
2571
2572 * lisp.h (push_key_description): Add prototype.
2573
c06017fb
GM
2574 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2575 around the call to redisplay_internal.
2576
f1d2ce7f
GM
2577 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2578
2d5912c1
GM
2579 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2580
9371f831
KH
25812000-12-28 Kenichi Handa <handa@etl.go.jp>
2582
2583 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2584 (ccl_driver): New local variable `extra_bytes'.
2585
2586 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2587
52283633
SM
2588 * coding.c (setup_coding_system):
2589 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2590 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2591
0c80628a
KH
25922000-12-28 Kenichi Handa <handa@etl.go.jp>
2593
2594 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2595 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2596 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2597 (decode_composition_emacs_mule): New function.
2598 (decode_coding_emacs_mule): Decode composition sequence by calling
2599 decode_composition_emacs_mule.
2600 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2601 (encode_coding_emacs_mule): Changed from macro to function.
2602 If a text contains compositions, encode them correctly.
0c80628a
KH
2603 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2604 that decoding and encoding are required.
2605
3e32cc27
GM
26062000-12-27 Gerd Moellmann <gerd@gnu.org>
2607
5e25feee
GM
2608 * xfaces.c (PT_PER_INCH): New macro.
2609 (xlfd_point_size): Compute real point size from font's pixel size.
2610 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2611 instead of 72.
2612
892d8fcd
GM
2613 * .gdbinit: Comment out the line pointing to the Lesstif source
2614 directory.
2615
12c8b416
GM
2616 * window.c (Frecenter): Use displayed_window_lines instead
2617 of window_internal_height.
2618
6061fbf0
GM
2619 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2620 instead of x-toolkit-scroll-bars-p.
2621 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2622
2623 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2624 instead of x-toolkit-scroll-bars-p.
2625 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2626
3e32cc27
GM
2627 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2628 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2629 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2630 New variables.
2631 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2632 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2633 (build_frame_matrix_from_leaf_window): Remove unused code.
2634 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2635 redisplay history.
2636 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2637 (update_window) [GLYPH_DEBUG]: Likewise.
2638 (syms_of_display): Defsubr dump-redisplay-history.
2639
31798cfe
GM
26402000-12-23 Gerd Moellmann <gerd@gnu.org>
2641
f717c2ba
GM
2642 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2643 the end of the prompt. Set echo_after_prompt to the offset
2644 of echoptr in echobuf.
2645
aeb2b8fc
GM
2646 * xdisp.c (init_from_display_pos): Pop until the iterator's
2647 stack is empty; there may be frames for stretch or images
2648 on the stack.
2649
31798cfe
GM
2650 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2651 (save_or_restore_current_matrix): New function for the same
2652 purpose, but more efficient.
2653 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2654
f8156156
EZ
26552000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2656
2657 * xdisp.c (syms_of_xdisp): Fix last change.
2658
bdd6d4e8
GM
26592000-12-23 Gerd Moellmann <gerd@gnu.org>
2660
2661 * xdisp.c (syms_of_xdisp): Doc fix.
2662
2663 * xdisp.c (redisplay_window): Remove label restore_buffers;
2664 use finish_scroll_bars instead to make sure that scroll bars
2665 are redeemed. If we don't do this, flickering can result from
2666 scroll bars being destroyed and recreated.
2667
9436cdf9
JR
26682000-12-22 Jason Rumney <jasonr@gnu.org>
2669
2670 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2671 in the wrong colors when the foreground is not black.
2672 (expose_window): Don't redraw the window that's currently being
2673 updated.
2674
951f9df5
GM
26752000-12-22 Gerd Moellmann <gerd@gnu.org>
2676
856ff7a7
GM
2677 * window.c (size_window): When setting the window's too_small_ok
2678 flag, compare old size with minimum size depending on WIDTH_P,
2679 don't compare with window_min_width.
52283633 2680
951f9df5
GM
2681 * window.c (delete_window): Simplify somewhat.
2682 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2683 freeing window matrices. The flag windows_or_buffers_changed is
2684 set, so the next redisplay will consider all windows; this should
2685 suffice.
2686
886bc933
KH
26872000-12-22 Kenichi Handa <handa@etl.go.jp>
2688
2689 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2690
2691 * ccl.h (struct ccl_program): New member cr_consumed.
2692
2693 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2694 (CCL_READ_CHAR): Handle EOL conversion here.
2695 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2696
177f4e88
GM
26972000-12-21 Gerd Moellmann <gerd@gnu.org>
2698
52283633 2699 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2700
2701 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2702 otherwise tabs of different size compare equal.
2703
2704 * callint.c (Fcall_interactively): Prevent a compiler warning.
2705
2706 * print.c (print_unwind): Return nil.
2707 (PRINTDECLARE): Initialize all local variables.
2708 (print_preprocess): Add a default case.
2709
8e15274f
GM
2710 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2711
2712 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2713
52283633 2714 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2715 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2716
2717 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2718
2719 * dispnew.c (ensure_frame_matrix): Removed.
2720 (save_frame_matrix, restore_frame_matrix): New functions.
2721 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2722
2723 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2724 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2725
99012074
AI
27262000-12-21 Andrew Innes <andrewi@gnu.org>
2727
2728 * w32term.c (x_update_begin): Regenerate the palette here, rather
2729 than for each window.
2730
2731 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2732 palette is NULL, since this corrupts memory! Also get
2733 display_info reference from frame.
2734
29ef7d2d
JR
27352000-12-21 Jason Rumney <jasonr@gnu.org>
2736
2737 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2738
2739 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2740 to avoid returning without releasing it.
3e27fa1f 2741
3f9d67a6
KH
27422000-12-21 Kenichi Handa <handa@etl.go.jp>
2743
587fc3f9
KH
2744 * keymap.c (push_key_description): Don't convert eight-bit-control
2745 and eight-bit-graphic to multibyte character.
2746
3f9d67a6
KH
2747 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2748 generic character and CODE1 is nil, return the smallest character
2749 in CHARSET.
2750
774ba8c9
DL
27512000-12-20 Dave Love <fx@gnu.org>
2752
2753 * s/osf5-0.h (NSIG): Don't redefine.
2754
88416888
SM
27552000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2756
2757 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2758 excluding menu-bar and tool-bar.
2759 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2760 (menu_item_p): Remove.
2761 (where_is_internal_1): Don't ignore menu-items.
2762
a6426c6f
GM
27632000-12-20 Gerd Moellmann <gerd@gnu.org>
2764
03ff8aab
GM
2765 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2766 into account.
2767
2768 * window.c (make_window): Initialize window's min_hscroll.
2769 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2770 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2771 to zero.
2772 (struct saved_window): New member min_hscroll.
2773 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2774 (Fset_window_configuration): Set window's min_hscroll.
2775 (save_window_save): Save window's min_hscroll.
2776 (compare_window_configurations): Compare min_hscroll values.
2777
2778 * window.h (struct window): New member min_hscroll.
2779
2780 * keyboard.c (echo_prompt): Prevent a compiler warning.
2781
8de4aaf8
GM
2782 * xdisp.c (try_cursor_movement): Fix last change. The real
2783 condition is that PT is at the end of the row, and should
2784 be displayed at the start of the next row.
52283633 2785
3f7e3031
GM
2786 * xdisp.c (try_cursor_movement): If we end on a partially
2787 visible line, end we already decided to scroll, return -1.
2788
a6426c6f
GM
2789 * dispextern.h (ensure_frame_matrix): Add prototype.
2790
2791 * window.c (delete_window, Fsplit_window)
2792 (Fset_window_configuration): Call ensure_frame_matrix.
2793
52283633
SM
2794 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2795 New functions.
a6426c6f
GM
2796 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2797 completed, call fake_current_matrices instead of marking frame
2798 garbaged.
2799
57fa2774
JR
28002000-12-20 Jason Rumney <jasonr@gnu.org>
2801
2802 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2803
d925df90
EZ
28042000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2805
2806 * fns.c (Frequire): Doc fix.
2807
7b93a85b
GM
28082000-12-19 Gerd Moellmann <gerd@gnu.org>
2809
52283633 2810 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2811
c74e645b
GM
2812 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2813 currently displaying a message.
2814
7b93a85b
GM
2815 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2816 xterm.h.
2817 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2818
90d97e64
AI
28192000-12-18 Andrew Innes <andrewi@gnu.org>
2820
2821 * w32.c (w32_strerror): New function.
2822
2823 * w32.h (w32_strerror): New extern.
2824
2825 * w32fns.c (Fw32_shell_execute): Use it.
2826
91c9e6ce
GM
28272000-12-18 Gerd Moellmann <gerd@gnu.org>
2828
2829 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2830
6f4745e2
EZ
28312000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2832
2833 * msdos.c (IT_set_face): Obey inverse_video.
2834
c9e088ce
KH
28352000-12-18 Kenichi Handa <handa@etl.go.jp>
2836
2837 * dired.c (directory_files_internal): Always return decoded filenames.
2838
c3695f5f
GM
28392000-12-18 Gerd Moellmann <gerd@gnu.org>
2840
52d8e4ff
GM
2841 * xterm.c (x_connection_closed): Prevent being called recursively
2842 because of an error condition in XtCloseDisplay.
52283633 2843
62be9979
GM
2844 * xdisp.c (init_iterator): If noninteractive, and the frame's
2845 face cache is null, make one.
2846
52283633 2847 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2848
c3695f5f
GM
2849 * process.c (wait_reading_process_input): Check for pending
2850 input when running timers.
2851
78555fbe
EZ
28522000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2853
52283633 2854 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2855
b2b36264
KH
28562000-12-18 Kenichi Handa <handa@etl.go.jp>
2857
2858 * process.c (read_process_output): Don't run a filter if the code
2859 decoder produces nothing but carryover.
2860
9c543fbf
AI
28612000-12-17 Andrew Innes <andrewi@gnu.org>
2862
2863 * w32.c (sys_rename): Only check errno against EEXIST, and not
2864 EACCES, when determining whether rename failed because the target
2865 exists. This was resulting in indefinite looping on Windows 9x if
2866 the source file was locked by another process.
2867
2868 * w32fns.c (Ffile_system_info): New function.
2869 (syms_of_w32fns): Defsubr it.
2870
10c2b5a8
GM
28712000-12-17 Gerd Moellmann <gerd@gnu.org>
2872
b0228ace
GM
2873 * window.c (coordinates_in_window): Fix computation for
2874 position on vertical line between mode lines.
2875
10c2b5a8
GM
2876 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2877 Don't alter tip_frame or tip_window.
2878 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2879 was deleted.
2880
c844a81a
GM
2881 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2882 Don't alter tip_frame or tip_window.
2883 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2884 was deleted.
2885
6c825f8e
EZ
28862000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2887
2888 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2889 be consistent with the doc string. Reported by NAKAJIMA Mikio
2890 <minakaji@osaka.email.ne.jp>.
2891
af4bb4c8
KH
28922000-12-16 Kenichi Handa <handa@etl.go.jp>
2893
2894 * xfaces.c (Vface_ignored_fonts): New variable.
2895 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2896 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2897
8062e53a
GM
28982000-12-15 Gerd Moellmann <gerd@gnu.org>
2899
e87b8809
GM
2900 * dispnew.c (update_window): Detect pending input every nth line
2901 updated, i.e. do it depending on real work done, and not on the
2902 vpos of the line.
2903
2904 * xterm.c (expose_window): Don't redraw the window that's
2905 currently being updated.
2906
a6768cc5
GM
2907 * window.c (Fset_window_point): Remove test for
2908 cursor_in_non_selected_windows.
2909
4ea7fdca
GM
2910 * lread.c (read1): Recognize end of file after `\\'.
2911
8062e53a
GM
2912 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2913 not unwind_create_frame.
2914
bb7959c1
GM
29152000-12-15 Dave Love <fx@gnu.org>
2916
2917 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2918 bcopy & al.
2919
2920 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2921
ced04c42
KH
29222000-12-15 Kenichi Handa <handa@etl.go.jp>
2923
c5443913
KH
2924 * coding.c (setup_coding_system): Clear all members of the struct
2925 coding_system at first.
bc137305
KH
2926 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2927 argument.
2928 (code_convert_region): Don't override coding->src_multibyte and
2929 coding->dst_multibyte.
c5443913 2930
ced04c42
KH
2931 * fns.c (Fmd5): Docstring improved.
2932
c2d7f289
MB
29332000-12-15 Miles Bader <miles@gnu.org>
2934
2935 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2936 are actually marked as mode-lines; otherwise use
2937 estimate_mode_line_height.
2938
9d7d9263
GM
29392000-12-14 Gerd Moellmann <gerd@gnu.org>
2940
2941 * editfns.c (Fformat): Prevent a buffer overrun when the format
2942 specifies a precision.
2943
7cf0153a
EZ
29442000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2945
2946 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2947 argument is outside the range [2..3].
2948
1de0f662
AI
29492000-12-14 Andrew Innes <andrewi@gnu.org>
2950
2951 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2952 nothing to do. Bind inhibit-quit.
2953 (tip_frame): Make it a Lisp_Object.
2954 (x_create_tip_frame): Set tip_frame after it has been added to
2955 Vframe_list.
2956 (Fx_show_tip): Don't set tip_frame here.
52283633 2957 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2958 (unwind_create_frame, unwind_create_tip_frame): New functions.
2959 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2960 while a frame is only partially constructed.
2961
2962 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2963 (x_free_frame_resources): New function.
2964 (x_destroy_window): Use it.
2965
02387dcc
GM
29662000-12-14 Gerd Moellmann <gerd@gnu.org>
2967
2968 * xfns.c (Fx_backspace_delete_keys_p): New function.
2969 (syms_of_xfns): Defsubr it.
2970
2971 * config.in (HAVE_XKBGETKEYBOARD): Add.
2972
0544ef49
KH
29732000-12-14 Kenichi Handa <handa@etl.go.jp>
2974
98d62747
KH
2975 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2976 Always store string in multibyte representation in echobuf.
2977 (echo_char): Always store string in multibyte representation in
2978 echobuf.
2979 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2980 (read_key_sequence): Adjusted for the change of echo_prompt.
2981
a20193cd
KH
2982 * fns.c (Fmd5): Docstring improved.
2983
191b83b6
KH
2984 * lisp.h (detect_coding_system): Prototype adjusted.
2985
0544ef49
KH
2986 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2987 (detect_coding_emacs_mule, detect_coding_iso2022,)
2988 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2989 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2990 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2991 (detect_coding_mask, detect_coding_system): New argument
2992 MULTIBYTEP. Callers changed.
1da1bb05
KH
2993 (decode_coding_string): Set coding->src_multibyte and
2994 coding->dst_multibyte before calling detect_coding and detect_eol.
2995 Update them after some coding system is detected.
52283633 2996
d5b3eb1b
SM
29972000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2998
2999 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3000
3001 * keyboard.c (menu_bar_items, tool_bar_items):
3002 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3003
f7f8bb69
GM
30042000-12-13 Gerd Moellmann <gerd@gnu.org>
3005
52283633 3006 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3007 New variables.
3008 (unwind_create_frame, unwind_create_tip_frame): New functions.
3009 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3010 while a frame is only partially constructed.
3011
3012 * xterm.h (x_free_frame_resources): Declare.
3013
3014 * xterm.c (x_free_frame_resources): New function.
3015 (x_destroy_window): Use it.
3016
e10da507
GM
3017 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3018 don't interrupt the update for pending input initially, i.e.
3019 update at least some lines.
3020
3021 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3022
d5b3eb1b 3023 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3024
3025 * xfns.c (gray_bitmap_bits): Declare `char *'.
3026
90aa2856
GM
30272000-12-12 Gerd Moellmann <gerd@gnu.org>
3028
3029 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3030 lines start with a relief line.
3031
a308c9cd
DL
30322000-12-12 Dave Love <fx@gnu.org>
3033
3034 * window.c (Fdisplay_buffer): Doc fix.
3035 (Fwindow_list): Remove unused var.
3036
3037 * buffer.h (mmap_set_vars): Declare.
3038
3039 * window.h (Fset_window_point): Declare.
3040
d575011f
EZ
30412000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3042
bf6282d2 3043 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3044 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3045 variable `area'. When looking for a row under (X,Y), give up if some
3046 of the previous rows is not enabled.
d575011f 3047
ecf4d726
GM
30482000-12-12 Gerd Moellmann <gerd@gnu.org>
3049
2ebf6139
GM
3050 * window.c (Fset_window_point): If displaying cursors in windows
3051 other than the selected window, make sure redisplay updates
3052 other windows to show the new value of point in the window.
3053
3054 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3055
bfdb75ee
GM
3056 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3057 the buffer is the sole visible buffer when in the mini-buffer.
3058
52283633 3059 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3060 Bind `inhibit-read-only' to t.
3061 (unwind_with_echo_area_buffer): Use AREF.
3062
c0006262
GM
3063 * xfns.c (Fx_hide_tip): Simplified.
3064
52283633
SM
3065 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3066 instead of `1'.
e9a59cad 3067
ecf4d726
GM
3068 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3069
e5959a9a
GM
30702000-12-11 Gerd Moellmann <gerd@gnu.org>
3071
a3642e49 3072 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3073
44b5a125
GM
3074 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3075 nothing to do. Bind inhibit-quit.
3076 (tip_frame): Make it a Lisp_Object.
3077 (x_create_tip_frame): Set tip_frame after it has been added to
3078 Vframe_list.
3079 (Fx_show_tip): Don't set tip_frame here.
3080
3081 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3082
3083 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3084 Lisp_Object.
3085
3086 * dispextern.h: Change external declaration of tip_frame.
3087
d990421f
GM
3088 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3089 return an empty string.
3090
4db87380
GM
3091 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3092 of the window's update_mode_line flag, since the former is set by
3093 force-mode-line-update, not the latter. This makes
3094 column-number-mode slightly faster.
52283633 3095
e5959a9a
GM
3096 * xdisp.c (try_window_id) <all changes above window start>:
3097 Set the cursor.
3098
169fe44e
GM
30992000-12-11 Paul Eggert <eggert@twinsun.com>
3100
3101 * config.in (HAVE_FTELLO): Remove.
3102 (HAVE_FSEEKO): Add.
3103 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3104 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3105 HAVE_FTELLO.
3106 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3107 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3108
59ec59ae
MB
31092000-12-11 Miles Bader <miles@gnu.org>
3110
3111 * window.c (displayed_window_lines): Don't round up when
3112 converting empty space at bottom to lines.
ff904dd6
MB
3113 Handle non-newline-terminated final lines properly.
3114 (Fwindow_text_height): New function (used to be in lisp).
3115 (syms_of_window): Initialize it.
59ec59ae 3116
42ebfa31
SM
31172000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3118
3119 * syntax.c (scan_lists): Check that the right quote char has the
3120 right Sstring syntax when jumping over strings.
3121 (init_syntax_once): Use Smax rather than 13.
3122
5cdb3cf3
MB
31232000-12-09 Miles Bader <miles@gnu.org>
3124
3125 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3126 with PARTIALLY, inverting the sense.
3127 (window_scroll_pixel_based): Scroll partially visible lines into
3128 place if we hit the beginning or end of the buffer.
a12167c5
MB
3129 (displayed_window_lines): Don't include partially visible lines.
3130 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3131
842b2a94
GM
31322000-12-08 Gerd Moellmann <gerd@gnu.org>
3133
3134 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3135
3136 * tparam.c (tparam1): Change the way buffers are reallocated to be
3137 portable and less obfuscated.
3138
3139 * termcap.c (tgetent): Change the way buffers are reallocated to
3140 be portable and less obfuscated.
3141
3142 * macros.c (store_kbd_macro_char): Change the way buffers are
3143 reallocated to be portable and less obfuscated.
3144
3145 * lread.c (read1): Change the way buffers are reallocated to be
3146 portable and less obfuscated.
3147
3148 * doc.c (Fsubstitute_command_keys): Change the way buffers
3149 are reallocated so that it is portable.
3150
137cad7c
EZ
31512000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3152
3153 * dosfns.c (Ffile_system_info): New function.
3154 (syms_of_dosfns): Defsubr it.
3155
5c7f629c
SM
31562000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3157
3158 * alloc.c (gc_sweep): Add comment.
3159
959e647d
GM
31602000-12-07 Gerd Moellmann <gerd@gnu.org>
3161
52283633
SM
3162 * sound.c (vox_configure): Change order of ioctls.
3163 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3164 Ignore errors when changing volume.
3165 (vox_close): Don't reset the device.
3166
926b7e5e
GM
3167 * process.c (read_process_output): Make sure the process marker's
3168 position is valid when the process buffer is changed in
3169 after-change functions. W3 does that.
52283633 3170
959e647d
GM
3171 * xfns.c (x_free_gcs): New function.
3172
3173 * xterm.h (x_free_gcs): Add prototype.
3174
3175 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3176 freeing GCs here.
3177
3178 * xterm.c (x_destroy_window): Call x_free_gcs so that
3179 resources of non-toolkit X windows will be freed.
3180
478ea067
AI
31812000-12-07 Andrew Innes <andrewi@gnu.org>
3182
3183 * w32fns.c (xlfd_charset_of_font): Fix last change.
3184
fbee3231
DL
31852000-12-06 Dave Love <fx@gnu.org>
3186
67292061
DL
3187 * md5.h (__P): Don't define -- it comes from config.h.
3188
fbee3231
DL
3189 * strftime.c: Change some #if foo to #ifdef foo.
3190
4ee87dbb
AI
31912000-12-06 Andrew Innes <andrewi@gnu.org>
3192
3193 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3194
52283633 3195 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3196 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3197 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3198
9765b4a4
GM
31992000-12-06 Gerd Moellmann <gerd@gnu.org>
3200
d285b373
GM
3201 * alloc.c (gc_sweep): Prevent symbols read during loadup
3202 from being freed.
3203
384333ee
GM
3204 * xdisp.c (underlying_face_id): New function.
3205 (handle_face_prop, face_before_or_after_it_pos): Use it
3206 to determine the face ``under'' a string. Let strings inherit
3207 the face of the buffer under them.
3208
3209 * xfaces.c (face_at_string_position): Update function comment.
52283633 3210
d4b72d58
GM
3211 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3212 matrix if the window's left position has changed; we need to
3213 redraw it in this case.
3214
3215 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3216
e1d05387
GM
3217 * window.c (coordinates_in_window): Check mouse on mode-line or
3218 header-line first.
3219
eb1b0c74
GM
3220 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3221 advertized by the function documentation.
3222
d94d636f
GM
3223 * window.c (syms_of_window): Doc fix.
3224
3887b449
GM
3225 * sound.c (vox_configure): Set volume for left and right channel.
3226 (sound_cleanup): Return nil.
3227
efc8f57a
GM
3228 * xdisp.c (move_it_by_lines): Fix paren typo.
3229
9765b4a4
GM
3230 * xterm.c (x_load_font): Don't use the font's max_bounds for
3231 computing the height of the font. If max_bounds' ascent or
3232 descent are greater than the font's ascent or descent, this means
3233 glyphs overlap, which should be handled now by redisplay.
3234
6529ed87
GM
3235 * window.c (Veven_window_heights): New variable.
3236 (syms_of_window): DEFVAR_LISP it.
3237 (Fdisplay_buffer): Check Veven_window_heights before evening the
3238 window heights.
52283633 3239
0eb2ecde
MB
32402000-12-06 Miles Bader <miles@gnu.org>
3241
3242 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3243 update `default-frame-alist' instead of setting no frame parameters.
3244
03d7a167
KH
32452000-12-06 Kenichi Handa <handa@etl.go.jp>
3246
3247 * composite.c (update_compositions): Fix typo (use the correct
3248 variable).
3249
5f8803c2
JR
32502000-12-05 Jason Rumney <jasonr@gnu.org>
3251
3252 * md5.h: Remove underscores from function declarations.
3253 (__attribute__, __alignof__) [!__GNUC__]: Define.
3254
3255 * md5.c: Delay include of md5.h until after namespace cleaning.
3256
c28a075b
JR
3257 * makefile.w32-in (fns.o): Depend on md5.h
3258 (md5.o): New target.
3259 (sunfns.o): Remove.
3260
3261 * makefile.nt: Likewise.
3262
ff3c7056
JR
32632000-12-05 Jason Rumney <jasonr@altavista.net>
3264
3265 * w32term.c (expose_area): Complete last change.
3266
0c21eeeb
KR
32672000-12-05 Ken Raeburn <raeburn@gnu.org>
3268
3269 * minibuf.c: Include intervals.h.
3270
f201d732
JR
32712000-12-05 Jason Rumney <jasonr@gnu.org>
3272
3273 * w32term.c (x_produce_glyphs): If a font for a component of
3274 a composition is not found, use 1 pixel dot ascent and 0 dot
3275 descent value to avoid displaying terribly tall empty boxes.
3276 (expose_area): Pass x-coordinate relative to the exposed
3277 area to x_draw_glyphs instead of a window-relative coordinate.
3278
21999ab9
GM
32792000-12-05 Gerd Moellmann <gerd@gnu.org>
3280
4d2036e4
GM
3281 * xdisp.c (next_element_from_ellipsis): Save face before selective
3282 display in saved_face_id, and set face_before_selective_p.
3283 (reseat_1): Reset face_before_selective_p.
3284 (append_space, extend_face_to_end_of_line): If iterator's
3285 face_before_selective_p is set, use the face from saved_face_id.
3286 (extend_face_to_end_of_line): For tty frames, make sure to
3287 use the right face id when producing spaces at the end of
3288 the line.
3289
3290 * dispextern.h (struct it): Add face_before_selective_p.
3291
52be17cc
GM
3292 * keyboard.c (record_char): Don't record identical help-echo
3293 events in recent_keys.
3294
8a4f36cc
GM
3295 * xterm.c [USE_X_TOOLKIT]: Close the display.
3296 (xim_close_dpy): Handle case that the display has been closed.
3297
57d6e381
GM
3298 * xterm.c (x_destroy_window): Reset the frame's X window after
3299 destroying it.
3300
21999ab9
GM
3301 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3302 variable window_width.
3303 (line_draw_cost): Fix code skipping over spaces at the end of the
3304 line when must_write_spaces is not set.
3305 (scrolling_window): Fix code inserting runs in list of all runs.
3306
91372bb7
KH
33072000-12-05 Kenichi Handa <handa@etl.go.jp>
3308
3309 * coding.c (setup_coding_system): Be sure to initialize
3310 coding->category_idx.
3311
6c083b4c
GM
33122000-12-04 Gerd Moellmann <gerd@gnu.org>
3313
0c68ce6f 3314 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3315
6452929e
GM
3316 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3317 area to x_draw_glyphs instead of a window-relative coordinate.
3318
d7f31e22
GM
3319 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3320 error in the message.
3321
ae18aa3b
GM
3322 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3323 timer after having read a key. It's not good for code reading
3324 several keys in a loop, like an input method.
3325
caa15ef7
GM
3326 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3327 record undo information for format-decode.
3328
3329 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3330 current buffer is read-only, not if it isn't.
3331
6c083b4c
GM
3332 * keyboard.c (record_char): Record `help-echo' input events
3333 in recent_keys only if they display some help. Don't record
3334 `help-echo' events as macro char.
3335
caa15ef7
GM
33362000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3337
3338 * editfns.c (save_excursion_restore): Don't move point
3339 in another window if it is showing the wrong buffer.
3340 Avoid the call to Fwindow_live_p, for speed.
3341
5a13529b
KH
33422000-12-04 Kenichi Handa <handa@etl.go.jp>
3343
e225faa7
KH
3344 * xfaces.c (struct font_name): New member registry_priority.
3345 (split_font_name): Initialize the above member to zero.
3346 (concat_font_list): New function.
3347 (font_list): Include fonts of all alternative registries.
3348 (FONT_POINT_SIZE_QUANTUM): New macro.
3349 (better_font_p): Ignore point size difference less than
3350 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3351
e89648b4
KH
3352 * xterm.c (x_produce_glyphs): If a font for a component of
3353 a composition is not found, use 1 pixel dot ascent and 0 dot
3354 descent value to avoid displaying terribly tall empty boxes.
3355
5a13529b
KH
3356 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3357
d7935eb6
KR
33582000-12-03 Ken Raeburn <raeburn@gnu.org>
3359
3360 * coding.h (code_convert_string1): Declare.
3361
3362 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3363
52283633 3364 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3365
0dd5e255
JR
33662000-12-02 Jason Rumney <jasonr@gnu.org>
3367
3368 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3369 correctly for single byte character case.
3370 (w32_per_char_metric): Do not try to make any assumptions about
3371 the metrics of BDF fonts.
250cfece 3372 (x_estimate_mode_line_height): If `mode-line' face
52283633 3373 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3374 (note_mouse_highlight): Change the cursor shape on the vertical
3375 border between windows [not enabled].
3376
3377 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3378
3379 * w32fns.c (Fx_create_frame): Reintroduce the call to
3380 face-set-after-frame-defaults.
3381 (Vx_window_horizontal_drag_shape): New variable.
3382 (syms_of_xfns): DEFVAR_LISP it.
3383 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3384 enabled].
0dd5e255 3385
b5d8d2ca
GM
33862000-12-02 Simon Josefsson <simon@josefsson.org>
3387
3388 * fns.c (Fmd5): Use a different logic to decide the coding system
3389 to use.
3390
3391 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3392
fbb87147
EZ
33932000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3394
52283633 3395 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3396
447e9da0
GM
33972000-12-01 Gerd Moellmann <gerd@gnu.org>
3398
7708ced0
GM
3399 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3400 height for YNegative.
3401 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3402 height; also see comment there.
3403
447e9da0
GM
3404 * window.c (coordinates_in_window): Handle computations for
3405 positions on the vertical bar and fringes differently for
3406 window-system frames. Consider some pixels near the vertical bar
3407 as on the bar if the frame doesn't have vertical scroll bars.
3408 Associate positions between mode or header lines with the
3409 right window, the left one.
3410
86d1db20
JR
34112000-12-01 Jason Rumney <jasonr@gnu.org>
3412
3413 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3414
3415 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3416 invalid frame.
3417
a1d58e5b
GM
34182000-12-01 Gerd Moellmann <gerd@gnu.org>
3419
52283633 3420 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3421 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3422 (save_window_save, Fset_window_configuration): Save/restore
3423 window's orig_top and orig_height.
3424
89c609af
JR
34252000-12-01 Jason Rumney <jasonr@gnu.org>
3426
4d177746 3427 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3428
89c609af
JR
3429 * w32fns.c (x_set_cursor_color): Fix last change.
3430
eccc05db
GM
34312000-11-30 Gerd Moellmann <gerd@gnu.org>
3432
31b6671b
GM
3433 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3434 sure that the next redisplay displays the minibuffer, so that
3435 the cursor will be replaced with what the minibuffer wants.
3436
eccc05db
GM
3437 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3438 #ifndef instead of using #if.
3439 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3440 USE_TOOLKIT_SCROLL_BARS is defined.
3441
162de750
JR
34422000-11-30 Jason Rumney <jasonr@gnu.org>
3443
3444 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3445 x_display_cursor.
3446
693c4692
GM
34472000-11-30 Gerd Moellmann <gerd@gnu.org>
3448
3449 * fns.c (Fmd5): Doc fix.
3450
b5d8d2ca 34512000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3452
3453 * fns.c (Fmd5): New function.
3454 (syms_of_fns): Defsubr md5.
3455
3456 * Makefile.in (obj): Add md5.o
3457
b02cd40b
GM
34582000-11-30 Gerd Moellmann <gerd@gnu.org>
3459
edfb795e
GM
3460 * md5.h, md5.c: New files, taken from glibc.
3461
df3aedcf
GM
3462 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3463
b02cd40b 3464 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3465 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3466
8b5176cd
SM
34672000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3468
3469 * eval.c (Frun_hooks): Allow 0 arguments.
3470
346598f1
GM
34712000-11-29 Gerd Moellmann <gerd@gnu.org>
3472
f9396e03
GM
3473 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3474 is over the menu bar widget, say it's not on the frame.
3475
4a967a9b
GM
3476 * xfns.c (Fx_create_frame): Reintroduce the call to
3477 face-set-after-frame-defaults.
3478
346598f1
GM
3479 * eval.c (Fsignal): Reset handling_signal.
3480
222456a1
JR
34812000-11-28 Jason Rumney <jasonr@gnu.org>
3482
3483 * w32menu.c (add_menu_item): Reset menu item text when changing
3484 type to radio button.
3485
8049ddc0
GM
34862000-11-28 Gerd Moellmann <gerd@gnu.org>
3487
346598f1 3488 * xselect.c: Update copyright.
f4f4ee4d 3489
bebe4a2c
GM
3490 * window.c (coordinates_in_window): If on a mode or header line,
3491 but sufficiently close to its start, return ``on vertical
3492 border''. This gives us a way to drag windows horizontally when
3493 using toolkit scroll bars.
3494
3495 * xterm.c (note_mouse_highlight): Change the cursor shape
3496 on the vertical border between windows.
3497
3498 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3499
3500 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3501 (syms_of_xfns): DEFVAR_LISP it.
3502 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3503
8d2c2642
GM
3504 * textprop.c (text_read_only): New function.
3505 (verify_interval_modification): Use it instead of signaling
3506 `text-read-only'. This makes it easier to catch this error
52283633 3507 with a breakpoint.:
8d2c2642 3508
52283633 3509 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3510 not end of line, which includes CR.
3511
5a2bae6c
KH
35122000-11-28 Kenichi Handa <handa@etl.go.jp>
3513
3514 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3515 include no-conversion.
3516
ae31f84d
JR
35172000-11-27 Jason Rumney <jasonr@gnu.org>
3518
3519 * w32fns.c (w32_load_system_font): Always mark font as double byte
3520 if codepage is unicode.
3521
67f1cf4c
GM
35222000-11-27 Gerd Moellmann <gerd@gnu.org>
3523
4a74d071 3524 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3525 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3526
902ae620
GM
3527 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3528 `vertical-line', `mode-line' and `header-line' events.
3529
3530 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3531 of a character, a TAB for instance. This is easier than to set
3532 up the iterator exactly, and it's not a frequent case, so the
3533 additional effort wouldn't really pay off.
3534
c1e279c2
AC
35352000-11-26 Andrew Choi <akochoi@i-cable.com>
3536
67f1cf4c 3537 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3538 init_window_once.
3539
a609568a
JR
35402000-11-25 Jason Rumney <jasonr@gnu.org>
3541
52283633
SM
3542 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3543 Args to window_from_coordinates should be pixel coordinates.
48b21762 3544
a609568a
JR
3545 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3546 redisplay handles them properly.
3547
a658d039
MB
35482000-11-25 Miles Bader <miles@gnu.org>
3549
3550 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3551
d3416cca
JR
35522000-11-24 Jason Rumney <jasonr@gnu.org>
3553
3554 * w32.c (init_environment): Set LANG environment variable based on
3555 locale settings, if not set.
3556
3557 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3558 making tool bar smaller. When clearing the frame, also
3559 clear current matrices. Clear frame when tool bar disappears.
3560 Don't use more lines for the tool-bar than is available.
3561 (x_change_window_heights): New function.
3562
ba193890
GM
35632000-11-24 Gerd Moellmann <gerd@gnu.org>
3564
2be8f184
GM
3565 * xdisp.c (init_from_display_pos): If POS says we're already after
3566 an overlay string ending at POS, make sure to pop the iterator
3567 because it will be in front of that overlay string. When POS is
3568 ZV, we've thereby also ``processed'' overlay strings at ZV.
3569
ba193890
GM
3570 * xfaces.c (lface_from_face_name): Function comment fix.
3571
1862a24e
MB
35722000-11-24 Miles Bader <miles@gnu.org>
3573
3574 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3575 apply `mode-line-inverse-video' -- zero means force display using
3576 the default face, non-zero means display using the specialized face.
3577 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3578
f07fa1b8
KH
35792000-11-23 Kenichi Handa <handa@etl.go.jp>
3580
3581 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3582 hard coded `4'.
3583
2bcdf662
EZ
35842000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3585
3586 * coding.c (decode_coding_emacs_mule): Fix the case of
3587 CODING_EOL_LF, which used uninitialized value of c.
3588
ba8299ff
SM
35892000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3590
3591 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3592
f4117c4d
GM
35932000-11-22 Gerd Moellmann <gerd@gnu.org>
3594
03e757c1
GM
3595 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3596 buffer object.
3597
f4117c4d
GM
3598 * frame.h (struct frame): Replace desired_tool_bar_items,
3599 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3600 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3601
3602 * frame.c (make_frame): Change initialization of tool bar
3603 items accordingly.
3604
3605 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3606 Change references to members deleted from struct frame to use the
f4117c4d
GM
3607 new ones.
3608
3609 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3610 references to members deleted from struct frame to use the new ones.
f4117c4d 3611
52283633 3612 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3613
3614 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3615
3616 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3617 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3618 from struct frame to use the new ones.
3619
f8e2f3f2
MB
36202000-11-23 Miles Bader <miles@gnu.org>
3621
3622 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3623 the face's inverse-video attribute, rather than overriding it.
3624
60e8e0a5
GM
36252000-11-22 Gerd Moellmann <gerd@gnu.org>
3626
3627 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3628 making tool bar smaller.
3629
92dd1b29
DL
36302000-11-22 Dave Love <fx@gnu.org>
3631
3632 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3633
e672fdce
MB
36342000-11-22 Miles Bader <miles@gnu.org>
3635
3a17d6cc
MB
3636 * keyboard.c (Vminibuffer_message_timeout): New variable.
3637 (command_loop_1): Use it to determine message timeout.
3638 (syms_of_keyboard): Initialize it.
3639
60e8e0a5 3640 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3641
e9655d81
KH
36422000-11-22 Kenichi Handa <handa@etl.go.jp>
3643
3644 * sysdep.c: Move the code for declaring h_errno after #include
3645 <netdb.h>.
3646
77270fac
GM
36472000-11-21 Gerd Moellmann <gerd@gnu.org>
3648
cd913aae
GM
3649 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3650 the menu bar when the tooltip is unmapped.
3651
77270fac
GM
3652 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3653 sole visible buffer when we're currently in the mini-buffer, and
3654 give up if so.
52283633 3655
556635d6
JR
36562000-11-21 Jason Rumney <jasonr@gnu.org>
3657
3658 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3659 put on the clipboard.
3660 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3661 copy of what Emacs last put there. If they are the same, do not
52283633 3662 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3663
5b7bde64
MB
36642000-11-22 Miles Bader <miles@gnu.org>
3665
3666 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3667 (syms_of_minibuf): Initialize it.
3668 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3669 to prompt, don't make read-only.
3670
ff23e1dd
GM
36712000-11-21 Gerd Moellmann <gerd@gnu.org>
3672
52283633
SM
3673 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3674 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3675
7aaf4388
GM
3676 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3677
f5f47add 3678 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3679
ff23e1dd
GM
3680 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3681
37c35586
KH
36822000-11-21 Kenichi Handa <handa@etl.go.jp>
3683
3684 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3685 ... #endif scope.
3686
ff9ab414
GM
36872000-11-20 Gerd Moellmann <gerd@gnu.org>
3688
52283633 3689 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3690 screen supports it.
3691
29a01b72
GM
3692 * s/gnu-linux.h: Don't use `#cpu'.
3693
09dfdf85
GM
3694 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3695 not defined in mman.h.
3696
52283633 3697 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3698 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3699 and store an index in the XClientMessageEvent. Storing a
3700 Lisp_Object or pointer can fail on a 64 bit system, since X only
3701 transfers 32 bits.
52283633
SM
3702 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3703
81459ac9
DL
37042000-11-20 Dave Love <fx@gnu.org>
3705
3706 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3707
56c13ae6
GM
37082000-11-20 Gerd Moellmann <gerd@gnu.org>
3709
3710 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3711
495a6df3
KH
37122000-11-20 Kenichi Handa <handa@etl.go.jp>
3713
2bcf3714
KH
3714 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3715 by WIDTH.
3716
495a6df3
KH
3717 * alloc.c (make_string): Fix previous change. Be sure to make
3718 unibyte string correctly.
3719
6d950f4c
GM
37202000-11-19 Gerd Moellmann <gerd@gnu.org>
3721
39b39373
GM
3722 * window.c (Fwindow_list): Change parameter list to be XEmacs
3723 compatible.
3724 (window_list_1): New function.
3725 (window_loop): Use it instead of Fwindow_list.
3726
b95b34e5
GM
3727 * sysdep.c (emacs_ospeed): New variable.
3728 (toplevel): Don't declare ospeed extern.
3729 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3730
3731 * termcap.c (ospeed): Remove.
3732 (tputs) [!emacs]: Remove unused code.
3733 (tgetent): Avoid a compiler warning.
3734
e83dc917
GM
3735 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3736 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3737 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3738
3739 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3740 removed.
3741 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3742 Take the X display as additional argument.
3743 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3744 `Widget' is a pointer type that's not easily stored in Lisp_Object
3745 form in a portable way.
52283633 3746
6d950f4c
GM
3747 * dispnew.c (update_text_area): Fix last change.
3748
e47306e6
GM
37492000-11-18 Gerd Moellmann <gerd@gnu.org>
3750
fb3cd89b
GM
3751 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3752
3753 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3754 clear current matrices.
3755
edaa9aed
GM
3756 * buffer.c (mmap_enlarge): Don't print a message on stderr
3757 if mapping new memory at the end of the existing region fails.
3758
e47306e6
GM
3759 * dispnew.c (update_text_area): Don't skip over equal glyphs
3760 when the last current glyph overlaps the glyph to its right.
3761
509633e3
MB
37622000-11-18 Miles Bader <miles@gnu.org>
3763
3764 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3765 lines that *end* with "..." too (that's the most common case!).
3766
d392e9c5
GM
37672000-11-18 Gerd Moellmann <gerd@gnu.org>
3768
67988445
GM
3769 * xdisp.c (resize_mini_window): Temporarily change to the
3770 mini-window's buffer if necessary.
1bfdbe43 3771
d392e9c5
GM
3772 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3773 the tooltip obscures less text under it.
3774
37752000-11-17 Gerd Moellmann <gerd@gnu.org>
3776
3777 * puresize.h (BASE_PURESIZE): Increase to 700000.
3778
92bb977f
JR
37792000-11-18 Jason Rumney <jasonr@gnu.org>
3780
3781 * w32term.c (w32_draw_bitmap): Use face to set colors.
3782
26fbf20b
DL
37832000-11-17 Dave Love <fx@gnu.org>
3784
3785 * lread.c (Fload): Fix #ifdef for pcc.
3786
100b593b
GM
37872000-11-17 Gerd Moellmann <gerd@gnu.org>
3788
3789 * xdisp.c (pos_visible_p): Compute the default character height
3790 differently.
3791
a288d0d1
GM
37922000-11-16 Gerd Moellmann <gerd@gnu.org>
3793
cac94de6 3794 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3795 knowing the line's height; use the default font's height in that case.
cac94de6 3796
a288d0d1
GM
3797 * xfaces.c (weight_table): Add `demi' with the same meaning as
3798 `demibold'.
3799
981fb6f6
KH
38002000-11-16 Kenichi Handa <handa@etl.go.jp>
3801
2cca872d 3802 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3803 (clear_glyph_row): Delete local static variable null_row.
3804
e5fa381b
JR
38052000-11-15 Jason Rumney <jasonr@gnu.org>
3806
3807 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3808 (w32_alloc_lighter_color): Use new brightness calculations from
3809 xterm.c. Scale delta to be in the range expected by W32.
3810 (w32_draw_relief_rect): Use frame relief colors.
3811
8e42f043
GM
38122000-11-15 Gerd Moellmann <gerd@gnu.org>
3813
6d133d1f
GM
3814 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3815 (Qinhibit_default_face_x_resources): New variable.
3816 (syms_of_frame): Initialize it.
3817 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3818
3819 * xdisp.c (pos_visible_p): Improve function comment.
3820
3821 * lisp.h (BINDING_STACK_SIZE): New macro.
3822
8e42f043
GM
3823 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3824 reading the directory if readdir returns null and errno is EAGAIN
3825 or EINTR.
3826
e8c87124
SM
38272000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3828
3829 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3830 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3831 Set amount_to_scroll to max of dx and scroll_step so that
3832 scroll-conservatively doesn't defeat scroll-step>1.
3833 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3834 scroll-conservatively for line-at-a-time scrolling.
3835
5f0c971d
GM
38362000-11-14 Gerd Moellmann <gerd@gnu.org>
3837
3838 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3839 extra argument.
3840
3841 * xdisp.c (current_mode_line_height, current_header_line_height):
3842 New variables.
3843 (init_xdisp): Initialize them.
3844 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3845 and use exact mode line heights if it is set.
3846
3847 * lisp.h (pos_visible_p): Change prototype.
3848
3849 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3850 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3851 and current_header_line_height first.
52283633
SM
3852 (current_mode_line_height, current_header_line_height):
3853 Declare extern.
5f0c971d 3854
d7361edf
MB
38552000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3856
3857 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3858 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3859 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3860
ee5e440a
MB
38612000-11-14 Miles Bader <miles@gnu.org>
3862
3863 * xterm.c (x_alloc_lighter_color): Include an additive component
3864 too for dark colors, because FACTOR isn't enough.
3865 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3866 New macros.
3867
5ca020fc
GM
38682000-11-13 Gerd Moellmann <gerd@gnu.org>
3869
3870 * keyboard.c (show_help_echo): Call message3_nolog with number of
3871 bytes in the help string as 2nd parameter, instead of the number
3872 of characters.
3873
9d348294
MB
38742000-11-13 Miles Bader <miles@gnu.org>
3875
3876 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3877 (Fload): Use new openp return protocol.
3878 Don't try to use Vload_source_file_function to load .elc files.
3879 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3880 openp return protocol.
3881 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3882
1729bb9a
KH
38832000-11-11 Kenichi Handa <handa@etl.go.jp>
3884
4e677396
KH
3885 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3886
3887 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3888 Defined these macros.
3889 (NLIST_STRUCT): Avoid re-defining it.
3890
1729bb9a
KH
3891 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3892 -I/usr/contrib/X11R6/include.
3893 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3894
a82fe213
JR
38952000-11-10 Jason Rumney <jasonr@gnu.org>
3896
3897 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3898
3899 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3900 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3901
3902 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3903 (Qw32_charset_vietnamese): New symbol.
3904 (xlfd_charset_of_font): New function.
3905 (w32_load_system_font): Use it.
3906 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3907 when Vw32_charset_info_alist is nil to ensure default face always
3908 has font. Use Fcar and Fcdr for safety.
3909 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3910 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3911 pseudo-codepages for special cases.
3912 (w32_to_x_font): New parameter to allow charset portion to be
3913 specified where there is many to one mapping. Callers changed.
3914 (w32_list_fonts): Avoid listing fonts that won't display.
3915
52d89894
GM
39162000-11-10 Gerd Moellmann <gerd@gnu.org>
3917
3918 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3919 (font_list_1): Renamed from font_list.
3920 (font_list): New function, trying alternative registries from
3921 Vface_alternative_font_registry_alist.
3922 (Finternal_set_alternative_font_registry_alist): New function.
3923 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3924 Vface_alternative_font_registry_alist.
3925 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3926
651cd3da
KR
39272000-11-09 Ken Raeburn <raeburn@gnu.org>
3928
3929 * lisp.h (Flooking_at): Declare.
3930
388ac098
GM
39312000-11-09 Gerd Moellmann <gerd@gnu.org>
3932
778fbc46 3933 * dired.c (directory_files_internal): Fix a braino.
52283633 3934
388ac098
GM
3935 * dired.c (directory_files_internal): Add missing GCPRO's.
3936 Some cleanup.
3937
ecaedde1
GM
39382000-11-08 Gerd Moellmann <gerd@gnu.org>
3939
f7eb32aa
GM
3940 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3941 (resize_mini_window): Return quickly if Vresize_mini_window is
3942 nil. Don't return if Vmax_mini_window_height is nil.
3943
3944 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3945 (syms_of_xdisp): Initialize them.
3946 (resize_mini_window): Act according to the setting of
3947 Vresize_mini_window.
3948 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3949
ecaedde1
GM
3950 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3951 scroll bar widget after configuring it, so that it will appear at
3952 the right position from the start.
3953 (XTredeem_scroll_bar): Cleaned up.
3954
3747ef2c
KH
39552000-11-08 Kenichi Handa <handa@etl.go.jp>
3956
3957 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3958 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3959 division by two.
3960
3961 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3962
03391420
DL
39632000-11-07 Dave Love <fx@gnu.org>
3964
7758f1c1 3965 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3966
3967 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3968
b5de343d
GM
39692000-11-07 Gerd Moellmann <gerd@gnu.org>
3970
acad3c0b
GM
3971 * window.c (Fset_window_configuration): Don't try to preserve
3972 point in the current buffer, if that buffer is displayed in more
3973 than one window.
3974
b5de343d
GM
3975 * xfaces.c (lookup_named_face): If default face isn't realized,
3976 try to realize it. Return -1 if not successful.
3977 (Fx_list_fonts): Handle case that face cannot be determined.
3978 (Fface_font): Likewise.
3979
cdb1fe49
GM
39802000-11-06 Gerd Moellmann <gerd@gnu.org>
3981
3982 * window.c (displayed_window_lines): Detect partially
3983 visible lines at the bottom correctly.
3984
d3a67486
SM
39852000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3986
3987 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3988 when ensuring we don't do visit in indirect buffer.
3989
ff8dd5d5
KH
39902000-11-06 Kenichi Handa <handa@etl.go.jp>
3991
3992 * composite.h (compose_chars_in_text): Add prototype.
3993
3994 * composite.c (Vcomposition_function_table): New variable.
3995 (Qcomposition_function_table): New variable.
3996 (run_composition_function): Call
3997 Vcompose_chars_after_function with three arguments.
3998 (compose_chars_in_text): New function.
3999 (syms_of_composite): Modified the doc-string of
4000 Vcompose_chars_after_function. Declare composition-function-table
4001 as a lisp variable, and initialize it.
4002
4003 * xfns.c (x_encode_text): Suppress producing escape sequences for
4004 composition.
4005
4006 * xselect.c: Include composite.h.
4007 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4008
d1145f85
AI
40092000-11-05 Andrew Innes <andrewi@gnu.org>
4010
4011 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4012
4013 * sysdep.c (read_input_waiting): Remove extraneous argument to
4014 read_socket_hook.
4015
4016 * w32fns.c (Fx_server_version): Include w32_build_number in the
4017 return list.
4018
4019 * w32heap.c (w32_build_number): New variable.
4020 (cache_system_info): Set it.
4021
4022 * w32heap.h (w32_build_number): Add extern.
4023
4024 * emacs.c (syms_of_emacs): Update docstring for
4025 system-configuration, to reflect the actual usage on MS-Windows.
4026
e85ee976
GM
40272000-10-31 Gerd Moellmann <gerd@gnu.org>
4028
26dcb81b
GM
4029 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4030 process idle timers while waiting for another event.
4031
52283633 4032 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4033 the default face are colored.
4034
e85ee976
GM
4035 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4036 window height hasn't changed.
4037
01b220b6
JR
40382000-10-31 Jason Rumney <jasonr@gnu.org>
4039
4040 * w32term.c (x_produce_glyphs): Handle composite characters.
4041 (x_draw_glyph_string_foreground)
4042 (x_draw_composite_glyph_string_foreground): Restore old font.
4043
4e6b7204
MB
40442000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4045
4046 * minibuf.c (read_minibuf): Reset the undo history just before
4047 starting the recursive-edit.
4048
d4358b37
GM
40492000-10-30 Gerd Moellmann <gerd@gnu.org>
4050
563f68f1
GM
4051 * xfaces.c (menu_face_change_count): New variable.
4052 (Finternal_set_lisp_face_attribute): Increment it for changes
4053 of the `menu' face.
4054 (realize_basic_faces): Reflect changes in the `menu' faces
4055 in menu bars.
4056
82e274d1
GM
4057 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4058 dy obtained from the iterator's y-position after moving from
4059 scroll_margin_pos to PT; see comment there.
52283633 4060
0dbf9fd2
GM
4061 * xdisp.c (safe_eval_handler): Call add_to_log.
4062
906b3b14
GM
4063 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4064 is not a symbol or string.
4065
d4358b37
GM
4066 * xdisp.c (echo_area_display): Don't perform a display update from
4067 inside redisplay. The update will happen anyway at the end of
4068 redisplay, and it can confuse redisplay (GC messages while
4069 redisplaying, for instance.)
4070
70c825df
SM
40712000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4072
cf9b4b0b
SM
4073 * xrdb.c (x_load_resources): Use the class name in the defaults.
4074
70c825df
SM
4075 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4076 (regex_compile): Catch bogus \(\1\).
4077
a1d34b1e
GM
40782000-10-30 Gerd Moellmann <gerd@gnu.org>
4079
cae71efe
GM
4080 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4081 RGB values.
52283633 4082
35efe0a1
GM
4083 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4084 we have a color cache, check that the cached color equals the
4085 allocated color. If not, clear the color cache.
4086
1d3baf74
GM
4087 * window.c (displayed_window_lines): Change buffers if necessary.
4088 Fix computation of displayed lines.
4089
a1d34b1e
GM
4090 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4091 update_menu_bindings to DEFVAR_BOOL.
4092
70737ea9
KH
40932000-10-30 Kenichi Handa <handa@etl.go.jp>
4094
70c825df 4095 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4096
fa0cb51d
KH
4097 * puresize.h (BASE_PURESIZE): Increase to 680000.
4098
70737ea9
KH
4099 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4100
0e4c08e8
JR
41012000-10-29 Jason Rumney <jasonr@gnu.org>
4102
4103 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4104
4105 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4106 (w32_cache_char_metrics): Handle possibility that 'x' does not
4107 exist in a BDF font.
4108 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4109
4110 * w32bdf.h (bdffont): Add nchars.
4111
4112 * w32bdf.c (set_bdf_font_info): Set it.
4113 (w32_BDF_TextOut): Swap byte order of double byte characters.
4114 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4115
45b84006
EZ
41162000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4117
4118 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4119 don't override the colors in frame's param_alist, unless they are
4120 unspecified.
4121
4122 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4123 reverse the effect of the highlight flag.
4124
caf9deee
KR
41252000-10-27 Ken Raeburn <raeburn@gnu.org>
4126
4127 * window.h (Fwindow_live_p): Declare.
4128
ae0b9b46
KR
4129 * undo.c (record_delete): Check that last_undo_buffer is really a
4130 buffer before applying XBUFFER to it.
4131
4132 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4133 Faref.
4134
02067692
SM
41352000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4136
4137 * lisp.h (KEYMAPP): New macro.
4138 (get_keymap): Remove.
4139 (get_keymap_1): Rename get_keymap.
4140
4141 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4142
4143 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4144
4145 * xmenu.c (single_submenu): Use KEYMAPP.
4146 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4147 Use KEYMAPP rather than Fkeymapp.
4148
4149 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4150
4151 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4152 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4153 Use KEYMAPP rather than Fkeymapp.
4154 (single_submenu): Use KEYMAPP.
4155 (w32_menu_show, w32_dialog_show): Use TRUE.
4156
4157 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4158
4159 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4160 (Fkeymapp): Use KEYMAPP.
4161 (get_keymap): Rename from get_keymap_1. Remove old def.
4162 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4163 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4164 (Fminor_mode_key_binding): Don't raise an error if the binding
4165 is not a keymap.
4166 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4167 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4168
4169 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4170 Allow Vspecial_event_map to be autoloaded.
4171 (menu_bar_items): Fetch the keymap rather than using keymapp.
4172 (menu_bar_one_keymap): No need to follow func-indirect any more.
4173 (parse_menu_item): get_keymap_1 -> get_keymap.
4174 (tool_bar_items): Fetch the keymap rather than using keymapp.
4175 (read_key_sequence): Use KEYMAPP.
4176
4177 * intervals.c (get_local_map): Use get_keymap rather than following
4178 function-indirections explicitly.
4179
4180 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4181
f9d80af3
JR
41822000-10-27 Jason Rumney <jasonr@gnu.org>
4183
4184 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4185 point, as Windows has oversized fonts.
4186
4187 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4188
a3ba27da
GM
41892000-10-27 Gerd Moellmann <gerd@gnu.org>
4190
4191 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4192 (freehook, reallochook): Handle null pointer arguments.
4193 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4194
aa3b80cc
SM
41952000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4196
4197 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4198 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4199 Giving in to popular pressure to shut up the compiler with casts.
4200
e24e84cc
GM
42012000-10-27 Gerd Moellmann <gerd@gnu.org>
4202
4203 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4204 signed value, and use a default value computed from the font's
4205 maximum descent.
4206
05ea7ef2
MB
42072000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4208
4209 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4210 that specify a negative underline position can still use underlines.
4211
4212 * window.c (Fpos_visible_in_window_p): Make POS default to
4213 WINDOW's point, not the current buffer's point.
4214
0b95284b
DL
42152000-10-26 Dave Love <fx@gnu.org>
4216
4217 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4218 when it's necessary.
4219
6c5b90af
GM
42202000-10-26 Gerd Moellmann <gerd@gnu.org>
4221
8b6d9dc9
GM
4222 * window.c (size_window): Compute size difference from sum of old
4223 child window sizes instead of from parent's size.
4224
6bc92b2e
GM
4225 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4226 Handle obscured lines at the top of the window.
4227
4228 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4229 down after the last error condition check.
4230
6c5b90af
GM
4231 * frame.c (Fdelete_frame): Run delete-frame-hook.
4232
42f92d4d
KH
42332000-10-26 Kenichi Handa <handa@etl.go.jp>
4234
4235 * coding.c (decode_coding): Fix previous change (check also
4236 CODING_MODE_LAST_BLOCK).
4237
d97151cb
SM
42382000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4239
e7efc503
SM
4240 * regex.c: More `unsigned char' -> `re_char' changes.
4241 Also change several `int' into `re_wchar_t'.
4242 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4243 (PUSH_FAILURE_POINTER): Don't cast any more.
4244 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4245 We want GCC to complain, since this piece of code makes
4246 re_match non-reentrant, which *should* be fixed.
4247 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4248 (EXTEND_BUFFER): Use RETALLOC.
4249 (SET_LIST_BIT): Don't cast.
4250 (re_wchar_t): New type.
4251 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4252 that those two functions will always properly return.
4253 (IMMEDIATE_QUIT_CHECK): Cast to void.
4254 (analyse_first): Use recursion rather than an explicit stack.
4255 (re_compile_fastmap): Can't fail anymore.
4256 (re_search_2): Don't check re_compile_fastmap for failure.
4257 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4258 Now also sets the new value (passed in a new argument).
4259 (re_match_2_internal): Use it.
4260 Also, use a new var `reg' of type size_t when looping through regs
4261 rather than reuse the inappropriate `mcnt'.
4262
d97151cb
SM
4263 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4264 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4265 (where_is_internal): Renamed from Fwhere_is_internal.
4266 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4267 (Fwhere_is_internal): New function wrapping where_is_internal.
4268 (where_is_internal_1): Handle the case where we're filling the cache.
4269 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4270
d5789b65
MB
42712000-10-25 Miles Bader <miles@gnu.org>
4272
4273 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4274
4ecda532
GM
42752000-10-25 Gerd Moellmann <gerd@gnu.org>
4276
4277 * window.c (pos_fully_visible_p): Removed.
4278 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4279 if position is visible and/or fully visible.
4280
4281 * lisp.h (pos_visible_p): Add prototype.
4282
4283 * xdisp.c (pos_visible_p): New function.
4284
68c3a137
KH
42852000-10-25 Kenichi Handa <handa@etl.go.jp>
4286
4287 * process.c (send_process): If OBJECT is t, it means that the data
4288 is from C string, but we should encode it. Before calling
4289 setup_raw_text_coding_system, be sure to flush out data by the
4290 previous coding system.
4291
7ae1c032
MB
42922000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4293
ff4dcd4b
MB
4294 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4295 assignment of startpos to prev when startpos == pos.
4296
7ae1c032
MB
4297 * editfns.c (find_field): Set the field stickiness correctly from
4298 overlay fields. Use renamed `text_property_stickiness'.
4299 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4300 Only check text properties, not overlays.
7ae1c032
MB
4301 * textprop.c (get_char_property_and_overlay): New function.
4302 (Fget_char_property): Use it.
4303 * intervals.h (get_char_property_and_overlay): Add declaration.
4304
49801145
SM
43052000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4306
4307 * keymap.c: Use AREF, ASET and ASIZE macros.
4308 (Fmake_sparse_keymap): Docstring fix.
4309 (synkey): Remove.
4310 (shadow_lookup): Move up.
4311 Handle the case where lookup-key returns an integer.
4312 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4313 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4314 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4315 Simplify/rewrite the keymap-finding code.
4316 Add check for command shadowing, using shadow_lookup.
4317
39e776cd
SM
43182000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4319
4320 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4321 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4322 a symbol.
4323
2488aba5
AI
43242000-10-24 Andrew Innes <andrewi@gnu.org>
4325
4326 * dired.c (directory_files_internal_unwind): New function.
4327 (directory_files_internal): Use it to ensure closedir is called
4328 even if expand-file-name or file-attributes throw, eg. because of
4329 a user interrupt. Also enable immediate_quit while calling
4330 re_search, so that matching can be interrupted as well.
4331
b94fdf61
AI
43322000-10-24 Andrew Innes <andrewi@gnu.org>
4333
4334 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4335 NT-Emacs only.
4336 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4337 so that re_search functions only quit when callers expect them to.
4338
43392000-10-24 Kenichi Handa <handa@etl.go.jp>
4340
4341 * regex.c (regex_compile): Change the way of handling a range from
4342 a char less than 256 to a char not less than 256.
4343
1946f901
GM
43442000-10-24 Gerd Moellmann <gerd@gnu.org>
4345
7ae2f10f
GM
4346 * window.c (size_window): Prevent setting window's width or
4347 height to a negative value (esp. with XSETFASTINT).
4348
5dcab13e
GM
4349 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4350 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4351 (protect_malloc_state) [GC_MALLOC_CHECK &&
4352 GC_PROTECT_MALLOC_STATE]: New function.
4353 (PROTECT_MALLOC_STATE): New macro.
4354 (__malloc_initialize, morecore, _malloc_internal)
4355 (_free_internal) _realloc_internal): Use it to make _heapinfo
4356 read-only outside of gmalloc.
4357
63e1b552
GM
4358 * keymap.c: Update copyright.
4359
1946f901
GM
4360 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4361 a symbol.
4362
4fa09beb
GM
43632000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4364
4365 * filelock.c (unlock_all_files): Use unlock_file to expand each
4366 buffer's file_truename before trying remove its lock file.
4367
23afac01
EZ
43682000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4369
4370 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4371 or CRLF, decode EOLs.
4372
04448b95
KH
43732000-10-24 Kenichi Handa <handa@etl.go.jp>
4374
4375 * window.c (Fdisplay_buffer): Fix doc.
4376
3090a5a5
JR
43772000-10-23 Jason Rumney <jasonr@gnu.org>
4378
4379 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4380 ASCII font of default fontset on Windows.
4381
4382 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4383 xterm.c comment below).
4384
4385 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4386
a83fee2c
GM
43872000-10-23 Gerd Moellmann <gerd@gnu.org>
4388
4389 * xterm.c (x_connection_closed): Reset handling_signal.
4390
52283633 4391 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4392
6ffdb539
MB
43932000-10-23 Miles Bader <miles@gnu.org>
4394
4395 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4396 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4397 maintain old behavior.
4398 * minibuf.c (Fminibuffer_complete): Likewise.
4399
7f1c969b
MB
44002000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4401
4402 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4403 that when a font can't be exactly centered, it errs up rather than
4404 down.
4405
23afac01 44062000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4407
52283633 4408 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4409
1a578e9b
AC
44102000-10-23 Andrew Choi <akochoi@i-cable.com>
4411
4412 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4413
4414 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4415 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4416
4417 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4418 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4419 syms_of_search, x_term_init, and init_keyboard before calling
4420 init_window_once. Also, call syms_of_xmenu.
4421
4422 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4423 default fontset to Monaco.
4424
4425 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4426 NewMacWindow and DisposeMacWindow.
4427 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4428 instead of calling NewMacWindow and setting fields of
4429 f->output_data.mac directly. Call init_frame_faces.
4430 (Fdelete_frame) [macintosh]: Remove unused code.
4431 (Fmodify_frame_parameters) [macintosh]: Call
4432 x_set_frame_parameters instead of mac_set_frame_parameters.
4433
4434 * frame.h [macintosh]: Define menu_bar_lines field in struct
4435 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4436
4437 * keyboard.c [macintosh]: Include macterm.h.
4438 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4439 and menu_bar_activate_event type events as for X and NT.
4440 (make_lispy_event) [macintosh]: Construct lisp events of type
4441 MENU_BAR_EVENT as for X and NT.
4442
4443 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4444 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4445 (sys_subshell) [macintosh]: Remove definition entirely.
4446 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4447 Vwindow_system_version here. Remove initialization of
4448 Vx_bitmap_file_path.
4449 (read_input_waiting): Correct the number of parameters passed to
4450 read_socket_hook.
4451 Move all Macintosh functions to mac/mac.c.
4452
4453 * term.c [macintosh]: Include macterm.h.
4454
4455 * window.c [macintosh]: Include macterm.h.
4456
4457 * xdisp.c [macintosh]: Include macterm.h. Declare
4458 set_frame_menubar and pending_menu_activation.
4459 (echo_area_display) [macintosh]: Do not return if terminal frame
4460 is the selected frame.
4461 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4462 Allow only the selected frame to set menu bar.
4463 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4464 calling FRAME_EXTERNAL_MENU_BAR (f).
4465 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4466
4467 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4468 and check_x. Declare XCreateGC. Define x_create_gc and
4469 x_free_gc. Initialize font_sort_order.
4470 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4471 but call x_list_fonts instead of w32_list_fonts.
4472 (Finternal_face_x_get_resource) [macintosh]: Do not call
4473 display_x_get_resource.
4474 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4475 (realize_x_face) [macintosh]: Load the font if it is specified in
4476 ATTRS.
52283633 4477 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4478
1ffbabe3
SM
44792000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4480
4481 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4482 is nil: since we go to the end of submap anyway, we'd end up
4483 setting nil to nil.
4484 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4485 doesn't obey autoload.
4486
bed43f1d
EZ
44872000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4488
1ffbabe3 4489 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4490
ea4233a7
JR
44912000-10-21 Jason Rumney <jasonr@gnu.org>
4492
4493 * w32term.c (w32_cache_char_metrics): Double check that font is
4494 really fixed pitch before trusting tmPitchAndFamily.
4495
f3d3c491
AI
44962000-10-21 Andrew Innes <andrewi@gnu.org>
4497
4498 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4499
4500 * w32term.h: Extern decl for w32_cache_char_metrics.
4501
4502 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4503
4504 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4505 (w32_unload_font): Free per_char array if present.
4506
4507 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4508 cached information in emulated XFontStruct to handle common cases
4509 quickly. Do not allocate XCharStruct for return.
4510 (w32_native_per_char_metric): New function.
4511 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4512 allocating one.
4513 (x_produce_glyphs): Don't get an HDC. Change calls to
4514 w32_per_char_metric to match arg change above. Remove calls to
4515 free results.
4516 (w32_get_glyph_overhangs): Ditto.
4517 (w32_cache_char_metrics): New function.
4518
4519 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4520 ($(BLD)/casefiddle.$(O)): Remove compile command.
4521 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4522 ($(BLD)/dispnew.obj):
4523 ($(BLD)/keyboard.obj):
4524 ($(BLD)/w32inevt.obj):
4525 ($(BLD)/w32bdf.obj):
4526 ($(BLD)/alloc.obj):
4527 ($(BLD)/buffer.obj):
4528 ($(BLD)/editfns.obj):
4529 ($(BLD)/emacs.obj):
4530 ($(BLD)/fileio.obj):
4531 ($(BLD)/fns.obj):
4532 ($(BLD)/indent.obj):
4533 ($(BLD)/insdel.obj):
4534 ($(BLD)/intervals.obj):
4535 ($(BLD)/minibuf.obj):
4536 ($(BLD)/print.obj):
4537 ($(BLD)/scroll.obj):
4538 ($(BLD)/sysdep.obj):
4539 ($(BLD)/textprop.obj):
4540 ($(BLD)/widget.obj):
f3d3c491
AI
4541 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4542 ($(BLD)/term.obj): Add dependency on dispextern.h.
4543
52283633
SM
4544 * makefile.nt ($(BLD)\dispnew.obj):
4545 ($(BLD)\keyboard.obj):
4546 ($(BLD)\w32inevt.obj):
4547 ($(BLD)\w32bdf.obj):
4548 ($(BLD)\alloc.obj):
4549 ($(BLD)\buffer.obj):
4550 ($(BLD)\editfns.obj):
4551 ($(BLD)\emacs.obj):
4552 ($(BLD)\fileio.obj):
4553 ($(BLD)\fns.obj):
4554 ($(BLD)\indent.obj):
4555 ($(BLD)\insdel.obj):
4556 ($(BLD)\intervals.obj):
4557 ($(BLD)\minibuf.obj):
4558 ($(BLD)\print.obj):
4559 ($(BLD)\scroll.obj):
4560 ($(BLD)\sysdep.obj):
4561 ($(BLD)\textprop.obj):
4562 ($(BLD)\widget.obj):
f3d3c491
AI
4563 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4564 ($(BLD)\term.obj): Add dependency on dispextern.h
4565
18ad4821
EZ
45662000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4567
4568 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4569 with an additional argument of Qt.
4570
de54681a
MB
45712000-10-21 Miles Bader <miles@gnu.org>
4572
4573 * window.c (pos_fully_visible_in_window_p): New function.
4574 (Fpos_visible_in_window_p): Add FULLY argument.
4575 Use pos_fully_visible_in_window_p.
4576 (window_scroll_pixel_based, window_scroll_line_based): Update
4577 calls to Fpos_visible_in_window_p.
4578 * lisp.h (Fpos_visible_in_window_p): Update prototype
4579
13c844fb
GM
45802000-10-20 Gerd Moellmann <gerd@gnu.org>
4581
4582 * alloc.c (toplevel): Conditionalize compilation of mem_*
4583 functions differently.
52283633 4584
d9506268
JR
45852000-10-20 Jason Rumney <jasonr@gnu.org>
4586
4587 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4588 mem_init where it used to be. mem_z etc not defined otherwise.
4589
8094989b
GM
45902000-10-20 Gerd Moellmann <gerd@gnu.org>
4591
4592 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4593 GC_MALLOC_CHECK.
4594 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4595 structure definition and related variabled to the top of the file.
4596 Include this code when GC_MALLOC_CHECK is defined.
4597 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4598 register/unregister allocated region.
4599 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4600 which isn't allocated.
4601 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4602 something which is already in use.
4603 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4604 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4605 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4606 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4607
4608 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4609 _malloc_internal instead of malloc.
4610 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4611 of free.
4612
ea456eb4
AI
46132000-10-20 Andrew Innes <andrewi@gnu.org>
4614
4615 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4616 Windows.
4617 (my_strftime) <macro>: Don't use macro arg list when redefining as
4618 _strftime_copytm.
4619 (my_strftime) <function>: Supply 0 as ut argument.
4620
e64c3a75
JR
46212000-10-19 Jason Rumney <jasonr@altavista.net>
4622
4623 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4624 including dispextern.h, as it stops faces from working.
4625
4626 * w32fns.c (Fx_create_frame): Don't bother calling
4627 face-set-after-frame-default since the caller does it for us
4628 anyway. Clean up calls to x_get_arg to be consistent with X.
4629
4630 * w32term.c (x_produce_glyphs): Handle
4631 unibyte_display_via_language_environment correctly.
4632 (w32_draw_box_rect): Fix the calculation of width and height.
4633
4634 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4635 as it has stopped working.
4636 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4637 menu-bar.
4638
17401c97
GM
46392000-10-19 Gerd Moellmann <gerd@gnu.org>
4640
4641 * eval.c (skip_debugger): Prevent a compiler warning.
4642 (Fcondition_case): Likewise.
4643 (Fbacktrace_frame): Use a null interactive spec.
4644
773272d8
KH
46452000-10-19 Kenichi Handa <handa@etl.go.jp>
4646
4647 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4648
a42943e9
GM
46492000-10-18 Gerd Moellmann <gerd@gnu.org>
4650
e50517d9
GM
4651 * strftime.c: Sync with glibc, file version 1.78.
4652 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4653 should no longer be used according to ISO 8601.
4654
9035a35a
GM
4655 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4656 no map for meta_prefix_char, don't try to use it as a keymap.
4657 Instead, if T_OK is non-zero, look up a default binding, if any,
4658 otherwise, if T_OK is zero, return nil.
4659
a42943e9
GM
4660 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4661 (x_to_xcolors, png_load): Use x_query_color.
4662
52283633
SM
4663 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4664 New functions.
a42943e9
GM
4665 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4666 which can be slow.
4667 (x_copy_color, x_alloc_lighter_color): Likewise.
4668
4669 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4670 (x_query_color, x_query_colors): Add prototype.
4671
4672 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4673 check_string_bytes only if not noninteractive, increase count to 50.
4674
00de2987
MB
46752000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4676
4677 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4678 markers correctly.
4679
54918e2b
GM
46802000-10-17 Gerd Moellmann <gerd@gnu.org>
4681
1f0b3fd2
GM
4682 * alloc.c (pure_bytes_used): Renamed from pureptr.
4683 (ALIGN): New macro.
4684 (pure_alloc): New function.
4685 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4686 Use it.
4687 (Fpurecopy): Use PURE_POINTER_P.
4688
68c5d1db
GM
4689 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4690 PT has moved backward.
52283633 4691
9a038881
GM
4692 * xdisp.c (cursor_row_p): Take continued lines into account.
4693
361b097f
GM
4694 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4695 string's size_byte.
4696 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4697 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4698 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4699 string allocated.
4700
54918e2b
GM
4701 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4702 of selective display off while searching for the next line start.
4703
03ed0806
KH
47042000-10-17 Kenichi Handa <handa@etl.go.jp>
4705
4706 * Makefile.in (term.o): Depend on dispextern.h.
4707
7e05cdaf
SM
47082000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4709
4710 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4711
a6801fd1
GM
47122000-10-16 Gerd Moellmann <gerd@gnu.org>
4713
483de32b
GM
4714 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4715 the iterator at the beginning, so that they can be set later on,
4716 for instance in reseat_at_next_visible_line_start, without being
4717 overwritten.
4718
a6801fd1
GM
4719 * xfns.c (pbm_format): Add :foreground and :background keywords.
4720 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4721 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4722
dbf1fcc1
EZ
47232000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4724
4725 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4726
52283633 4727 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4728
4729 * msdos.c (IT_set_face): Compare highlighted face with the default
4730 face, and invert colors if these faces' colors are identical.
4731 (Fmsdos_remember_default_colors): Don't swap foreground and
4732 background colors in initial_colors[].
4733 (IT_set_frame_parameters): Don't swap frame's foreground and
4734 background pixels. If ALIST includes "(reverse . t)", swap
4735 foreground-color and background-color properties in frame's
4736 param_alist. If the original frame's param_alist doesn't specify
4737 the colors, store unspecified-fg and unspecified-bg, reversed if
4738 required.
4739
4740 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4741 the colors are unspecified and reversed, reverse fore- and back-
4742 ground in the returned value.
4743 (Fframe_parameter): Ditto.
4744
b41fe2c3 47452000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4746
3a6b59d9
GM
4747 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4748 get_last_unchanged_at_beg_row.
4749 (find_first_unchanged_at_end_row): Renamed from
4750 get_first_unchanged_at_end_row.
4751 (find_first_unchanged_at_end_row): Convert assertions to
4752 unconditional tests which abort. When looking for a row in
4753 unchanged text, don't go further back than first_text_row.
4754
b41fe2c3
GM
4755 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4756 Don't add in the last line's height when deciding if the new
4757 position is below the scroll margin.
9d1af64f 4758
b41fe2c3 47592000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4760
4761 * editfns.c (Fconstrain_to_field): Check carefully for field
4762 boundaries if either OLD_POS or NEW_POS has a non-nil field
4763 property, even if they're the same.
4764
c412cb7b
KH
47652000-10-16 Kenichi Handa <handa@etl.go.jp>
4766
4767 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4768 height for XFillRectangle.
4769
5586f3eb
SM
47702000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4771
4772 * syntax.c (Fstring_to_syntax): New function extracted from
4773 Fmodify_syntax_entry.
4774 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4775 (skip_chars, Fforward_comment): Remove unused variables.
4776 (syms_of_syntax): Add defsubr for string-to-syntax.
4777 (describe_syntax): Add code for comment and string fences.
4778
db785038
SM
47792000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4780
4781 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4782 Do the meta->esc mapping. Call get_keyelt before returning.
4783 Start scanning from the second element (the first is always `keymap')
4784 to make it easier to detect when we reach a parent map.
4785 Handle the case of inheriting from a symbol whose function is a map.
4786 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4787 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4788 (get_keyelt, Flookup_key): Update call to access_keymap.
4789 Remove the meta->esc mappings.
4790 (define_as_prefix): Delete old disabled code.
4791 (menu_item_p): New function.
4792 (where_is_internal_1): Skip over the few remaining menu items.
4793 * lisp.h (access_keymap): Update prototype.
4794 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4795 Update call to access_keymap.
4796 (follow_key, read_key_sequence): Update calls to access_keymap.
4797 Remove the meta->esc mappings.
4798
cafafe0b
GM
47992000-10-13 Gerd Moellmann <gerd@gnu.org>
4800
a2e2a7f6
GM
4801 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4802 with additional argument.
4803
cafafe0b
GM
4804 * xdisp.c (cursor_row_p): New function.
4805 (try_cursor_movement, display_line): Use it.
52283633 4806
cafafe0b
GM
4807 * xdisp.c (append_space): Also save/restore iterator's current
4808 character and its length.
4809
4810 * xdisp.c (init_from_display_pos): Add an assertion.
4811 (handle_stop): Don't set iterator's add_overlay_start.
4812 (handle_invisible_prop): Likewise.
4813 (load_overlay_strings): If text under an overlay is invisible,
4814 take both before- and after-strings into account when the iterator
4815 is positioned either at the start or at the end of the overlay.
4816 (forward_to_next_line_start): Rewritten.
4817 (reseat_at_next_visible_line_start): Rewritten.
4818 (set_iterator_to_next): Add parameter RESEAT_P.
4819
4820 * dispextern.h (struct it): Remove member add_overlay_start.
4821 (set_iterator_to_next): Change prototype.
4822
c744452b
KH
48232000-10-13 Kenichi Handa <handa@etl.go.jp>
4824
4825 * coding.c (code_convert_region): Be sure to initialize
4826 coding->category_idx.
e4a3f4e1
KH
4827 (decode_coding_string): Set coding->src_multibyte and
4828 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4829 (encode_coding_string): Set coding->src_multibyte and
4830 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4831
321fd26f
SM
48322000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4833
4834 * xfns.c (Fx_create_frame): Don't bother calling
4835 face-set-after-frame-default since the caller does it for us anyway.
4836
76832439
EZ
48372000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4838
4839 * window.c (coordinates_in_window): Fix detection of vertical line
4840 on character terminals.
4841
2483cf58
GM
48422000-10-12 Gerd Moellmann <gerd@gnu.org>
4843
4844 * editfns.c (save_excursion_save): Additionally record the
4845 selected window.
4846 (save_excursion_restore): If buffer was visible in a window, and a
4847 different window was selected, and the old selected window is
4848 still live, restore point in that window.
4849
eb991b25
KH
48502000-10-12 Kenichi Handa <handa@etl.go.jp>
4851
8a0eba09
KH
4852 * xterm.c (x_produce_glyphs): Handle
4853 unibyte_display_via_language_environment correctly.
4854
20401fcc
KH
4855 * regex.c (regex_compile): Change the way of handling a range from
4856 unibyte char to multibyte char.
4857
4858 * syntax.c (skip_chars): Change the way of handling a range from
4859 unibyte char to multibyte char.
4860
eb991b25
KH
4861 * process.c (read_process_output): Cancel previous change.
4862
365dd325
EZ
48632000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4864
c1b096cb
EZ
4865 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4866
365dd325
EZ
4867 * charset.c (Ffind_charset_string): Doc fix.
4868 (Ffind_charset_region): Doc fix.
4869
eb483c2b
KH
48702000-10-11 Kenichi Handa <handa@mule.m17n.org>
4871
4872 * process.c (read_process_output): Fix previous change. Adjust
4873 multibyteness of text to insert in a buffer by
52283633 4874 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4875
b40bfb99
AS
48762000-10-10 Andreas Schwab <schwab@suse.de>
4877
4878 * alloc.c (mark_object): Remove all workarounds installed on
4879 1993-08-08.
4880
caff31d4
KH
48812000-10-10 Kenichi Handa <handa@etl.go.jp>
4882
52283633 4883 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4884 (base64_encode_1): Make it work for a text of multibyte form.
4885 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4886 case. Don't call str_to_multibyte because base64_decode_1
4887 produces correct multibyte form for eight-bit codes.
52283633 4888 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4889 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4890 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4891 codes.
4892
4893 * charset.h (CHAR_STRING): Optimized for single byte characters.
4894
cba026ef
AS
48952000-10-09 Andreas Schwab <schwab@suse.de>
4896
4897 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4898 -1 after socket is closed, to fall through to error processing.
4899
1e21fe48
EZ
49002000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4901
4902 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4903 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4904 background-color, change also the colors of the default face for
4905 this frame.
4906
a640322e
EZ
49072000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4908
4909 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4910 them extern (they are defined on xfaces.c).
4911 (syms_of_msdos): Don't intern and don't staticpro
4912 Qbackground_color and Qforeground_color.
4913
a115794c
EZ
49142000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4915
4916 * frame.c (Fframe_parameter): For non-windowed frames, if
4917 f->param_alist says foreground or background color is unspecified,
4918 call tty_color_name to return the color name computed from the
4919 frame's current colors.
4920
f5533b63
DL
49212000-10-06 Dave Love <fx@gnu.org>
4922
4923 * terminfo.c (ospeed): Don't declare.
4924
4925 * sysdep.c: Don't include string.h.
4926 (h_errno): Declare conditional also on TRY_AGAIN.
4927
4928 * charset.c (Ffind_charset_string): Doc fix.
4929
52283633 4930 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4931 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4932 error messages.
4933
2b06561a
DL
49342000-10-05 Dave Love <fx@gnu.org>
4935
4936 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4937 position like menu-bar.
4938
ca839c85
GM
49392000-10-05 Gerd Moellmann <gerd@gnu.org>
4940
4941 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4942
4943 * xdisp.c (handle_single_display_prop): Use safe_call1.
4944 (safe_call): Renamed from call_function.
4945 (safe_call1): New function.
4946 (handle_fontified_prop): Use safe_call1 instead of call1.
4947 (safe_eval): Renamed from eval_form.
4948 (safe_eval_handler): Renamed from eval_handler.
4949 (handle_single_display_prop, display_mode_element): Use safe_eval
4950 instead of eval_form.
4951
4952 * xfaces.c (merge_face_heights): Use safe_call instead of
4953 call_function.
4954
4955 * keyboard.c (show_help_echo): Use safe_call instead of
4956 call_function; use safe_eval instead of eval_form.
4957
4958 * lisp.h (safe_call): Renamed from call_function.
4959 (safe_eval): Renamed from eval_form.
4960 (safe_call1): Add prototype.
4961
a3489ece
MB
49622000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4963
4964 * xfns.c (image_ascent): Rearrange ascent calculation for the
4965 has-a-font case.
4966
35810b6f
SM
49672000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4968
4969 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4970 (where_is_internal_1): Don't bother ignoring menu-items any more.
4971
3dc78168
GM
49722000-10-04 Gerd Moellmann <gerd@gnu.org>
4973
4974 * keyboard.c (update_menu_bindings): New variable.
4975 (parse_menu_item): Use AREF. If update_menu_bindings
4976 is 0, don't update menu bindings.
4977 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4978
1efc2bb9
EZ
49792000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4980
4981 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4982 to `mark_object'.
4983
3f679f55
SM
49842000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4985
4986 * syntax.c (forw_comment): Match nestedness of ender/starter.
4987 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4988 (prev_char_comstart_first): Remove.
4989 (back_comment): Check two-char comment markers more carefully
4990 to better handle overlapping cases like *//* or /* */* */ ...
4991 Match nestedness of ender/starter.
4992
2021ab61
DL
49932000-10-02 Dave Love <fx@gnu.org>
4994
4995 * config.in (HAVE_GAI_STRERROR): Add undef.
4996
4997 * process.c (Fopen_network_stream): Use it.
4998
4999 * m/alpha.h (NO_REMAP): Don't define.
5000
64e6cc18
GM
50012000-10-02 Gerd Moellmann <gerd@gnu.org>
5002
5003 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5004 return with a string converted to an integer or vice versa when
5005 Vmocklisp_arguments is t.
5006 (Fsignal): Likewise. The function can return for `quit'.
5007 (struct gcpro): Declare member `var' to point to a volatile
5008 Lisp_Object.
5009
5010 * eval.c (error): Prevent compiler warning.
5011
b1904cd9
SM
50122000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5013
5014 * keymap.c (keymap_memberp): New function.
5015 (Fset_keymap_parent): Use it.
5016 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5017 Use keymap_memberp to avoid creating cycles.
5018 (access_keymap): Use KEYMAPP.
5019
71c9ec51
GM
50202000-09-30 Gerd Moellmann <gerd@gnu.org>
5021
5022 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5023 gai_strerror. Make sure xerrno is set if connect fails. Improve
5024 error recovery.
71c9ec51 5025
c70c6b58
JR
50262000-09-29 Jason Rumney <jasonr@gnu.org>
5027
5028 * w32term.c (w32_char_font_type, w32_encode_char)
5029 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5030 (w32_bdf_per_char_metric): New function.
5031 (w32_per_char_metric): Use it.
5032 (x_draw_glyph_string_background): Always draw background for BDF
5033 glyphs.
5034
5035 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5036 GDI object which is a scarce resource.
5037
5038 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5039 (get_quoted_string): Fix limit on memchr search.
5040 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5041 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5042 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5043 (get_cached_font_char, cache_char_offset): Use macro
5044 BDF_CODEPOINT_RANGE_COVER_P.
5045 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5046 (clear_cached_bitmap_slots): New function.
5047 (GET_HEX_VALUE): G-Z, g-z are not hex.
5048 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5049 (get_bitmap_with_cache): Use new cache implementation.
5050 (create_offscreen_bitmap): New function.
5051 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5052
5053 * w32term.c (x_produce_glyphs): If the distance from the current
5054 position to the next tab stop is less than a canonical character
5055 width, use the tab stop after that.
5056 (x_draw_glyphs): Handle case START and END are out of bounds more
5057 carefully.
5058 (x_clear_mouse_face): Block/unblock input.
5059 (x_display_and_set_cursor): Don't show a hollow box cursor for
5060 buffers whose cursor_type is nil.
5061
fe01239f
GM
50622000-09-29 Gerd Moellmann <gerd@gnu.org>
5063
52283633 5064 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5065
5066 * dispextern.h (updating_frame): Declare extern.
5067
e7c52f1f
AS
50682000-09-29 Andreas Schwab <schwab@suse.de>
5069
5070 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5071
de6e1f7c
GM
50722000-09-29 Gerd Moellmann <gerd@gnu.org>
5073
25126faa
GM
5074 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5075 use its function definition.
5076 (tool_bar_items): Likewise.
5077
de6e1f7c 5078 * lisp.h (fatal): Declare NO_RETURN.
52283633 5079
454ee39b
KH
50802000-09-29 Kenichi Handa <handa@etl.go.jp>
5081
5082 * keymap.c: Remove the line "#undef NULL".
5083
96301c5f
GM
50842000-09-28 Gerd Moellmann <gerd@gnu.org>
5085
52283633 5086 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5087
efffeeb4
DL
50882000-09-28 Dave Love <fx@gnu.org>
5089
ecb8b666
DL
5090 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5091
dc3cd20f
DL
5092 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5093
5094 * .gdbinit (xreload): Note its need on GNU/Linux.
5095
efffeeb4
DL
5096 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5097 r_alloc, r_alloc_free.
5098
8610d903
KH
50992000-09-28 Kenichi Handa <handa@etl.go.jp>
5100
5101 * syntax.c (skip_chars): Handle negation correctly.
5102
8901d1ac
GM
51032000-09-27 Gerd Moellmann <gerd@gnu.org>
5104
6f22f1ad
GM
5105 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5106 with non-zero FORCE_P argument.
5107
52283633 5108 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5109 Add assertions.
5110
5111 * xdisp.c (window_box_height): Add an assertion.
5112
5113 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5114 tool-bar than is available.
5115 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5116
36f1966f
DL
51172000-09-27 Dave Love <fx@gnu.org>
5118
efffeeb4 5119 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5120
31d929e5
GM
51212000-09-26 Gerd Moellmann <gerd@gnu.org>
5122
c98863bf
GM
5123 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5124 instead of BITS_PER_INT.
5125 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5126 EMACS_UINT, respectively.
5127 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5128
5129 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5130
5131 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5132
77072ab1
GM
5133 * window.c (freeze_window_starts): Construct last argument for
5134 foreach_window differently.
5135
5136 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5137
5138 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5139 EMACS_UINT instead of `int' and `unsigned int'.
5140 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5141
5142 * frame.h (struct frame): Make the `nothing' member of union
5143 output_data an EMACS_INT.
5144
52283633 5145 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5146 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5147 size in the sdata structure.
5148 (SDATA_NBYTES, SDATA_DATA): New macros.
5149 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5150 differently for the different layout of the sdata structure.
5151 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5152 in sdata.
5153 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5154 Check that size recorded in the string size and size recorded in
5155 the sdata structure agree.
5156
3e60b029
DL
51572000-09-25 Dave Love <fx@gnu.org>
5158
5159 * buffer.c: Include stdio.h.
5160
5161 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5162
3e60b029
DL
5163 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5164
5165 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5166 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5167 (__malloc_extra_blocks): Declare as __malloc_size_t.
5168
8ff16b4e
GM
51692000-09-25 Gerd Moellmann <gerd@gnu.org>
5170
755a2ccd
GM
5171 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5172
d8b4516f
GM
5173 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5174 (read_char): If help-echo is showing, preserve the echo area
5175 when redisplaying.
5176
5177 * xdisp.c (help_echo_showing_p): New variable.
5178 (set_message): Reset it to 0.
5179 (init_xdisp): Initialize help_echo_showing_p.
5180
5181 * dispextern.h (help_echo_showing_p): Declare extern.
5182
5183 * config.in: Fix typo in __GNUC_MINOR__.
5184
5185 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5186
b11af2dd
GM
5187 * s/freebsd.h (POSIX_SIGNALS): Define.
5188
8ff16b4e
GM
5189 * xterm.c (x_clear_mouse_face): Block/unblock input.
5190
844eb643
DL
51912000-09-24 Dave Love <fx@gnu.org>
5192
5193 * fns.c (base64_encode_1): Fix last change.
5194
b30ab1b3
GM
51952000-09-22 Gerd Moellmann <gerd@gnu.org>
5196
5197 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5198
5199 * xdisp.c (try_window_reusing_current_matrix): More fixes
5200 for the case window has a header-line.
5201
c6cbe5f0
DL
52022000-09-22 Dave Love <fx@gnu.org>
5203
4c7c1f3f
DL
5204 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5205 a doc string.
5206
5207 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5208
c6cbe5f0
DL
5209 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5210
550a625e
GM
52112000-09-21 Gerd Moellmann <gerd@gnu.org>
5212
4c7c1f3f 5213 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5214 for GCC >= 2.5.
5215
52283633
SM
5216 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5217 Declare NO_RETURN.
fca99116 5218
80d26f99
GM
5219 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5220 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5221 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5222 warnings.
52283633 5223
80d26f99
GM
5224 * marker.c (byte_char_debug_check): Return void.
5225
623a0aae
GM
5226 * xfns.c (Fx_create_frame): Set default frame parameter value
5227 for tool-bar-lines to 1.
5228
5229 * dispnew.c (scrolling_window): Compare y-positions of rows
5230 equal at the start. Some simplification.
5231
5232 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5233 reused rows' y-position in the case window has a header-line, and
5234 new window start is greater than old window start.
5235
42ac0ae5
GM
5236 * process.c (process_sent_to): New variable.
5237 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5238 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5239 Declare more parameters volatile.
5240
550a625e
GM
5241 * lread.c (Vrecursive_load_depth_limit): New variable.
5242 (Fload): Check recursive loads whose recursion depth exceeds
5243 Vrecursive_load_depth_limit.
5244 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5245
8320414c
GM
52462000-09-20 Gerd Moellmann <gerd@gnu.org>
5247
f46c275e
GM
5248 * fileio.c (Fread_file_name): Doc fix.
5249
5250 * editfns.c (Fmessage_or_box): Doc fix.
5251
5252 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5253
b7e11c5b 5254 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5255
8320414c
GM
5256 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5257 symbols are specified, add color translations to the cache.
52283633 5258 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5259 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5260 xpm_cache_color.
5261 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5262 structures to xpm_init_color_cache.
5263
da1608d9
GM
52642000-09-19 Gerd Moellmann <gerd@gnu.org>
5265
52283633 5266 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5267
6badfa25
AI
52682000-09-19 Andrew Innes <andrewi@gnu.org>
5269
5270 * makefile.nt (bootstrap-emacs): Don't change directory.
5271
3a5f42bb
KH
52722000-09-19 Kenichi Handa <handa@etl.go.jp>
5273
1b7649bd
KH
5274 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5275
3a5f42bb
KH
5276 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5277 If output buffer is too small, signal an appropriated error.
5278
9f83cf0b
DL
52792000-09-18 Dave Love <fx@gnu.org>
5280
52283633 5281 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5282 (current_active_maps): Remove redundant get_local_map call.
5283
28c7826c
GM
52842000-09-18 Gerd Moellmann <gerd@gnu.org>
5285
5cefa566
GM
5286 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5287 cursor for buffers whose cursor_type is nil.
52283633 5288
6fed3546
GM
5289 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5290 a feature to implement that is already implemented.
5291 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5292 warnings.
5293
5294 * xfns.c (x_clear_image_1): New function.
5295 (x_clear_image): Use it.
52283633 5296 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5297
05b1f851
GM
5298 * dispnew.c (update_window): Move test for invisible lines
5299 at the top to update_window_line.
5300 (update_window_line): Handle invisible lines here.
5301
f4779de9
GM
5302 * xfns.c (clear_image_cache): Clear current matrices of all
5303 frames sharing an image cache. Block input while freeing
5304 images. Fix timestamp comparison.
5305 (x_clear_image): Also free the mask.
5306
28c7826c
GM
5307 * xfns.c (lookup_image): Block input while loading the image so
5308 that we won't get interrupted in a state where the image isn't yet
5309 set up completely.
5310 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5311 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5312 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5313 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5314
b7412313
GM
53152000-09-16 Gerd Moellmann <gerd@gnu.org>
5316
5317 * dispnew.c (update_window): Make sure to make desired rows
5318 current even if they are completely invisible at the top
5319 of a window.
5320
47e351a3
GM
53212000-09-15 Gerd Moellmann <gerd@gnu.org>
5322
7f8f1edc
GM
5323 * xfns.c (lookup_image): Build mask before applying an algorithm.
5324 Recognize algorithm `disabled'.
5325 (cross_disabled_images): New variable.
5326 (COLOR_INTENSITY): New macro.
5327 (x_detect_edges): Use COLOR_INTENSITY.
5328 (x_disable_image): New function.
5329 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5330
5331 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5332 disabled state, don't apply an image transformation algorithm if
5333 the user specified an image for the disabled state. Use
28c7826c 5334 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5335 user hasn't specified an image.
5336
ebb8f116
GM
5337 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5338 allocation functions with the XPM lib.
5339 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5340 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5341 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5342 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5343 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5344 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5345 functions, if possible, because these handle color allocation
5346 failure more gracefully.
5347 (Fimage_mask_p): New function.
5348
47e351a3
GM
5349 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5350 (Qedge_detection, Qheuristic): New symbols.
5351 (syms_of_xfns): Initialize new symbols.
5352 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5353 `algorithm (edge-detection ...)'.
5354 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5355 (tiff_format, gif_format, gs_format): Add `:mask'.
5356 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5357 (GIF_MASK, GS_MASK): New enumerators.
5358 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5359 (emboss_matrix, laplace_matrix): New variables.
5360 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5361 (x_edge_detection): New functions.
5362 (x_laplace): Rewritten in terms of x_detect_edges.
5363 (x_build_heuristic_mask): If image has a mask, free it.
5364
fe83b953
AI
53652000-09-14 Andrew Innes <andrewi@gnu.org>
5366
5367 * makefile.w32-in: Revert to Unix line endings.
5368
3021e816
AI
53692000-09-14 Andrew Innes <andrewi@gnu.org>
5370
5371 * makefile.w32-in: Standardize indentation somewhat.
5372 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5373 cater for differences between shells.
5374
5375 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5376
2a32b5ea
GM
53772000-09-14 Gerd Moellmann <gerd@gnu.org>
5378
5379 * xterm.c (x_produce_glyphs): If the distance from the current
5380 position to the next tab stop is less than a canonical character
5381 width, use the tab stop after that.
5382
b4331e96
DL
53832000-09-14 Dave Love <fx@gnu.org>
5384
5385 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5386
ef9e4345
GM
53872000-09-14 Gerd Moellmann <gerd@gnu.org>
5388
085536c2
GM
5389 * xdisp.c (handle_fontified_prop): While running fontification
5390 functions, bind `fontification-functions' and
5391 `after-change-functions' to nil.
5392
ef9e4345
GM
5393 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5394 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5395
5396 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5397
5398 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5399 USE_MMAP_FOR_BUFFERS.
5400
5401 * insdel.c (make_gap): Use enlarge_buffer_text.
5402
5403 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5404 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5405 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5406 from former r_alloc_* functions in ralloc.c.
52283633 5407 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5408 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5409 (mmap_init) [REL_ALLOC_MMAP]: New function.
5410 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5411 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5412 BUFFER_FREE.
5413
5414 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5415 (enlarge_buffer_text): Add prototype.
5416
5417 * ralloc.c: Remove everything having to do with the use of mmap.
5418
f8608968
GM
54192000-09-13 Gerd Moellmann <gerd@gnu.org>
5420
2a494b2d
GM
5421 * sound.c (Fplay_sound): Doc fix.
5422
8c907a56
GM
5423 * keyboard.c: Avoid some more compiler warnings.
5424 (parse_tool_bar_item): Ignore cached key bindings.
5425
f8608968
GM
5426 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5427 and allocation of Lisp data.
5428
6ab70e9a
GM
54292000-09-12 Gerd Moellmann <gerd@gnu.org>
5430
d12d0a9b
GM
5431 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5432 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5433 defaults first.
5434
6ab70e9a
GM
5435 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5436
63c36c3c
KH
54372000-09-12 Miyashita Hisashi <himi@meadowy.org>
5438
5439 * ccl.c: Comment fixed.
5440 (MAX_MAP_SET_LEVEL): Increased to 30.
5441 (PUSH_MAPPING_STACK): Enclose with do-while block.
5442 (POP_MAPPING_STACK): Likewise.
5443 (stack_idx_of_map_multiple): New variable.
5444 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5445 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5446 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5447 (ccl_driver) <CCL_MapSingle>: Likewise.
5448 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5449 with the case where looking up process reaches to the end of
5450 map-set, and call CCL programs as the above change.
5451
7ee3bd7b
GM
54522000-09-11 Gerd Moellmann <gerd@gnu.org>
5453
8ec8a5ec
GM
5454 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5455 that might be clobbered by longjmp.
5456 (check_x_display_info, x_decode_color, create_frame_xic)
5457 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5458 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5459
f74b0705
GM
5460 * lread.c (init_lread): Set Vloads_in_progress to nil.
5461 (Fload): Show list of recursively loaded files, when signaling an
5462 error.
5463
7ee3bd7b
GM
5464 * lread.c (Vloads_in_progress): New variable.
5465 (record_load_unwind): New function.
5466 (Fload): Check for recursive loads.
5467 (syms_of_lread): Initialize Vloads_in_progress.
5468 (read_integer, read1): Avoid some compiler warnings.
5469
5470 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5471 compiler warnings.
5472
974e1e5b
MB
54732000-09-11 Miles Bader <miles@gnu.org>
5474
5475 * editfns.c (Fbuffer_string): Doc fix.
5476
9824c4e3
GM
54772000-09-10 Gerd Moellmann <gerd@gnu.org>
5478
5479 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5480
6a72fdd1
KR
54812000-09-09 Ken Raeburn <raeburn@gnu.org>
5482
5483 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5484 whether to include other header files.
5485
28e6fb66
GM
54862000-09-09 Gerd Moellmann <gerd@gnu.org>
5487
52283633 5488 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5489 by Fmemq as a boolean.
28e6fb66 5490
7f8b6551
SM
54912000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5492
5493 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5494
a8710abf
GM
54952000-09-08 Gerd Moellmann <gerd@gnu.org>
5496
d1a02881
GM
5497 * ralloc.c (mmap_fd): Remove initializer which can make it
5498 read-only in a dumped Emacs.
5499 (mmap_fd_1): New variable.
5500 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5501 restore it from there.
5502 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5503 unconditionally so that mmap_fd can be initialized there.
5504 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5505 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5506 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5507
c454aac1
GM
5508 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5509
5510 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5511 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5512
fc653ef2
GM
5513 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5514
3015eec0
GM
5515 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5516 inheritance.
5517
bfe0ee88
GM
5518 * xdisp.c (try_window_id): When trying to locate cursor in
5519 unchanged rows at the top, handle the case that we can't find it.
5520
a8710abf
GM
5521 * xterm.c (x_draw_glyphs): Handle case START and END are out
5522 of bounds more carefully.
5523
6b7d4ae4
DL
55242000-09-08 Dave Love <fx@gnu.org>
5525
423193c5
DL
5526 * s/sol2.h (REL_ALLOC_MMAP): Define.
5527 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5528
5529 * ralloc.c: Don't include string.h (redundant).
5530 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5531 [!MAP_ANON]: Include fcntl.h.
5532 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5533 (r_alloc, r_re_alloc, r_alloc_free)
5534 (mmap_enlarge, mmap_set_vars): Use it.
5535 (r_alloc_init_fd): New function.
5536 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5537 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5538 malloc type.
5539
5540 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5541 Remove vm-limit.o.
5542
6b7d4ae4
DL
5543 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5544 change to __NetBSD__.
5545
44d31981
KH
55462000-09-08 Kenichi Handa <handa@etl.go.jp>
5547
5548 * search.c (compile_pattern): Check the multibyteness of cached
5549 string and PATTERN.
5550
aad40737
MB
55512000-09-08 Miles Bader <miles@gnu.org>
5552
5553 * xfaces.c (default_face_vector): Function removed.
5554 (Finternal_merge_in_global_face): Restore old global/local
5555 attribute override order. Use inline loop instead of calling
5556 default_face_vector.
5557
91a211b5
GM
55582000-09-07 Gerd Moellmann <gerd@gnu.org>
5559
5560 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5561 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5562 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5563 where necessary, in case POINTER_TYPE is `void'.
5564
03419440
EZ
55652000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5566
5567 * frame.c (make_terminal_frame): Initialize frame foreground and
5568 background colors to unspecified, for the initial instance of an
5569 MSDOS frame.
5570
f46f845b
GM
55712000-09-07 Gerd Moellmann <gerd@gnu.org>
5572
24f76fbf
GM
5573 * ralloc.c (mmap_find): Fix overlap computation.
5574 (mmap_enlarge): Compute nbytes before trying to find an
5575 overlapping region.
5576
f46f845b
GM
5577 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5578 instead of `!='.
5579
5580 * lread.c (syms_of_lread): Change value of regexp
5581 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5582
5583 * xmenu.c (xdialog_show): When looking up the selection in
5584 menu_items, take `quote' boundaries into account; this corresponds
5585 to a nil ITEM in x-popup-dialog.
5586
3c014385
KH
55872000-09-07 Kenichi Handa <handa@etl.go.jp>
5588
fd6f711b
KH
5589 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5590 not 0x81.
5591 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5592
3c014385 5593 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5594 encoding, not decoding. Fix the handling of latin-jisx0201.
5595 Check for the charset katakana-jisx0201 too.
3c014385 5596 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5597 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5598
0da3ecef
GM
55992000-09-07 Gerd Moellmann <gerd@gnu.org>
5600
ab0ee409
GM
5601 * xfaces.c (Vparam_value_alist): New variable.
5602 (syms_of_xfaces): Initialize it.
5603 (Finternal_set_lisp_face_attribute): Avoid more consing.
5604
5605 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5606 specially.
5607 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5608 (Qbackground_mode): New variable.
5609 (syms_of_frame_1): Initialize Qbackground_mode.
5610
5611 * lisp.h (Qdisplay): Declare extern.
1091dd67 5612
0da3ecef
GM
5613 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5614 change face on all frames, and change the default for new frames.
5615
b14654b9
DL
56162000-09-07 Dave Love <fx@gnu.org>
5617
5618 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5619
d24fd56f
KH
56202000-09-07 Kenichi Handa <handa@etl.go.jp>
5621
794f3670
KH
5622 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5623
0fddd0dc
KH
5624 * charset.c: Include composite.h
5625 (lisp_string_width): New function.
5626 (Fstring_width): Call lisp_string_width instead of strwidth.
5627
5628 * Makefile.in (charset.o): Depends on composite.h.
5629
d24fd56f
KH
5630 * process.c (read_process_output): Before inserting the decoded
5631 text in the buffer, adjust the multibyteness.
5632
fa0b693c
GM
56332000-09-06 Gerd Moellmann <gerd@gnu.org>
5634
52283633 5635 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5636 buffer's text buffer is null, map new memory.
5637
0a58f946
GM
5638 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5639 POINTER_TYPE and size_t.
5640 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5641 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5642 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5643 [REL_ALLOC_MMAP]: New macros.
5644 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5645 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5646 [REL_ALLOC_MMAP]: New functions.
5647
5648 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5649 before and after unexec.
5650
5651 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5652 text buffers if necessary.
5653
5654 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5655 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5656 in prototypes.
5657
fa0b693c
GM
5658 * config.in (HAVE_MMAP): Add #undef.
5659
877055f6
GM
56602000-09-05 Gerd Moellmann <gerd@gnu.org>
5661
08ba3862
GM
5662 * frame.c (Qdisplay_type): New variable.
5663 (syms_of_frame_1): Initialize it.
5664 (Fframe_parameter): New function that avoids consing.
5665 (syms_of_frame): Defsubr it.
5666
66ffe51c
GM
5667 * buffer.c (Fother_buffer): Consider buffers as invisible when
5668 they are displayed in a window on an invisible frame.
5669
877055f6
GM
5670 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5671 get-largest-window always return nil.
5672
bb970e67
GM
56732000-09-04 Gerd Moellmann <gerd@gnu.org>
5674
5675 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5676 variable; recognize Emacs 19 elc files.
5677
7a3d0e0e
MB
56782000-09-04 Miles Bader <miles@gnu.org>
5679
5680 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5681 before initially popping up the menu, so the menu doesn't flash
52283633 5682 when the face settings are significantly different from the defaults.
7a3d0e0e 5683
14473664
SM
56842000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5685
5686 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5687 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5688 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5689 (BIT_UNIBYTE): Remove.
5690 (re_match_2_internal): Delete corresponding code and streamline the
5691 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5692 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5693 (re_wctype_t): New type.
5694 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5695 (regex_compile): Use them and fix handling of overly long char classes.
5696
c1174479
AI
56972000-09-03 Andrew Innes <andrewi@gnu.org>
5698
f8803e97
AI
5699 * makefile.w32-in: Change to DOS line endings.
5700
c1174479
AI
5701 * s/ms-w32.h (ORDINARY_LINK): New define.
5702
5703 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5704 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5705
5706 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5707 (distclean): Delete them here instead.
5708
44ef7cf6
AI
5709 * w32proc.c (compare_env): Convert to uppercase for comparison,
5710 not lowercase, to match how the native Windows shell works.
5711
49b3bd82
JR
57122000-09-03 Jason Rumney <jasonr@gnu.org>
5713
5714 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5715 CVS changes the line-ends when checking in/out on DOS/Windows.
5716
5717 * makefile.nt (emacs): Do not change directory to run temacs, as
5718 the load-path is set relative to current directory.
5719
a3d35a39
MB
57202000-09-03 Miles Bader <miles@gnu.org>
5721
5722 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5723
d276b0cf
GM
57242000-09-02 Gerd Moellmann <gerd@gnu.org>
5725
715e84c9
GM
5726 * xdisp.c (redisplay_mode_lines): New function.
5727 (display_mode_lines): Return number of mode lines displayed.
5728 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5729 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5730
8892f40b
GM
5731 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5732 string.h and strings.h.
5733 (index) [HAVE_INDEX]: Add prototype.
5734
d276b0cf
GM
5735 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5736 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5737
5738 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5739 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5740
38404229
GM
57412000-09-01 Gerd Moellmann <gerd@gnu.org>
5742
5743 * lread.c (read1): Accept `?' as symbol constituent, for
5744 compatiblity with XEmacs.
5745
c0f9ea08
SM
57462000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5747
5748 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5749 (struct re_pattern_buffer): Remove newline_anchor.
5750 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5751 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5752 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5753 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5754 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5755 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5756 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5757 Get rid of references to newline_anchor.
5758 (regcomp): Allocate and precompute a fastmap.
5759
8c0f83fe
GM
57602000-08-31 Gerd Moellmann <gerd@gnu.org>
5761
5762 * lread.c (openp): GCPRO local variable `filename'.
5763
4bb91c68
SM
57642000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5765
5766 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5767
5768 * regex.c: Merge some changes from GNU libc. Add prototypes.
5769 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5770 Use memcmp and memcpy instead of bcopy and bcmp.
5771 (init_syntax_once): Use ISALNUM.
5772 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5773 (REG_UNSET_VALUE): Remove. Use NULL instead.
5774 (REG_UNSET, re_match_2_internal): Use NULL.
5775 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5776 New macros.
5777 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5778 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5779 (regex_compile): In handle_interval, return an error rather than try to
5780 unfetch the interval if we can't find the closing brace.
5781 Obey the RE_NO_GNU_OPS syntax bit.
5782 (TOLOWER): New macro.
5783 (regcomp): Use it.
5784 (regexec): Allocate regs.start and regs.end as one block.
5785
5226a931
GM
57862000-08-30 Gerd Moellmann <gerd@gnu.org>
5787
868dd24b
GM
5788 * xdisp.c (echo_area_display): Check display_completed instead
5789 of calling detect_input_pending.
5790
5791 * dispnew.c (update_frame): Only set display_completed here; move
5792 the update_begin and update_end calls here from update_frame_1.
5793 (update_frame_1): Don't set display_completed here, don't call
5794 update_begin/update_end.
5795
5226a931
GM
5796 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5797 instead of store_frame_param.
5798
2a8bd25f
GM
57992000-08-29 Gerd Moellmann <gerd@gnu.org>
5800
5801 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5802 desired window matrix hasn't been displayed, use the current row
5803 instead. Make sure that only those frame rows are updated for
5804 which there exists a corresponding enabled desired row.
52283633 5805
ba3478d9
MB
58062000-08-29 Miles Bader <miles@gnu.org>
5807
5808 * xfaces.c (default_face_vector): New function.
5809 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5810
87d0f685
GM
58112000-08-29 Gerd Moellmann <gerd@gnu.org>
5812
5813 * lread.c (openp): Prevent temporary string passed to
5814 Ffile_readable_p from being garbage collected.
5815
6fa86045
DL
58162000-08-28 Dave Love <fx@gnu.org>
5817
5818 * keymap.c (store_in_keymap): Add `static' to declaration.
5819
bb17930d
GM
58202000-08-28 Gerd Moellmann <gerd@gnu.org>
5821
5822 * emacs.c, callint.c, doc.c, editfns.c
5823 (toplevel) [HAVE_STRING_H]: Include string.h.
5824 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5825 (index): Remove prototypes which might conflict with non-standard
5826 definitions of index/strchr.
5827
5828 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5829 (rindex): Define only if !HAVE_RINDEX.
5830
5831 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5832
5833 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5834
87188200
MB
58352000-08-28 Miles Bader <miles@gnu.org>
5836
5837 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5838 made inconsistent by a font-related attribute in FROM.
5839 (merge_face_inheritance): Add function comment.
5840
41a68aef
KH
58412000-08-28 Kenichi Handa <handa@etl.go.jp>
5842
5843 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5844 the 4th arg (PREV_EVENT) Qt to suppress input method.
5845
f7c436c1
SM
58462000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5847
0b32bf0e
SM
5848 * regex.c: Indent cpp directives and remove parens after `defined'.
5849 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5850 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5851 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5852 (re_compile_pattern): Use size_t for length.
5853 (init_syntax_once): Move to a better place.
5854 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5855 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5856
f7c436c1
SM
5857 * syntax.c (back_comment): Detect cases where a comment-starter is
5858 actually inside another comment as in: /* a // b */ c // d \n.
5859 Make it clear that `comstart_pos' is unused for nested comments.
5860
5861 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5862 (KEYMAPP): New macro.
5863 (Fkeymap_parent, Fset_keymap_parent): Use it.
5864 (fix_submap_inheritance): Mark it static.
5865 (define_as_prefix, describe_buffer_bindings, describe_command)
5866 (describe_translation, describe_map): Complete prototypes.
5867
5868 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5869
5870 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5871 to better match the key-lookup behavior.
5872
6288c62f
GM
58732000-08-27 Gerd Moellmann <gerd@gnu.org>
5874
5875 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5876 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5877
e931344e
EZ
58782000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5879
5880 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5881 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5882 (xterm.o): Depend on coding.h
5883
d10dfeef
KH
58842000-08-26 Kenichi Handa <handa@etl.go.jp>
5885
5886 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5887 the corresponding '#endif'.
5888
2d73e8d3
MB
58892000-08-26 Miles Bader <miles@gnu.org>
5890
5891 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5892 * xfaces.c (QCinherit): New variable.
5893 (syms_of_xfaces): Initialize it.
5894 (LFACE_INHERIT): New macro.
5895 (Finternal_get_lisp_face_attribute)
52283633 5896 (merge_face_vector_with_property)
2d73e8d3
MB
5897 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5898 (check_lface_attrs): Allow new types of face height. Check
5899 inherit attribute.
5900 (CYCLE_CHECK): New macro.
5901 (merge_face_inheritance): New function.
5902 (merge_face_vectors): Merge inherited faces too. Add F and
5903 CYCLE_CHECK arguments.
5904 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5905 (lookup_named_face, lookup_derived_face, realize_named_face)
5906 (face_at_string_position, face_at_buffer_position): Supply
5907 new F and CYCLE_CHECK arguments to merge_face_vectors.
5908 (merge_face_heights): New function.
52283633 5909 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5910 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5911 handle relative face heights.
5912 (lface_same_font_attributes_p): Compare heights using EQ.
5913
6ce974d4
KH
59142000-08-26 Kenichi Handa <handa@etl.go.jp>
5915
5916 * charset.c (char_to_string): Check the character validity.
52283633 5917 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5918
dc1e502d
SM
59192000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5920
5921 * regex.c (PUSH_FAILURE_COUNT): New macro.
5922 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5923 Handle popping of a register's or a counter's data.
5924 (POP_FAILURE_POINT): Use the new name.
5925 (re_match_2_internal): Push counter data on the stack for succeed_n,
5926 jump_n and set_number_at and remove misleading dead code in succeed_n.
5927
bd9d0f3f
GM
59282000-08-25 Gerd Moellmann <gerd@gnu.org>
5929
5930 * xdisp.c (redisplay_internal): If considering all windows on all
5931 frames, update the display for each frame as soon as possible,
5932 instead of first building all desired matrices for all frames, and
5933 then updating them all.
5934 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5935
aa5b8e15
GM
59362000-08-24 Gerd Moellmann <gerd@gnu.org>
5937
17494071
GM
5938 * bytecode.c (mark_byte_stack): Add a comment.
5939
52283633
SM
5940 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5941 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5942 a graphical frame.
5943
c543db81
KH
59442000-08-24 Kenichi Handa <handa@etl.go.jp>
5945
d246d5f5
KH
5946 * minibuf.c (do_completion): Always use compare-string, not
5947 string-equal because the latter doesn't pay attention to
5948 multibyteness of strings.
5949
c543db81
KH
5950 * process.c (create_process): Don't setup raw-text coding here.
5951 (Fopen_network_stream): Don't set coding->src_multibyte and
5952 coding->dst_multibyte here.
5953 (read_process_output): For process filter, return unibyte string
5954 if default-enable-multibyte-characters is nil.
5955 (send_process): If OBJECT is multibyte text, be sure to encoded it
5956 by the specified coding system for the process. Otherwise, setup
5957 raw-text coding.
52283633 5958 (init_process): Don't initialize default-process-coding-system here.
c543db81 5959
9b47cfe0
EZ
59602000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5961
5962 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5963 <scroll-down-aggressively>: Likewise.
5964
f5a36960
KH
59652000-08-23 Kenichi Handa <handa@etl.go.jp>
5966
5967 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5968 zero. Set coding->produced_char correctly.
5969
69a7ffa7
AI
59702000-08-22 Andrew Innes <andrewi@gnu.org>
5971
5972 * makefile.w32-in: New file.
5973
5974 * unexw32.c (unexec): Ignore old_name, and use the actual location
5975 of the current executable instead. Base new_name on this.
5976
5977 * w32proc.c (create_child): Remove reference to security
5978 descriptor, which isn't needed and doesn't compile with mingw32.
5979
5980 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5981 up dllimport attributes.
5982 (x_update_window_end): Update prototype.
5983
5984 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5985 extern, which screws up dllimport attributes.
5986
5987 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5988 up dllimport attributes.
5989
5990 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5991 screws up dllimport attributes.
5992
5993 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5994 up dllimport attributes.
5995 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5996 screws up dllimport attributes.
5997
5998 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5999 up dllimport attributes.
6000
6001 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6002 screws up dllimport attributes.
6003
6004 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6005 screws up dllimport attributes.
6006
6007 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6008 up dllimport attributes.
6009
6010 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6011 unnecessary extern, which screws up dllimport attributes.
6012 (main): Ditto.
6013
6014 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6015 up dllimport attributes.
6016
6017 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6018 unnecessary extern, which screws up dllimport attributes.
6019
6020 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6021 screws up dllimport attributes.
6022
6023 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6024 up dllimport attributes.
6025
6026 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6027
52283633
SM
6028 * w32bdf.c (search_file_line):
6029 (set_bdf_font_info):
6030 (seek_char):
6031 (w32_get_bdf_glyph):
69a7ffa7
AI
6032 (w32_BDF_to_x_font): Fix compile warnings.
6033
52283633 6034 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6035
6036 * w32select.c: Include keyboard.h before frame.h.
6037
6038 * w32fns.c (max): Define macro.
6039 (JOHAB_CHARSET): Define if not known.
6040 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6041 (Fx_show_tip): Synch with X version.
6042
6043 * w32xfns.c: Include keyboard.h before frame.h.
6044
6045 * w32fns.c: Include keyboard.h before frame.h.
6046
6047 * w32term.c: Include keyboard.h before frame.h.
6048
6049 * fontset.c: Include keyboard.h before frame.h.
6050
6051 * w32inevt.c: Include keyboard.h before frame.h.
6052 (MOUSE_MOVED): Define if not known.
6053
6054 * minibuf.c: Include keyboard.h before frame.h.
6055
6056 * keyboard.c: Include keyboard.h before frame.h.
6057
6058 * indent.c: Include keyboard.h before frame.h.
6059
6060 * dispnew.c: Include keyboard.h before frame.h.
6061
6062 * buffer.c: Include keyboard.h before frame.h.
6063
6064 * alloc.c: Include keyboard.h before frame.h.
6065
6066 * print.c: Include keyboard.h before frame.h.
6067
6068 * process.c: Include keyboard.h before frame.h.
6069
6070 * scroll.c: Include keyboard.h before frame.h.
6071
6072 * sysdep.c: Include keyboard.h before frame.h.
6073
6074 * term.c: Include keyboard.h before frame.h.
6075
6076 * window.c: Include keyboard.h before frame.h.
6077
6078 * xdisp.c: Include keyboard.h before frame.h.
6079 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6080
6081 * frame.c: Include keyboard.h before frame.h.
6082
6083 * w32heap.h: Undefine min, max.
6084
6085 * w32gui.h: Undefine min, max.
6086
6087 * unexw32.c: Change PUCHAR to PCHAR.
6088 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6089 (relocate_offset):
6090 (get_section_info):
69a7ffa7
AI
6091 (copy_executable_and_dump_data): Remove unnecessary static defs.
6092 (copy_executable_and_dump_data): Fix compile warnings.
6093
6094 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6095
6096 * w32console.c (min): Define macro.
6097 (clear_frame, write_glyphs): Fix compile warning.
6098
52283633 6099 * w32proc.c (compare_env):
69a7ffa7
AI
6100 (find_child_console): Fix compile warning.
6101
6102 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6103 sys_errlist instead of _sys_errlist.
6104 (get_emacs_configuration_options): New function.
6105
6106 * s/ms-w32.h (sys_nerr): Provide default definition.
6107 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6108 name with _ prepended.
6109 (NSIG): Define if not known.
6110 (get_emacs_configuration): Provide extern declaration.
6111 (get_emacs_configuration_options): Provide extern declaration.
6112 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6113
6114 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6115 (map_w32_filename):
69a7ffa7
AI
6116 (read_unc_volume): Fix compile warning.
6117
6118 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6119 definitions from being used.
6120
6121 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6122
52283633 6123 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6124 (open_unc_volume): Make arg const.
6125
6126 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6127 (read_input_waiting): Remove excess parameter.
6128
6129 * w32.c (init_environment): Call _access.
6130 (check_windows_init_file): Call _close.
6131 (init_user_info): Call _putenv.
6132 (init_environment): Call _putenv and _strdup.
6133 (init_ntproc): Reset volume info cache on startup.
6134
6135 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6136 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6137 cannot override the CRT malloc.
6138
6139 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6140 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6141
6142 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6143 unless we are linking with a static CRT.
6144 (RVA_TO_PTR): Cast result to unsigned char*.
6145
6146 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6147 (add_volume_info): Use xstrdup.
6148
25060080
SM
61492000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6150
6151 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6152 (do_completion, Fminibuffer_complete_word): Use it.
6153 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6154 var so it can take non-boolean values.
6155
6917e6bb
GM
61562000-08-21 Gerd Moellmann <gerd@gnu.org>
6157
acb7cc89 6158 * editfns.c (find_field): Formatting changes.
52283633 6159 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6160 changed to prototypes, some new protypes added, some functions
6161 made static.
6162
6163 * lisp.h (set_time_zone_rule): Add prototype.
6164 (use_dialog_box): External declaration.
6165
0bbfdc25
GM
6166 * keyboard.c (gen_help_event): Add parameter SIZE.
6167 (kbd_buffer_events_waiting): Slightly rewritten.
6168 (clear_event): New function.
6169 (kbd_buffer_get_event): Use it, and clear the input_events of
6170 HELP_EVENTs.
6171 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6172 don't fill the newly created array with nils.
6173 (toplevel): Convert some old-style function forward declarations
6174 to prototypes.
6175
6176 * keyboard.h (gen_help_event): Change prototype.
6177
6178 * xterm.c (XTread_socket): Change calls to gen_help_event.
6179
6180 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6181
6917e6bb
GM
6182 * eval.c (Fmacroexpand): Doc fix.
6183
e5cd3d11
JR
61842000-08-20 Jason Rumney <jasonr@gnu.org>
6185
6186 * w32term.h (x_display_info_for_display): Remove as this function
6187 does not exist on W32.
6188
6189 * w32term.c (help_echo_window): New variable.
6190 (syms_of_w32term): staticpro it.
6191 (note_mode_line_highlight): Set it.
6192 (XTextExtents16): Removed as there is no equivalent on W32.
6193 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6194 the X way of doing this will not work for W32.
6195 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6196 (x_draw_image_foreground): Avoid drawing outside of the clip area
6197 when image doesn't have a mask.
6198 (note_mouse_highlight): Process overlays in the right order of
6199 priority. Set help_echo_window.
6200 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6201 because that's more visible for large images.
6202
6203 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6204 name to single_keymap_panes.
6205 (w32_menu_show): Set wv->title when dealing with titles.
6206 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6207
6e69ab8c
MB
62082000-08-21 Miles Bader <miles@gnu.org>
6209
6210 * minibuf.c (do_completion): Try again if we rewrite the input
6211 string, but no completion was done, so that any completion message
6212 will be correct.
6213
511bd4eb
GM
62142000-08-20 Gerd Moellmann <gerd@gnu.org>
6215
6216 * xfaces.c (lface_equal_p): Compare strings differently.
6217 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6218 (realize_tty_face): Use them.
6219 (syms_of_xfaces): Initialize new variables.
6220 (map_tty_color): New function, extracted from realize_tty_face.
6221 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6222 foreground or background color, store the new color name in the
6223 realized face; previous code trying to do this had no effect.
6224 (realize_tty_face): Use map_tty_color.
6225 (Fclear_face_cache): Set face_change_count and ensure thorough
6226 redisplay.
6227
1433385f
GM
62282000-08-19 Gerd Moellmann <gerd@gnu.org>
6229
511bd4eb
GM
6230 * undo.c (record_first_change, record_marker_adjustment): Don't
6231 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6232
419ac0a2
KH
62332000-08-18 Kenichi Handa <handa@etl.go.jp>
6234
6235 * coding.c (decode_coding_string): Set members consumed,
6236 consumed_char, produced, produced_char of *coding correctly. If
6237 decode_coding doesn't consume any byte, don't try anymore.
6238 (encode_coding_string): Likewise.
6239
7eb9e30d
GM
62402000-08-18 Gerd Moellmann <gerd@gnu.org>
6241
511bd4eb
GM
6242 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6243 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6244
6245 * xdisp.c (redisplay_internal): Compare windows for equality with
6246 EQ, instead of applying XWINDOW to something that might not
6247 be a window.
52283633 6248
dd34a735
KH
62492000-08-18 Kenichi Handa <handa@etl.go.jp>
6250
6251 * fontset.c (Finternal_char_font): Search only the selected frame
6252 for a window of the current buffer.
6253
385ff9e3
GM
62542000-08-18 Gerd Moellmann <gerd@gnu.org>
6255
511bd4eb 6256 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6257 Lisp_Objects.
6258
385ff9e3
GM
6259 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6260 second half of a HELP_EVENT is found at the start of kbd_buffer.
6261
d6abb4c7
MB
62622000-08-18 Miles Bader <miles@gnu.org>
6263
4618074a
MB
6264 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6265
d6abb4c7
MB
6266 * editfns.c (save_restriction_save): Rewrite to use markers.
6267 (save_restriction_restore): Rewrite to understand new form of data
6268 saved by save_restriction_save.
6269 (Fsave_restriction): Remove cautionary note in doc-string.
6270
a7b28523
GM
62712000-08-17 Gerd Moellmann <gerd@gnu.org>
6272
6273 * fileio.c (build_annotations): Add a comment explaining the
6274 return value of format-annotate-function. Replace a spurious call
6275 to Flength with a CONSP test. Call format-annotate-function with
6276 a fifth arg specifying how many times the function is been called
6277 in a row, to let it choose temporary buffers appropriately.
6278
03c9ed77
DL
62792000-08-17 Dave Love <fx@gnu.org>
6280
6281 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6282 declare make_temp_name twice.
6283
52283633 6284 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6285 (unreadpure): Give it an arg.
6286
6287 * unexalpha.c: Prototype fatal_unexec, mark_x,
6288 update_dynamic_symbols. Declare unexec as void.
6289
6290 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6291 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6292
6293 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6294 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6295
6296 * alloca.c: Use #error.
6297 [POINTER_TYPE]: Use it.
6298
6299 * eval.c (Fdefvar): Doc fix.
6300
6301 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6302 INITIALIZE_INTERVAL.
6303
6304 * buffer.h: Avoid DECLARE_INTERVALS.
6305
6306 * config.in: Add size_t.
6307
aae41d97
EZ
63082000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6309
6310 * w16select.c (set_clipboard_data): If there's not enough memory
6311 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6312 expects. In case of other failures, return 3.
6313 (system_error_msg): New error message.
6314 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6315 system_error_msg.
6316
65aa5e85
GM
63172000-08-16 Gerd Moellmann <gerd@gnu.org>
6318
6319 * term.c (write_glyphs): Also turn off inverse video after turning
6320 off other appearances in case TS_exit_attribute_mode is not equal
6321 to TS_end_standout_mode.
6322 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6323 with the same face.
6324 (turn_off_face): Reset standout_mode only if
6325 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6326 is equal to TS_end_standout_mode.
6327
ece23901
KH
63282000-08-16 Kenichi Handa <handa@etl.go.jp>
6329
9d7bcb2e
KH
6330 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6331 sequence at the end of the source block.
6332
ece23901
KH
6333 * ccl.c (Fccl_program_p): Docstring modified.
6334 (Fccl_execute): Likewise.
6335 (Fccl_execute_on_string): Likewise.
6336
5e30eaa2
EZ
63372000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6338
6339 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6340
290602fd
KH
63412000-08-16 Kenichi Handa <handa@etl.go.jp>
6342
6343 The following changes are mainly to fix bugs of
6344 encode/decode-coding-string failing if encoding/decoding return
6345 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6346 variable conversion_buffer.
6347
6348 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6349 decrement dst_end to avoid buffer overflow in the later call of
6350 string_as_multibyte
6351
6352 * coding.h (conversion_buffer_size, conversion_buffer)
6353 (get_conversion_buffer): Extern deleted.
6354
6355 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6356 (conversion_buffer, conversion_buffer_size): Variables deleted.
6357 (get_conversion_buffer): Function deleted.
6358 (struct conversion_buffer): New structure.
6359 (MAX_ALLOCA): New macro.
6360 (allocate_conversion_buffer): New macro.
6361 (extend_conversion_buffer, free_conversion_buffer): New functions.
6362 (ccl_coding_driver): Set coding->result.
6363 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6364 this is the last block of source.
6365 (encode_coding): Likewise. Handle the source block as the last
6366 one only when the whole source text is consumed.
6367 (decode_coding_string): Handle the case that the output buffer is
6368 too small to decode the whole source text. Use
6369 allocate_conversion_buffer, extend_conversion_buffer and
6370 free_conversion_buffer, not get_conversion_buffer.
6371 (encode_coding_string): Likewise.
6372 (init_coding): Function deleted.
52283633 6373 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6374
6375 * emacs.c (main): Don't call init_coding.
6376
52283633 6377 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6378
6379 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6380 (insert_glyphs): Likewise.
6381
6382 * w32console.c (write_glyphs): Use a locally declared
6383 conversion_buffer.
6384
b9f80d41
EZ
63852000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6386
6387 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6388 member of display_info is NULL.
6389
32dc52f7
GM
63902000-08-15 Gerd Moellmann <gerd@gnu.org>
6391
52283633 6392 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6393
32dc52f7 6394 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6395 appearances with capability `me'.
32dc52f7
GM
6396 (write_glyphs): Switch on inverse video before each face change.
6397
4eb22d33
DL
63982000-08-14 Dave Love <fx@gnu.org>
6399
6400 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6401 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6402 (lisp_free): Declare and make static.
6403
6404 * window.c: Fix embedded comment.
6405 (syms_of_window): Fix doc string.
6406
90cbf47e
GM
64072000-08-14 Gerd Moellmann <gerd@gnu.org>
6408
52283633 6409 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6410 make sure to print `C-' before `M-', like in the manual.
6411
440fc135
GM
64122000-08-11 Gerd Moellmann <gerd@gnu.org>
6413
6414 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6415 since they aren't relocated anymore.
52283633 6416 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6417
6418 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6419 partially visible line which is smaller than the window's height.
440fc135 6420
6e264fad
KH
64212000-08-11 Kenichi Handa <handa@etl.go.jp>
6422
6423 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6424 the multibyte form of eight-bit-control characters.
6e264fad
KH
6425 (Fccl_execute_on_string): Initialize ccl->multibyte.
6426
6427 * ccl.h (struct ccl_program): New member multibyte.
6428
6429 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6430
c371f69a
KH
64312000-08-11 Kenichi Handa <handa@etl.go.jp>
6432
6433 * regex.c (regex_compile) <normal_char>: Pay attention to
6434 multibyteness.
6435 (analyse_first) <exactn>: Setup fastmap correctly for
6436 eight-bit-control characters.
6437
64382000-08-11 Kenichi Handa <handa@etl.go.jp>
6439
52283633 6440 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6441
6442 * keyboard.c (make_lispy_event): Handle the new event type
6443 multibyte_char_keystroke.
6444
6445 * xterm.c: Include coding.h.
6446 (XTread_socket): Work around a bug of XmbLookupString. If the
6447 input is from XIM, decode it according to the current locale. In
6448 that case, generate multibyte_char_keystroke events.
6449
b8ddbe71
KH
64502000-08-11 Kenichi Handa <handa@etl.go.jp>
6451
6452 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6453 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6454
47589c8c
GM
64552000-08-10 Gerd Moellmann <gerd@gnu.org>
6456
6457 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6458 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6459 (move_it_in_display_line_to): Record iterator's ascent and descent
6460 before producing glyphs, and restore them when we know the glyph
6461 doesn't fit on the line.
6462 (move_it_to): Restructured so that it's easier to debug. If
6463 moving to a vpos, and not moving to an x or character position,
6464 stop as soon as the specified vpos is reached; don't move further
6465 into that line because that might change the computed line height.
6466 (try_cursor_movement): New function, extracted from the cursor
6467 movement branch of redisplay_window. If ending on a partially
6468 visible line, don't try to scroll if the cursor line is taller
6469 than the window.
6470 (redisplay_window): Use try_cursor_movement.
6471
6472 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6473 because that function doesn't cope with variable-height lines.
6474
6475 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6476 box cursor because that's better visible for large images.
52283633 6477
c51bacd6
MB
64782000-08-10 Miles Bader <miles@gnu.org>
6479
6480 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6481
bea56df7
GM
64822000-08-10 Gerd Moellmann <gerd@gnu.org>
6483
6484 * xdisp.c (Vmessages_buffer_name): New variable.
6485 (message_dolog): Use it.
6486 (syms_of_xdisp): Initialize it.
6487
99cd7364
EZ
64882000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6489
52283633 6490 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6491 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6492 redundant now that keyboard.h is included.
6493
7d093d56
EZ
64942000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6495
6496 * keyboard.c (kbd_buffer_events_waiting): New function.
6497
6498 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6499
6500 * msdos.c: Include keyboard.h.
6501 (XMenuActivate): Empty no_event events from the event buffer. If
6502 no events are left after that, call clear_input_pending.
6503 (mouse_clear_clicks): New function, code moved from mouse_init.
6504 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6505 mouse driver to ``forget'' any past clicks.
6506
6507 * Makefile.in (msdos.o): Depend on keyboard.h.
6508
41e757a6
GM
65092000-08-09 Gerd Moellmann <gerd@gnu.org>
6510
8e7bd231
GM
6511 * lisp.h (input_pending): External declaration.
6512
6513 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6514
8e7bd231
GM
6515 * xdisp.c (echo_area_display): Display thoroughly if input is
6516 pending. Bind redisplay-dont-pause to t during the redisplay.
6517 in case input is pending.
6518
6519 * dispnew.c (Qredisplay_dont_pause): New variable.
6520 (syms_of_display): Initialize and staticpro it.
6521 (update_frame_1): Don't interrupt the display for pending input if
6522 redisplay_dont_pause is set.
52283633 6523
43028b7e
GM
6524 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6525
41e757a6
GM
6526 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6527
2f2174fa
KH
65282000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6529
6530 * callproc.c (Fcall_process): Terminate the unwind-protect around
6531 the post-read-conversion of coding system.
6532
0a6fd67e
MB
6533 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6534 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6535 * buffer.h (overlays_at): Update prototype.
6536 * xdisp.c (next_overlay_change): Update call to overlays_at.
6537 * xfaces.c (face_at_buffer_position): Likewise.
6538 * textprop.c (Fget_char_property): Likewise.
6539 * xterm.c (note_mouse_highlight): Likewise.
6540
0c80756e
MB
6541 * minibuf.c (do_completion): Don't consider a simple change of
6542 case as `completion'.
6543
975f250a
KR
65442000-08-08 Ken Raeburn <raeburn@gnu.org>
6545
52283633 6546 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6547 * undo.c (record_delete): Make sure last_point_position_buffer is
6548 a buffer before comparing pointers.
6549
6550 * coding.h (decode_coding_string): Declare.
6551
6552 * intervals.h (Fprevious_single_char_property_change): Declare.
6553
6554 * textprop.c (Fprevious_single_char_property_change): Don't do
6555 arithmetic directly on lisp objects.
6556
52283633 6557 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6558
6559 * keyboard.h (menu_item_eval_property): Declare.
6560
6561 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6562 reuse as buffer name, instead of recreating (and discarding) every
6563 time a message is logged.
6564 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6565 (current_message_1, truncate_message_1, set_message_1)
6566 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6567 (current_message, truncate_echo_area, display_echo_area)
6568 (resize_echo_area_axactly): Changed calls.
b347b3fd 6569
975f250a 6570 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6571 Lisp object.
975f250a 6572 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6573 must be an integer, not a Lisp object.
975f250a 6574
46dc9912
KH
65752000-08-08 Kenichi Handa <handa@etl.go.jp>
6576
6577 * charset.c (Fchar_width): Doc fix.
6578
9f6d1a6c
GM
65792000-08-08 Gerd Moellmann <gerd@gnu.org>
6580
6581 * charset.c (Fstring_width): Doc fix.
6582
ff3d9573
GM
65832000-08-07 Gerd Moellmann <gerd@gnu.org>
6584
41e757a6 6585 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6586 line, clear ascent and descent members of the iterator structure;
6587 the height of the continued line does not affect the height of the
6588 continuation line.
6589 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6590 line taller than the window.
6591 (redisplay_window) <forced window start>: Handle case that the
6592 middle of the window is not found in any row.
6593 (dump_glyph_row): Show more information.
6594 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6595 first text line in a glyph matrix.
6596
6597 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6598 of the clip area when image doesn't have a mask.
6599
70fc58b3
GM
6600 * fns.c (sweep_weak_table): Fix survival conditions for
6601 key-or-value and key-and-value weakness.
6602
6603 * .gdbinit (xhashtable): New command.
6604
ac0e96ee
GM
6605 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6606 tables out of the list of all weak hash tables.
6607
ff3d9573
GM
6608 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6609 a new buffer is created, make sure echo_area_buffer[] references
6610 the new buffer.
6611
e0d8827b
EZ
66122000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6613
6614 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6615 the doc string.
6616
c6f35378
KH
66172000-08-07 Kenichi Handa <handa@etl.go.jp>
6618
6619 * syntax.c (skip_chars): Fix previous change. Make the handling
6620 of unibyte string consistent with that of regex search.
6621
1fd4c450
GM
66222000-08-05 Gerd Moellmann <gerd@gnu.org>
6623
e49aa397
GM
6624 * xmenu.c (popup_get_selection): Use xfree instead of free.
6625
6626 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6627
6628 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6629
6630 * callproc.c (child_setup): Use xfree instead of free.
6631
6632 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6633 instead of malloc.
6634 (run_mac_command, closedir): Use `xfree' instead of `free'.
6635
6636 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6637
6638 * eval.c (error): Use xfree instead of free.
6639
1fd4c450
GM
6640 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6641
6642 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6643 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6644
82d497fc
KH
66452000-08-05 Kenichi Handa <handa@etl.go.jp>
6646
6647 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6648 conversion.
6649
59f953a2
NF
66502000-08-04 Noah Friedman <friedman@splode.com>
6651
6652 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6653 docstring.
6654
688351f2
GM
66552000-08-04 Gerd Moellmann <gerd@gnu.org>
6656
6657 * syntax.c (skip_chars): Fix typo in error message.
6658
2dad51cc
AS
66592000-08-04 Andreas Schwab <schwab@suse.de>
6660
6661 * m/ia64.h: Moved from s/ia64.h.
6662
99bb2c60
KH
66632000-08-04 Kenichi Handa <handa@etl.go.jp>
6664
082a1df2
KH
6665 * process.c (read_process_output): Big simplification. Handle
6666 composition and post-read-conversion of coding system correctly.
6667 (send_process): Handle composition correctly.
6668
6669 * callproc.c (Fcall_process): Handle post-read-conversion of
6670 coding system if any.
6671
99bb2c60
KH
6672 * coding.c (decode_coding_iso2022): More strict check for handling
6673 single shifting.
082a1df2
KH
6674 (coding_restore_composition): Pay attention to the case that
6675 cmp_data is not set properly (because of invalid code in the
6676 source text).
6677 (run_pre_post_conversion_on_str): Include text properties in the
6678 resulting string.
6679 (decode_coding_string): Set members of coding correctly.
99bb2c60 6680
f4988be7
GM
66812000-08-03 Gerd Moellmann <gerd@gnu.org>
6682
6683 * s/ia64.h: New file.
6684
6685 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6686 Use NULL instead of 0 at the end of variable argument list of
6687 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6688 sizeof (int) < sizeof (void *).
6689
6690 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6691 of variable argument lists of XtVaGetValues and XtVaSetValues.
6692
6693 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6694 variable argument lists of XtVaGetValues and XtVaSetValues.
6695
ead53494
GM
66962000-08-02 Gerd Moellmann <gerd@gnu.org>
6697
6698 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6699 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6700
6701 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6702 prototype.
6703
6704 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6705 in call to Fsingle_key_description.
6706
6707 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6708 Callers changed.
6709
67102000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6711
6712 * window.c (display_buffer_reuse_frames): New variable.
6713 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6714 frames displaying BUFFER.
52283633 6715 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6716
10b0f752
MB
67172000-08-01 Miles Bader <miles@gnu.org>
6718
6719 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6720 when to constrain NEW_POS (they were pretty screwed up before).
6721
16425c4a
EZ
67222000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6723
6724 * msdos.c (run_msdos_command): Save and restore the master
6725 environment, for the case that child_setup signals an error.
6726 When mirroring slashes in DOS shell commands, don't fail when
6727 argv[2] has embedded blanks.
da288c14
EZ
6728 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6729 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6730 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6731
6732 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6733 using alloca; free it after run_msdos_command returns.
6734
27f73852
DL
67352000-07-27 Dave Love <fx@gnu.org>
6736
52283633
SM
6737 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6738 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6739
6740 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6741
c0261b5e
EZ
67422000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6743
6744 * editfns.c (lisp_time_argument): Fix last change.
6745
b548072f
GM
67462000-07-27 Gerd Moellmann <gerd@gnu.org>
6747
3ab82477
GM
6748 * fns.c (Fdelete): Make it work on vectors and strings in addition
6749 to lists.
6750
b548072f
GM
6751 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6752 (syms_of_fns): Initialize new variables.
52283633 6753 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6754 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6755 weakness, with t meaning the same as `key-and-value'.
6756
91ae8751
KH
67572000-07-27 Kenichi Handa <handa@etl.go.jp>
6758
6759 * coding.h (struct coding_system): Member safe_charset deleted.
6760
6761 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6762 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6763 New variables.
91ae8751
KH
6764 (coding_safe_chars): New function.
6765 (CODING_SAFE_CHAR_P): New macro.
6766 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6767 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6768 (detect_coding_iso2022): New local variable safe_chars.
6769 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6770 safe_charsets member of the coding system.
6771 (decode_coding_iso2022): New local variable safe_chars.
6772 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6773 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6774 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6775 (ENCODE_UNSAFE_CHARACTER): New macro.
6776 (encode_coding_iso2022): New local variable safe_chars. Check
6777 unsafe chars.
6778 (setup_coding_system): Delete the code to initialize
6779 coding->safe_charses
6780 (intersection, find_safe_codings): New functions.
6781 (Ffind_coding_systems_region_internal): New function.
6782 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6783 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6784 variable and initialize it.
6785
6786 * fns.c (char_table_ref_and_index): New function.
6787
6788 * lisp.h (char_table_ref_and_index): Add prototype.
6789
34a7a267
SS
67902000-07-26 Sam Steingold <sds@gnu.org>
6791
6792 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6793 (Ffloat_time): New built-in Lisp function.
34a7a267 6794
a95cb10a
GM
67952000-07-26 Gerd Moellmann <gerd@gnu.org>
6796
3353ef5a
GM
6797 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6798 for the character code.
6799
6800 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6801 GNU/Linux.
6802
a95cb10a
GM
6803 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6804 if called for a popup menu.
6805 (xmenu_show): Store help string in widget values.
6806
b4a12321
DL
68072000-07-26 Dave Love <fx@gnu.org>
6808
6809 * syswait.h: Move some definitions.
6810 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6811 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6812 perspicuous definitions.
6813 (WTERMSIG): Fix bit pattern used.
6814
13f5ad37
KH
68152000-07-26 Kenichi Handa <handa@etl.go.jp>
6816
6817 * print.c (print_object): If vector printing is truncated, print
6818 "..." to indicate it as well as the case of list printing.
6819
070fe99c
GM
68202000-07-25 Gerd Moellmann <gerd@gnu.org>
6821
969065c3
GM
6822 * xdisp.c (next_element_from_display_vector): Improve comments.
6823
6824 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6825 for the character code, and the rest for the face id as in 20.x.
6826 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6827
6828 * window.c (window_display_table): Cleaned up.
6829
070fe99c
GM
6830 * syntax.c (Fforward_word): Add last arg nil in call of
6831 Fconstrain_to_field.
6832
bad77ef7
EZ
68332000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6834
969065c3 6835 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6836 identical but for the letter-case, don't call
6837 barf_or_query_if_file_exists.
bad77ef7 6838
c28da489
MB
68392000-07-25 Miles Bader <miles@gnu.org>
6840
6841 * editfns.c (find_field): Honor special `boundary' fields.
6842 (Qboundary): New variables.
6843 (syms_of_editfns): Initialize Qboundary.
6844 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6845 Use scan_buffer instead of find_before_next_newline, because it
6846 allows us to detect the boundary case where there's a newline at
6847 the search limit.
6848 * lisp.h (Fconstrain_to_field): Update external declaration.
6849
e3c31fd5
GM
68502000-07-24 Gerd Moellmann <gerd@gnu.org>
6851
6852 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6853 if that is nil.
c28da489 6854
c66c29a2
DL
68552000-07-24 Dave Love <fx@gnu.org>
6856
6857 * s/sunos4-0.h, s/sol2.h:
6858 (LIBS_TERMCAP): Move from m/sparc.h.
6859
6860 * m/sparc.h (TERMINFO): Moved to system files (probably only
6861 relevant for sunos4 judging by its vintage).
6862 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6863 __arch64__.
6864
fbe0a958
EZ
68652000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6866
6867 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6868 name to single_keymap_panes.
6869
7d88e5c9
AS
68702000-07-24 Andreas Schwab <schwab@suse.de>
6871
6872 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6873
e024b101
GM
68742000-07-24 Gerd Moellmann <gerd@gnu.org>
6875
6876 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6877 parameters instead of using int parameters. Expect FN to accept
6878 EMACS_INT parameters.
6879 (display_echo_area, resize_echo_area_axactly, current_message)
6880 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6881 with new argument list.
6882 (resize_mini_window_1): New callback function.
6883 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6884 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6885
25c1a9ce
KH
68862000-07-24 Kenichi Handa <handa@etl.go.jp>
6887
6888 * fontset.c (fontset_ref): Remove INLINE declaration.
6889 (fontset_ref_via_base): Likewise.
6890 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6891 to downcase.
6892
7f987ac0
EZ
68932000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6894
6895 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6896 correct order of priority. If help echo was found in an overlay,
6897 use that overlay as the object in which the help echo was found.
6898
e2db3069
MB
68992000-07-22 Miles Bader <miles@gnu.org>
6900
6901 * textprop.c (Fprevious_single_char_property_change): The initial
6902 property value should be from the position preceding POSITION, not
6903 following it.
6904
5e3203e4
EZ
69052000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6906
6907 * coding.c (syms_of_coding): Doc fix for
6908 inhibit-iso-escape-detection.
6909
62145073
GM
69102000-07-21 Gerd Moellmann <gerd@gnu.org>
6911
c20aeb83
GM
6912 * xterm.c (note_mouse_highlight): Process overlays in the right
6913 order of priority.
34a7a267 6914
743934db
GM
6915 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6916
6917 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6918 overlay, use that overlay as the object in which the help was found.
743934db 6919
d1dc7e43 6920 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6921
62145073
GM
6922 * window.c (foreach_window): Instead of a fake variable argument
6923 list, take one USER_DATA argument.
6924 (foreach_window_1): Likewise, and call callback functions with two
6925 args, the window and USER_DATA.
6926 (struct check_window_data): New struct.
6927 (check_window_containing): Use it.
6928 (window_from_coordinates): Set up a struct check_window_data for
6929 foreach_window.
6930 (add_window_to_list, freeze_window_start): Change parameters
6931 according to new calling convention.
6932
6933 * window.h (foreach_window): Change prototype.
6934
6935 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6936
69372000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6938
6939 * xmenu.c (menu_help_callback): Call show_help_echo with
6940 additional arguments OBJECT and POS.
6941
11270583
KH
69422000-07-21 Kenichi Handa <handa@etl.go.jp>
6943
07b14857
KH
6944 * data.c (Faset): Allow storing any multibyte character in a
6945 string. Convert unibyte string to multibyte if necessary.
6946
11270583
KH
6947 * xfns.c (x_encode_text): New function.
6948 (x_set_name): Use x_encode_text.
6949 (x_set_title): Likewise.
6950
6951 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6952
6953 * xterm.h (x_encode_text): Add prototype.
6954
bc75b4fd
DL
69552000-07-20 Dave Love <fx@gnu.org>
6956
6957 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6958 xfree, not free.
6959
48c14970
EZ
69602000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6961
6962 * msdos.c (help_echo_window): New variable.
6963 (syms_of_msdos): Initialize and staticpro it.
6964 (IT_note_mode_line_highlight): Set help_echo_window.
6965 (IT_note_mouse_highlight): Ditto.
6966 (dos_rawgetc): Store help_echo_window in the second event produced
6967 for HELP_EVENTs.
6968
6969 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6970 Record the object that generated the help echo and the position of
6971 that object in help_echo_object and help_echo_pos. Record that
6972 some glyphs in a row are displayed in mouse-face.
6973 (IT_update_begin): Don't clear mouse highlight unless one of the
6974 enabled glyph rows is marked as being displayed in mouse-face.
6975 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6976 and position recorded in help_echo_object and help_echo_pos to the
6977 event queue.
6978 (IT_menu_display): Accept a new argument PN: the pane number of
6979 the current menu pane. Record the pane number and the item
6980 number of the item which has associated help string.
6981 (XMenuActivate): Update the prototype for help_callback in
6982 function declaration. Call IT_menu_display with the current menu
6983 pane number as an additional argument. Call help_callback with
6984 two additional arguments: the pane number and the item number of
6985 the menu item associated with the help text.
6986 (help_echo_object, help_echo_pos): New variables.
6987 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6988
6989 * msdos.h (XMenuActivate): Update prototype.
6990
4279296d
GM
69912000-07-19 Gerd Moellmann <gerd@gnu.org>
6992
47db06aa
GM
6993 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6994 Add some more prototypes.
6995
6996 * xterm.c, xterm.h: Add some more prototypes.
6997
6998 * lisp.h (Fnext_single_char_property_change): Add prototype.
6999
7000 * dispnew.c (direct_output_for_insert): Remove confusing
7001 outer local variable mouse_face_overwritten_p.
7002 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7003
4279296d
GM
7004 * alloc.c (allocate_string_data): Don't copy old string contents.
7005
670acd62
KH
70062000-07-19 Kenichi Handa <handa@etl.go.jp>
7007
7008 * coding.c (code_convert_region): Delete text properties before
7009 shrinking the conversion region.
7010
7cea38bc
GM
70112000-07-18 Gerd Moellmann <gerd@gnu.org>
7012
dc1cac59
GM
7013 * dispnew.c (update_text_area): Write the whole row if it
7014 has mouse-face in it.
7015
85a8aca9
GM
7016 * xfaces.c (face-alternative-font-family-alist): Remove
7017 DEFVAR_LISP; staticpro instead.
7018
34a7a267 7019 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7020 new arguments.
7021
7022 * keyboard.c (show_help_echo): Add parameter WINDOW.
7023 (read_char): Call show_help_echo with window extracted from Lisp
7024 help event.
7025 (gen_help_event): Add parameter WINDOW.
7026
7027 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7028
7029 * xterm.c (help_echo_window): New variable.
52283633 7030 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7031 (XTread_socket): Pass help_echo_window to gen_help_event.
7032 (syms_of_xterm): Initialize and staticpro help_echo_window.
7033
f8276b77
DL
70342000-07-18 Dave Love <fx@gnu.org>
7035
52283633 7036 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7037
088831a6
GM
70382000-07-18 Gerd Moellmann <gerd@gnu.org>
7039
3d6cd763
GM
7040 * alloc.c (allocate_string_data): If string had already data
7041 assigned, copy old contents to new string data.
7042
7043 * coding.c (syms_of_coding): Fix typo in spelling of variable
7044 `inhibit-iso-escape-detection'.
7045
088831a6
GM
7046 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7047
7048 * Makefile.in: Add dependencies on dispextern.h.
7049 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7050 `free'; both can conflict with system header files.
7051
bc8a8d55
KH
70522000-07-18 Kenichi Handa <handa@etl.go.jp>
7053
7054 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7055 undefined.
7056
069f5950
DL
70572000-07-18 Dave Love <fx@gnu.org>
7058
7059 * window.c (Fwindow_list): Declare arg `window'.
7060
aa96c820
KH
70612000-07-18 Kenichi Handa <handa@etl.go.jp>
7062
7063 * coding.c (setup_coding_system): Don't override the explicitly
7064 specified designations.
7065
06be8d32
MB
70662000-07-15 Miles Bader <miles@gnu.org>
7067
7068 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7069 from `text_property_eq' and `text_property_stickiness', respectively.
7070 (find_field, Fconstrain_to_field, char_property_eq)
7071 (char_property_stickiness): Changed to call char-property functions
7072 instead of text-property-only ones.
7073
7074 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7075 `next_single_char_property_change'). Do more error checking, and
7076 cleanup limit behavior.
7077 (Fprevious_single_char_property_change): New function.
7078 (syms_of_textprop): Initialize new subrs.
7079
7080 * xdisp.c (display_prop_end, invisible_text_between_p):
7081 Call Fnext_single_char_property_change instead of
7082 next_single_char_property_change.
7083
3fddcdc3
JR
70842000-07-15 Jason Rumney <jasonr@gnu.org>
7085
7086 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7087 after menu is finished with.
7088 (add_menu_item): Only consider wv->title as a menu title.
7089 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7090
7091 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7092 null title.
7093 (FONT_REGEXP): Remove unused macro, and its sub-components.
7094 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7095
7096 * w32term.c (help_echo_object, help_echo_pos): New variables.
7097 (note_mode_line_highlight): Store additional information about the
7098 help-echo in help_echo_object and help_echo_pos. Check both
7099 `local-map' and `keymap' properties for changing the cursor
7100 (note_mouse_highlight): Store additional information about the
7101 help-echo in help_echo_object and help_echo_pos.
7102 (note_tool_bar_highlight): Set help_echo_object to nil and
7103 help_echo_pos to -1.
7104 (w32_read_socket): Use gen_help_event instead of filling
7105 input_events manually.
7106 (syms_of_w32term): Staticpro help_echo_object.
7107 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7108 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7109 (x_clear_mouse_face): New function.
7110 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7111 (x_update_window_begin): No need to turn off the mouse
7112 highlight here.
7113 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7114 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7115 (x_fill_stretch_glyph_string): Consume runs of stretch
7116 glyphs instead of a single one.
7117 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7118 with new argument list.
7119 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7120 (x_append_glyph, x_append_composite_glyph)
7121 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7122 changes in struct glyph starting 1999-12-27. See comments for
7123 xterm.c on 2000-07-05.
7124
178c5d9c
SS
71252000-07-14 Sam Steingold <sds@gnu.org>
7126
7127 * xfaces.c (realize_x_face): Fix the last patch:
7128 check `default_face' before dereferencing.
7129
6fe533f6
DL
71302000-07-14 Dave Love <fx@gnu.org>
7131
069f5950 7132 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7133
dd7b81cf
KH
71342000-07-14 Kenichi Handa <handa@etl.go.jp>
7135
0693904a 7136 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7137 default_face's fontset, not using the default fontset.
0693904a 7138
dd7b81cf
KH
7139 * coding.c (inhibit_iso_escape_detection): New variable.
7140 (syms_of_coding): Make it a Lisp variable.
7141 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7142 nonzero, ignore ISO2022's escape sequence.
7143
d5aa31d8
GM
71442000-07-14 Gerd Moellmann <gerd@gnu.org>
7145
e5acf0ca
GM
7146 * alloca.c (malloc) [emacs]: Define as xmalloc.
7147
bd23a692
GM
7148 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7149 use that instead of the mouse position. Add parameters DX and DY.
7150
7151 * dispextern.h (Fx_show_tip): Adjust number of parameters
7152 in prototype.
7153
9662da0b
GM
7154 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7155 if HELP is a function, call it with OBJECT and POS as parameters
7156 to get the help to display.
7157 (gen_help_event, kbd_buffer_store_help_event): New functions.
7158 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7159 (read_char): Call show_help_echo with new parameters.
7160
178c5d9c 7161 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7162 Add prototypes.
7163
7164 * xterm.c (help_echo_object, help_echo_pos): New variables.
7165 (note_mode_line_highlight): Store additional information about the
7166 help-echo in help_echo_object and help_echo_pos. Check both
7167 `local-map' and `keymap' properties for changing the cursor
7168 (note_mouse_highlight): Store additional information about the
7169 help-echo in help_echo_object and help_echo_pos.
7170 (note_tool_bar_highlight): Set help_echo_object to nil and
7171 help_echo_pos to -1.
7172 (XTread_socket): Use gen_help_event instead of filling
7173 input_events manually.
7174 (syms_of_xterm): Staticpro help_echo_object.
7175
7176 * xmenu.c (menu_highlight_callback): Use
7177 kbd_buffer_store_help_event instead of setting up and input_event
7178 structure manually.
7179
7180 * xdisp.c (eval_form): GCPRO argument sexpr.
7181 (call_function): New function.
7182 (handle_single_display_prop): Use call_function and FUNCTIONP
7183 instead of checking whether if font_height is a symbol and
7184 using eval_form.
7185
7186 * eval.c (internal_condition_case_2): New function.
7187
7188 * lisp.h (FUNCTIONP): New macro.
7189 (internal_condition_case_2, call_function): Add prototypes.
7190
d5aa31d8
GM
7191 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7192 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7193 Always set `arg' member of input_events.
7194 (construct_menu_click): Unused function removed.
7195
7196 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7197
7198 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7199 (construct_drag_n_drop, x_scroll_bar_handle_click)
7200 (w32_read_socket): Always set `arg' member of input_events.
7201
7202 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7203
7204 * lisp.h (eval_form): Add prototype.
7205
7206 * xdisp.c (eval_form): Make it externally visible.
7207
0f1a9b23
GM
72082000-07-13 Gerd Moellmann <gerd@gnu.org>
7209
7210 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7211 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7212 consing. For prefix events, store the frame in the `arg' slot of
7213 the event, otherwise store the key there.
7214 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7215 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7216
7217 * xmenu.c (menu_highlight_callback): Store help string in the
7218 `arg' member of the input event; don't cons.
7219 (menubar_selection_callback): Use the `arg' slot of input events
7220 to queue additional information, instead of consing.
7221
7222 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7223
7224 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7225 TOOL_BAR_EVENTs.
7226 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7227
7228 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7229 input events to queue additional information, instead of consing.
7230
7231 * keyboard.c (kbd_buffer_gcpro): Renamed from
7232 kbd_buffer_frame_or_window. Now used for all Lisp objects
7233 referenced from the input queue.
7234 (kbd_buffer_store_event): Always use structure assignment for
7235 copying input events. Record all Lisp objects referenced from
7236 events in kbd_buffer_gcpro.
7237 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7238 differently from input events. Test for prefix menu_bar_events
7239 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7240 event in kbd_buffer_gcpro to nil.
7241 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7242 frame_or_window is equal to its arg member as prefix events.
7243 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7244 used by an input event to nil.
7245 (init_keyboard): Use two times the size of the input queue
7246 for kbd_buffer_gcpro.
7247 (syms_of_keyboard): Likewise.
7248
52283633
SM
7249 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7250 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7251
7252 * termhooks.h (struct input_event): Add member `arg'.
7253 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7254 (USER_SIGNAL_EVENT): Renamed from user_signal.
7255
7256 * xfaces.c (ASET): Remove definition.
7257
7258 * lisp.h (AREF, ASET, ASIZE): New macros.
7259
7260 * fontset.c (AREF, ASIZE): Remove definitions.
7261
7262 * fns.c (AREF): Remove definition.
178c5d9c 7263
0f1a9b23
GM
7264 * composite.c (AREF): Remove definition.
7265
712eaef2
GM
72662000-07-12 Gerd Moellmann <gerd@gnu.org>
7267
d8ee7803
GM
7268 * dispnew.c (redraw_overlapped_rows): Add missing local.
7269 (scrolling_window): Remove debug code.
7270
712eaef2
GM
7271 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7272 Before scrolling, turn off a mouse-highlight in the window
7273 being scrolled.
7274
7275 * xterm.c (x_update_window_end): Add parameter
7276 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7277 redisplay in XTframe_up_to_date.
7278 (x_clear_mouse_face): New function.
7279 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7280
7281 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7282 current glyph row.
7283 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7284 it when any row is written to that contains glyphs highlighted in
7285 mouse-face.
7286 (update_window): Call the window update end hook with new
7287 parameter MOUSE_FACE_OVERWRITTEN_P.
7288 (direct_output_for_insert): Give up if row contains mouse-face.
7289
7290 * dispextern.h (struct redisplay_interface): Add parameter
7291 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7292 (clear_mouse_face): New function pointer member.
7293
02010917
SM
72942000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7295
7296 * syntax.c (back_comment): Use one switch rather than a few `if's.
7297 Obey open_paren_in_column_0_is_defun_start.
7298 When reverting to the `slow' method, try to nicely handle the case
7299 of nested comments by checking that the comment-starter we found
7300 does indeed match the comment-ender.
7301 (scan_sexps_forward, scan_sexps_forward):
7302 Ignore excessive opening parenthesis rather than throwing an error.
7303
d76c03ea
GM
73042000-07-11 Gerd Moellmann <gerd@gnu.org>
7305
7306 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7307 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7308
7309 * dispnew.c (direct_output_forward_char): Give up if currently
7310 displaying a message instead of the minibuffer contents.
7311
7312 * xterm.c (x_update_window_begin): No need to turn off the mouse
7313 highlight here.
7314 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7315 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7316
7317 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7318 compare the mouse_face_p flags of both rows.
7319
7320 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7321
d55ead18
EZ
73222000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7323
7324 * keyboard.c (show_help_echo): Accept additional parameter
7325 ok_to_overwrite_keystroke_echo.
7326 (read_char): Call show_help_echo with a zero
7327 ok_to_overwrite_keystroke_echo argument.
52283633 7328 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7329 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7330 ok_to_overwrite_keystroke_echo argument.
7331 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7332 non-zero ok_to_overwrite_keystroke_echo argument.
7333
df75b1a3
GM
73342000-07-10 Gerd Moellmann <gerd@gnu.org>
7335
4b92c49a
GM
7336 * xdisp.c (try_window_id): If changes are all below what is
7337 displayed in the window, and point is in the window, we still
7338 might have to find point on the display.
7339
7340 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7341 glyphs instead of a single one.
7342 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7343 with new argument list.
7344 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7345
df75b1a3
GM
7346 * keymap.c (get_keymap_1): Add comment that this function can GC.
7347 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7348 comment that functions can GC.
7349 (Fset_keymap_parent): GCPRO arg KEYMAP.
7350
4314cf3e
EZ
73512000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7352
7353 * msdos.c (XMenuActivate): After exiting the menu, restore the
7354 echo area message and erase it.
7355
ab49ce15
KH
73562000-07-10 Kenichi Handa <handa@etl.go.jp>
7357
7358 * fontset.c (Ffontset_info): Make the return value more compatible
7359 with that of Emacs 20.
7360
090a072f
GM
73612000-07-07 Gerd Moellmann <gerd@gnu.org>
7362
7363 * eval.c (Fsignal): Handle case that backtrace_list is null.
7364
f92de4a6
KH
73652000-07-07 Kenichi Handa <handa@etl.go.jp>
7366
7367 * ccl.c (Fccl_execute): Typo fixed.
7368
dd8888a1
GM
73692000-07-06 Gerd Moellmann <gerd@gnu.org>
7370
e5c81191 7371 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7372
dd8888a1
GM
7373 * window.c (Fwindow_list): Reverse list at the end.
7374 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7375 means allow windows on OWINDOW's frame, only.
7376 (window_loop): Simplified; use Fwindow_list.
7377
7378 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7379
485266d0
GM
73802000-07-05 Gerd Moellmann <gerd@gnu.org>
7381
7382 * xterm.c (XTread_socket): Increment handling_signal at the start,
7383 decrement it at the end.
7384
7385 * eval.c (handling_signal): New variable.
7386 (Fsignal): Abort if handling_signal is non-zero.
7387
7388 * lisp.h (handling_signal): External declaration.
178c5d9c 7389
485266d0
GM
7390 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7391
80fcd514
KR
73922000-07-05 Ken Raeburn <raeburn@gnu.org>
7393
7394 Sound support for NetBSD through "Linux emulation" support:
7395 * config.in (HAVE_SOUNDCARD_H): Undef.
7396 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7397 * Makefile.in (LIBSOUND): New variable.
7398 (LIBES): Include it.
52283633
SM
7399 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7400 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7401 (vox_open): Use DEFAULT_SOUND_DEVICE.
7402 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7403
d5c5cddd
GM
74042000-07-05 Gerd Moellmann <gerd@gnu.org>
7405
7406 * print.c (print_error_message): If Vsignaling_function is set,
7407 show it in *Messages*.
7408
7409 * lisp.h (Vsignaling_function): External declaration.
7410
7411 * eval.c (Vsignaling_function): New variable.
7412 (Fsignal): Compute it.
7413 (syms_of_eval): Staticpro it.
7414
65171e3a
DL
74152000-07-05 Dave Love <fx@gnu.org>
7416
7417 * syswait.h: Use the autoconf recommended approach. Old code
7418 #if'd out in case we need to revert.
7419
178c5d9c 7420 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7421
e2c46326
AI
74222000-07-05 Andrew Innes <andrewi@gnu.org>
7423
7424 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7425 when non-NULL instead of __morecore, to take account of buffer
7426 memory. This also solves a problem with spurious memory warnings
7427 on Windows.
7428
7429 * ralloc.c: Make real_morecore non-static.
7430
7431 * eval.c (internal_condition_case): Comment out abort if
7432 interrupt_input_blocked is not zero.
7433
7434 * makefile.nt: Add support for `bootstrap' and related targets.
7435 Include minimal debug info in emacs.exe in release build.
7436 Remove all dependencies on lisp.h, and fixup some others.
7437
7438 * w32.c (init_environment): Install code from 20.7 for providing
7439 default values for environment variables, based on the
7440 executable's own location.
52283633 7441 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7442 (sys_socket): Install socket inheritance bug fix from 20.7.
7443
7444 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7445 here via blockinput.h).
7446
a027a91b
SM
74472000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7448
e4b31601
SM
7449 * w32menu.c (w32_menu_display_help):
7450 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7451
7452 * keyboard.h (show_help_echo): Declare.
7453
7454 * keyboard.c (show_help_echo): New function, extracted from read_char.
7455 Feval its `msg' argument if it's a cons cell.
7456 (read_char): Use it.
4cf8d9d5 7457 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7458
178c5d9c 7459 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7460 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7461 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7462 (dos_rawgetc):
7463 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7464 (note_tool_bar_highlight, w32_read_socket):
7465 Do not gratuitously ignore non-string `help-echo' properties.
7466
88d75730
GM
74672000-07-05 Gerd Moellmann <gerd@gnu.org>
7468
969f7e79
GM
7469 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7470
71201b00
GM
7471 * window.c (delete_all_subwindows): Reset Vwindow_list.
7472
88d75730
GM
7473 * xterm.c (x_append_glyph, x_append_composite_glyph)
7474 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7475 changes in struct glyph starting 1999-12-27. Some bit-fields of
7476 struct glyph were not set, which made glyphs unequal when compared
7477 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7478 effects were the result. This also depended on the contents of
7479 memory returned by xmalloc. If flickering happens again, activate
7480 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7481 gone with that, chances are that it is caused by something similar.
88d75730
GM
7482
7483 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7484
88d75730
GM
7485 * dispextern.h: Add some comments.
7486
7487 * window.c (add_window_to_list): Add parameter LIST.
7488 (window_list): Order list so that, for each frame, windows are
7489 in canonical order, and so that frames appear in the list in
7490 the order given by Vframe_list.
7491 (next_window): Reverse the handling of NEXT_P.
7492
53654733
GM
74932000-07-04 Gerd Moellmann <gerd@gnu.org>
7494
87efd256
GM
7495 * window.c (Vwindow_list): New variable.
7496 (make_window, delete_window): Set Vwindow_list to nil.
7497 (check_window_containing): New function.
7498 (window_from_coordinates): Rewritten.
7499 (add_window_to_list, window_list, candidate_window_p)
7500 (decode_next_window_args, next_window): New functions.
52283633 7501 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7502 (Fwindow_list): New function.
7503 (Fother_window): Cleaned up.
7504 (foreach_window): Add a longer "variable argument list". Let
7505 callback function return 0 to indicate that cycling over windows
7506 should stop.
7507 (foreach_window_1): Likewise.
7508 (freeze_window_start): Return int.
7509 (init_window): New function.
7510 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7511
7512 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7513 input_event with bzero.
7514 (main): Call init_window.
7515
53654733
GM
7516 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7517 a menu filter.
7518
4a8c194f
KH
75192000-07-04 Kenichi Handa <handa@etl.go.jp>
7520
7521 * composite.h (make_composition_value_copy): Extern it.
7522
7523 * composite.c (make_composition_value_copy): New function.
7524
7525 * editfns.c (Fformat): While copying text properties, make each
7526 composition property value a copy.
7527
7528 * fns.c (concat): While copying text properties, make each
7529 composition property value a copy.
7530
831a6cb0
GM
75312000-07-03 Gerd Moellmann <gerd@gnu.org>
7532
2f516940
GM
7533 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7534
178c5d9c 7535 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7536 marked already.
7537
831a6cb0
GM
7538 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7539 include those frames as candidates which have their focus
7540 redirected to the minibuffer frame.
7541
d9c4f922
SM
75422000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7543
7544 * fns.c (Fputhash): Return `value' rather than nil.
7545
3780bc22
GM
75462000-06-30 Gerd Moellmann <gerd@gnu.org>
7547
97d176db
GM
7548 * frame.c (next_frame): Don't check focus redirection in case
7549 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7550 unless their focus is redirected, which contradicts the
7551 specification of next-frame, and leads to infinite loops in
7552 certain situations when cycling through windows with next-window.
7553
dca9961d
KH
75542000-06-30 Kenichi Handa <handa@etl.go.jp>
7555
7556 * coding.c (code_convert_region): Even if the length of text is
7557 zero, try to convert it if coding->type is coding_type_ccl.
7558 (decode_coding_string, encode_coding_string): Likewise.
7559
d5483ab1
GM
75602000-06-28 Gerd Moellmann <gerd@gnu.org>
7561
af5c25e1 7562 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7563 the display if windows_or_buffers_changed.
af5c25e1
GM
7564
7565 * dispnew.c (struct row_entry): New structure.
7566 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7567 (row_table_size, old_lines, new_lines, old_lines_size)
7568 (new_lines_size, run_pool, runs_size, runs): New variables.
7569 (add_row_entry): New function.
7570 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7571 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7572 holding them in local variables. Use a larger hash table whose
7573 size depends on glyph matrix sizes. Don't use bzero to clear the
7574 hash table; instead, clear used slots only.
7575
7576 * fns.c (next_almost_prime): Make it externally visible.
7577
7578 * lisp.h (next_almost_prime): Add prototype.
7579
d5483ab1
GM
7580 * s/isc4-0.h (sigunblock): Define.
7581
7582 * s/sco5.h (sigunblock): Define.
7583
93e40f40
DL
75842000-06-27 Dave Love <fx@gnu.org>
7585
7586 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7587 (moved to osf5-0.h).
7588 [!NOT_C_CODE]: Protect string.h stuff.
7589
7590 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7591 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7592
3c4b7685
GM
75932000-06-27 Gerd Moellmann <gerd@gnu.org>
7594
97d176db 7595 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7596 below the last line from the needed window height.
7597
32cad0aa
SM
75982000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7599
7600 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7601 (Fwidget_get): Use it.
7602 (syms_of_fns): Defsubr it.
7603
2c69ced2
GM
76042000-06-26 Gerd Moellmann <gerd@gnu.org>
7605
178c5d9c 7606 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7607 display info for XIM.
7608 (xim_open_dpy): Likewise.
7609 (xim_close_dpy): Don't free the display info's XIM.
7610
7611 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7612
7613 * config.in (USE_XIM): New define.
7614
3fc720e4
GM
7615 * keymap.c (get_keyelt): For menu-items containing a `:filter
7616 FILTER', apply FILTER to the menu-item's definition to get the
7617 real definition to use.
7618
7619 * lisp.h (QCfilter): External declaration.
7620
2c69ced2
GM
7621 * xfns.c (Fimage_size): New function.
7622 (syms_of_xfns): Defsubr it.
7623
f978b2a2
AS
76242000-06-26 Andreas Schwab <schwab@suse.de>
7625
7626 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7627 Fstring_as_unibyte.
7628
94cc7892
DL
76292000-06-25 Dave Love <fx@gnu.org>
7630
52283633 7631 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7632
7633 * Makefile.in (blockinput.h): Depend on atimer.h.
7634 (atimer.h): Depend on systime.h.
7635
52283633 7636 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7637
52283633 7638 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7639
7640 * lisp.h (swap_in_global_binding): Declare.
7641
b8c24556
KR
76422000-06-24 Ken Raeburn <raeburn@gnu.org>
7643
7644 * process.c (Fopen_network_stream): Turn off atimers for duration
7645 of call to connect. (Patch from Gerd.)
7646
8cf8560b
DL
76472000-06-23 Dave Love <fx@gnu.org>
7648
511c7541
DL
7649 * ralloc.c: Maybe include unistd.h
7650
8cf8560b
DL
7651 * emacs.c (setgrp): Undefine before defining.
7652 (malloc_warning, set_time_zone_rule, index): Prototype.
7653
7654 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7655 HAVE_STRUCT_TIMEZONE.
7656
7657 * s/osf1.h: Move string.h hack here from alpha.h and make it
7658 conditional.
7659 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7660 _XOPEN_SOURCE.
7661 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7662 (SOCKLEN_TYPE): Don't define.
7663
7664 * m/alpha.h: Remove string.h hack.
7665
7666 * s/osf5-0.h: New file.
7667
7668 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7669 include time.h, done by systime.h.
7670 [__FreeBSD__]: Remove redundant includes.
7671
3fc720e4 7672 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7673 (delete_temp_file): Return Qnil to avoid warning.
7674
7675 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7676
7677 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7678 HAVE_X_WINDOWS.
7679
7680 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7681
7682 * composite.h (compose_text): Declare.
7683
7684 * xterm.c: Don't include sys/types.h unconditionally. Don't
7685 protect its inclusion with !USG (following xmenu.c).
7686
ea055732
GM
76872000-06-23 Gerd Moellmann <gerd@gnu.org>
7688
7689 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7690 in x_create_frame.
7691
74b01b80
EZ
76922000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7693
7694 * coding.c (decode_eol_post_ccl): Special handling for undecided
7695 and inconsistent EOL types.
7696
64f3a166
GM
76972000-06-22 Gerd Moellmann <gerd@gnu.org>
7698
16cf31f7
GM
7699 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7700 trough color and main window's background color.
7701
52283633 7702 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7703
7704 * xterm.h (Xt_app_con): External declaration.
7705
7706 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7707
486a103d
GM
7708 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7709
64f3a166
GM
7710 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7711 (handle_invisible_prop): Record the start of invisible text in
7712 it->add_overlay_start.
7713 (struct overlay_entry): Add member `overlay'.
7714 (handle_overlay_change): Simplify.
7715 (next_overlay_string): After having processed overlay strings at the
7716 end of the buffer, record that fact in
7717 it->overlay_strings_at_end_processed_p.
7718 (compare_overlay_entries): If before- and after-strings come
7719 from the same overlay, let before-strings come first.
7720 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7721 (load_overlay_strings): Take it->add_overlay_start into account
7722 when adding overlay strings.
7723
7724 * dispextern.h (struct it): Add member add_overlay_start.
7725
bb746ea6
DL
77262000-06-22 Dave Love <fx@gnu.org>
7727
7728 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7729
7730 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7731
a8f573f3
KH
77322000-06-22 Kenichi Handa <handa@etl.go.jp>
7733
7734 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7735 is greater than 0.
7736
9f2bbc92
DL
77372000-06-21 Dave Love <fx@gnu.org>
7738
178c5d9c 7739 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7740
3ee5041c
SM
77412000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7742
7743 * syntax.c (back_comment): Simplify string-parity counting (with
7744 the added benefit of handling multiple string-styles as long as
7745 they are not intertwined).
7746 Jump to the slow code as soon as a comment starter is found in
7747 a "string_lossage" position. Fixes the case: " /* " /* " */.
7748
4c343001
DL
77492000-06-21 Dave Love <fx@gnu.org>
7750
7751 * Makefile.in: Use GETLOADAVG_LIBS.
7752
7753 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7754 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7755
e6365855
SM
77562000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7757
7758 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7759 (Fforward_comment, scan_lists):
7760 Check the comstyle of single-char comment-starters.
7761 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7762 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7763 Check the comstyle of single-char comment-starters.
7764 Clarify control-flow around the Scomment case.
e6365855 7765
5700d2cc
DL
77662000-06-20 Dave Love <fx@gnu.org>
7767
d355bd8a
SM
7768 * fns.c (make_hash_table, maybe_resize_hash_table):
7769 Cast arg of next_almost_prime.
5700d2cc 7770
178c5d9c 7771 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7772
7773 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7774 and unistd.h.
7775
4a27bdfb
GM
77762000-06-20 Gerd Moellmann <gerd@gnu.org>
7777
a61d762c 7778 * keyboard.c (adjust_point_for_property): Check if display
52283633 7779 property should be treated as intangible by looking at its value.
a61d762c 7780
178c5d9c 7781 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7782 (display_prop_intangible_p): New functions.
7783
7784 * dispextern.h (display_prop_intangible_p): Add prototype.
7785
7786 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7787
4a27bdfb
GM
7788 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7789 argument to sigprocmask.
7790
7791 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7792 argument to sigprocmask.
7793
7794 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7795 sigprocmask_set, and pass a pointer to it to sigprocmask.
7796
7797 * sysdep.c (sigprocmask_set): New variable.
7798
7799 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7800 report_file_error.
7801
427ec082
SS
78022000-06-20 Sam Steingold <sds@gnu.org>
7803
7804 * xrdb.c: Don't declare xmalloc, xrealloc.
7805
8972fe79 78062000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7807
7808 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7809 (re_comp): Cast gettext return value to avoid complaints when
7810 !HAVE_LIBINTL.
7811
074b6efe
DL
78122000-06-20 Dave Love <fx@gnu.org>
7813
52283633 7814 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7815
5700d2cc 7816 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7817
d355bd8a 7818 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7819
7820 * m/alpha.h: Don't declare xmalloc, xrealloc.
7821
0af4f205
DL
7822 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7823
7824 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7825
7826 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7827
7828 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7829 HAVE_GETWD.
7830
074b6efe
DL
7831 * keyboard.h (poll_for_input_1): Declare.
7832
7833 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7834
7835 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7836
7837 * doprnt.c: Don't declare xmalloc, xrealloc.
7838
7839 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7840 (getenv, ctime, getwd): Removed.
7841 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7842
7843 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7844 x_set_tool_bar_lines.
7845
7846 * config.in: Add HAVE_GETWD. Move some definitions above
7847 machine/system includes.
7848
68a5e97b
KH
78492000-06-20 Kenichi Handa <handa@etl.go.jp>
7850
95417e1e
KH
7851 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7852
68a5e97b
KH
7853 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7854 contain information about ENCODING.
7855
7856 * fontset.c (FONTSET_ASCII): Use the first element of char table
7857 for an ASCII font, not defalt slot.
7858 (fontset_ref_via_base): If FONTSET doesn't contain information for
7859 C, try the default fontset.
7860 (make_fontset): Don't copy the default fontset.
7861 (fontset_font_pattern): Likewise.
7862 (accumulate_font_info): If ELT is nil, use the corresponding
7863 element in the default fontset.
7864
3b4fa1b2
DL
78652000-06-19 Dave Love <fx@gnu.org>
7866
943e731c
DL
7867 * syntax.c (Fparse_partial_sexp): Doc fix.
7868
7869 * regex.h: Test PROTOTYPES as well as __STDC__.
7870
3b4fa1b2
DL
7871 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7872 errno, strerror. Put text after #endif in comment.
7873
52283633 7874 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7875
7876 * xterm.c (x_frame_of_widget): Likewise.
7877
cdf0357b
GM
78782000-06-19 Gerd Moellmann <gerd@gnu.org>
7879
7880 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7881 to Vfundamental_mode_abbrev_table.
7882
7883 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7884 bogus objects are marked. This slows down GC by ~80 percent, but
7885 it might be worth trying when debugging GC-related problems.
7886 This feature requires conservative stack marking to be enabled.
7887
7888 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7889 returns XLookupChars, reset `modifiers' to zero.
7890
998e9f8c
DL
78912000-06-19 Dave Love <fx@gnu.org>
7892
7893 * mktime.c: Unprotoized.
7894
18e21ce8 78952000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7896
7897 * data.c (set_internal): If variable is frame-local,
7898 store the new value immediately into the frame parameter alist.
7899
140c4ac6
KR
79002000-06-19 Ken Raeburn <raeburn@gnu.org>
7901
14358466
KR
7902 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7903 in the custom handler pointer.
7904
140c4ac6
KR
7905 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7906 value, or checks for CHAR_META can fail when Lisp_Object is a
7907 union type.
7908 * keymap.c (get_keyelt): Likewise.
7909
10d7bf84
KH
79102000-06-19 Kenichi Handa <handa@etl.go.jp>
7911
7912 * ccl.h (struct ccl_program): New member eol_type.
7913 (struct ccl_spec): New member cr_carryover.
7914
7915 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7916 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7917
7918 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7919 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7920 (decode_eol_post_ccl): New function.
7921 (decode_coding): Don't detect EOL format here for CCL based coding
7922 systems.
7923 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7924 decode_eol_post_ccl after running the CCL program.
7925 (code_convert_region): Don't detect EOL format here for CCL based
7926 coding systems.
7927 (decode_coding_string): Likewise.
7928
52e386c2
KR
79292000-06-18 Ken Raeburn <raeburn@gnu.org>
7930
7931 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7932 when treating it as an integer.
7933
7934 * coding.h (encode_coding_string): Declare.
7935
7936 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7937 it as an integer.
7938
7939 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7940 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7941 to be passed to get_local_map.
7942
7943 * sound.c (Fplay_sound): Don't call make_number on
7944 Frun_hook_with_args count argument.
7945
7946 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7947 for lisp objects in X event structure data field, when lisp
7948 objects are represented with unions.
7949 (x_scroll_bar_to_input_event): Ditto.
7950
b357b9d4
KR
79512000-06-16 Ken Raeburn <raeburn@gnu.org>
7952
7953 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7954 termination of string. Fix sense of test whether
7955 Vline_number_display_limit is an integer.
b357b9d4 7956
a871441d
GM
79572000-06-16 Gerd Moellmann <gerd@gnu.org>
7958
a9021acd
GM
7959 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7960 only if HAVE_X_WINDOWS.
7961
6344985d
GM
7962 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7963 of titles.
7964
427ec082 7965 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7966 out of bounds.
7967
228b083e
EZ
79682000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7969
7970 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7971 of its headers.
7972
c25b53a2
KH
79732000-06-15 Kenichi Handa <handa@etl.go.jp>
7974
7975 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7976 start of the while loop.
7977
a6981b11
GM
79782000-06-15 Gerd Moellmann <gerd@gnu.org>
7979
e9924e52
GM
7980 * atimer.c (alarm_signal_handler): Add forward declaration.
7981
a6981b11
GM
7982 * data.c (set_internal): Remove debug code.
7983
25fa6deb
GM
79842000-06-14 Gerd Moellmann <gerd@gnu.org>
7985
dce6b995
GM
7986 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7987
9f817ea4
GM
7988 * unexec.c (toplevel) [COFF]: Include coff.h.
7989
7990 * s/lynxos.h: New file.
7991
7992 * keymap.c (Fsingle_key_description): Enclose function key and
7993 event symbol names in angle brackets.
7994
8a4e3c0c
GM
7995 * xdisp.c (setup_echo_area_for_printing): Call
7996 message_log_maybe_newline if message_buf_print is not set.
7997
7998 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7999 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8000 function does something useful even when message_buf_print is
8001 already set.
8002
52283633
SM
8003 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8004 New variables.
25fa6deb
GM
8005 (ensure_echo_area_buffers): Initialize echo buffer's
8006 truncate lines setting to nil.
8007 (with_echo_area_buffer): Don't set the echo buffer's truncate
8008 lines setting here.
8a4e3c0c 8009 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8010 of message_truncate_lines.
8011 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8012 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8013 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8014
8015 * keyboard.c (read_char): Bind message-truncate-lines to t
8016 while displaying a help-echo.
8017
8018 * lisp.h (Qmessage_truncate_lines): External declaration.
8019
163dcff3
GM
80202000-06-13 Gerd Moellmann <gerd@gnu.org>
8021
1681ead6
GM
8022 * xdisp.c (Vline_number_display_limit): Renamed from
8023 line_number_display_limit.
8024 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8025 Extend documentation string. Initialize
8026 Vline_number_display_limit to nil meaning no limit.
8027 (decode_mode_spec): Use Vline_number_display_limit with its new
8028 meaning.
8029
163dcff3
GM
8030 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8031
18e21ce8 80322000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8033
8034 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8035
163dcff3
GM
8036 * xfns.c (x_set_frame_parameters): Comment fix.
8037
8038 * frame.c (store_frame_param): Call swap_in_global_binding if the
8039 variable's current binding was chosen based on this frame.
8040
8041 * data.c (swap_in_global_binding): New function.
8042
a704139d
EZ
80432000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8044
8045 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8046 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8047
9b6610db
EZ
80482000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8049
8050 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8051
c68833d2
JR
80522000-06-12 Jason Rumney <jasonr@gnu.org>
8053
8054 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8055
8056 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8057
8058 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8059
8060 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8061
ed1056b3
GM
80622000-06-12 Gerd Moellmann <gerd@gnu.org>
8063
8064 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8065 (syms_of_xfaces): Defsubr Sdump_colors.
8066 (x_free_colors): Don't treat b&w specially on default visual.
8067 (x_free_dpy_colors): New function.
8068 (free_face_colors): Don't check visual class; it's done
8069 in x_free_colors.
8070
8071 * xterm.c (x_frame_of_widget): New function.
8072 (x_alloc_nearest_color_for_widget): Use it.
8073 (x_copy_dpy_color): New function.
8074 (x_destroy_window): Free various colors.
8075
5050a2ef
KH
80762000-06-12 Kenichi Handa <handa@etl.go.jp>
8077
8078 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8079
8080 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8081
8082 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8083
8084 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8085
8086 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8087
fb1b041d
DL
80882000-06-11 Dave Love <fx@gnu.org>
8089
8090 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8091
ff96b5f4
EZ
80922000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8093
8094 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8095
db8eeecd
GM
80962000-06-11 Gerd Moellmann <gerd@gnu.org>
8097
ed1056b3 8098 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8099 to `XEvent *'.
8100
49b71c5f
KH
81012000-06-10 Kenichi Handa <handa@etl.go.jp>
8102
c479bd55
KH
8103 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8104 (regex_compile): Fix the code for handling the case of single byte
8105 char and multibyte char being mixed in a range within [...].
8106
ff6a65c2
KH
8107 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8108 and dst_multibyte members of coding.
8109
49b71c5f
KH
8110 * charset.c (update_charset_table): Update the table
8111 bytes_by_char_head.
8112 (init_charset_once): Initialize elements of bytes_by_char_head to
8113 1 except for leading codes for private charases.
8114
8115 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8116 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8117
9e80b57d
KR
81182000-06-09 Ken Raeburn <raeburn@gnu.org>
8119
8120 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8121 access the data it doesn't point to.
8122
f83fe4b4
GM
81232000-06-08 Gerd Moellmann <gerd@gnu.org>
8124
8125 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8126 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8127 event queue. This is necessary because Emacs otherwise won't
8128 perform a switch-frame to a new frame until some other event, for
8129 example a keystroke event, forces it to do so. This has various
8130 effects, one visible being that the cursor of a frame created with
8131 C-x 5 2 or switched to with a window manager key binding like
8132 A-TAB stays hollow because selected_window isn't on the newly
8133 focused frame until the switch-frame is performed.
8134
8135 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8136 generating a switch-frame event if necessary.
8137
8138 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8139
8140 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8141 it's an integer.
8142
0890801b
KH
81432000-06-08 Kenichi Handa <handa@etl.go.jp>
8144
52283633 8145 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8146
173cbca8
GM
81472000-06-07 Gerd Moellmann <gerd@gnu.org>
8148
3091c2a6
GM
8149 * window.c (displayed_window_lines): Take empty lines at
8150 the bottom of a window into account.
427ec082 8151
f38952fe
GM
8152 * window.c (displayed_window_lines): New function.
8153 (Fmove_to_window_line): Use displayed_window_lines to determine
8154 the number of lines to move, instead of using the window's height.
8155
8156 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8157 to stop reading, even if the form read sets point to a different
8158 value when evaluated.
8159
427ec082 8160 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8161 put the cursor.
8162
6ba6c818
KH
81632000-06-07 Kenichi Handa <handa@etl.go.jp>
8164
8165 * fileio.c (e_write): Free composition data if stored in
8166 coding->cmp_data.
8167
5f1aea9a
GM
81682000-06-06 Gerd Moellmann <gerd@gnu.org>
8169
666852af
GM
8170 * xdisp.c (display_line): Set row's and iterator's
8171 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8172 Set cursor even if row ends in the middle of a character.
8173 (dump_glyph_row): Print values of new flags.
8174 (redisplay_window) <cursor movement in unchanged window>: When
8175 point has been moved forward, and PT is at the end of the cursor
8176 row, don't place the cursor in the next row if the cursor row ends
8177 in the middle of a character or at ZV.
8178
8179 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8180 (struct glyph_row): Add starts_in_middle_of_char_p and
8181 ends_in_middle_of_char_p.
8182 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8183 ends_in_middle_of_char_p flag.
8184 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8185
d13f3e2e
GM
8186 * term.c (append_glyph): Revert change of 2000-06-06.
8187
8188 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8189 padding glyph not fitting on line as whole character not
8190 fitting on line.
8191
5f1aea9a
GM
8192 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8193 this isn't true for images with `:ascent 100'.
8194
10cda9b0
KH
81952000-06-06 Kenichi Handa <handa@etl.go.jp>
8196
ed00559d
KH
8197 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8198 as modified if it is originally unmodified.
8199
10cda9b0
KH
8200 * term.c (encode_terminal_code): Change the way to check if
8201 terminal coding does any conversion.
8202 (append_glyph): Set glyph->pixel_width correctly.
8203
8204 * xdisp.c (display_line): While checking line continuation, pay
8205 attention to a padding glyph.
8206
1969fae2
GM
82072000-06-05 Gerd Moellmann <gerd@gnu.org>
8208
8209 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8210
162ccef4
DL
82112000-06-05 Dave Love <fx@gnu.org>
8212
f19f32dd
DL
8213 * xdisp.c: Include fontset.h.
8214
8215 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8216
8217 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8218
8219 * dispnew.c: Conditionally include term.h.
8220
8221 * coding.h: Declare code_convert_string_norecord.
8222
8223 * frame.h (struct frame): Use volatile unconditionally.
8224
8225 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8226
8227 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8228
8229 * systime.h: Protect against multiple inclusion.
8230 (timezone) [USG5_4]: Define as time_t.
8231
8232 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8233 (Foptimize_char_table, make_temp_name): Declare.
8234
8235 * Makefile.in (xdisp.o): Depend on fontset.h.
8236
8237 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8238
8239 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8240 (Foptimize_char_table, make_temp_name): Declare.
8241
427ec082 8242 * s/irix4-0.h:
162ccef4
DL
8243 * s/irix5-0.h:
8244 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8245
2082fe81
DL
82462000-06-02 Dave Love <fx@gnu.org>
8247
8248 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8249
dcf671d2
GM
82502000-06-02 Gerd Moellmann <gerd@gnu.org>
8251
8252 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8253 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8254 be freed.
8255
8256 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8257 glyph, use the ASCII NUL character to determine the face.
8258
d42122a3
DL
82592000-06-02 Dave Love <fx@gnu.org>
8260
8261 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8262 (VFORK_RETURN_TYPE): Remove.
427ec082 8263
d42122a3
DL
8264 * config.in: Add NO_MATHERR.
8265
dd432f16
DL
82662000-06-01 Dave Love <fx@gnu.org>
8267
90aa4ea8
DL
8268 * cmds.c (internal_self_insert): Don't check
8269 Vbefore_change_function, Vafter_change_function.
8270
8271 * insdel.c (signal_before_change, signal_after_change): Likewise.
8272
8273 * buffer.c (Vbefore_change_function, Vafter_change_function):
8274 Variables and their initializations deleted.
8275
2330c9d4
DL
8276 * callint.c (Fcall_interactively): Doc fix.
8277
dd432f16
DL
8278 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8279
bf9e8804
DL
82802000-05-31 Dave Love <fx@gnu.org>
8281
8282 * textprop.c: Revert last change -- duplicated.
8283
3694b4ab
GM
82842000-05-31 Gerd Moellmann <gerd@gnu.org>
8285
8286 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8287 in #if 0.
8288
8289 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8290
f14156cd
JR
82912000-05-31 Jason Rumney <jasonr@gnu.org>
8292
8119aab8
JR
8293 * search.c (Fre_search_forward, Fre_search_backward)
8294 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8295
f14156cd
JR
8296 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8297
4aab9be3
JR
82982000-05-30 Jason Rumney <jasonr@gnu.org>
8299
8300 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8301 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8302
52283633 8303 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8304
8305 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8306 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8307 expand a nil default_filename.
8308
8309 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8310 pointer to glyph_to_pixel_coords, not a frame.
8311
8312 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8313 coding.h to dependencies.
8314
8315 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8316
8317 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8318 window pointer to be consistent with w32term.c and xterm.c.
8319
8320 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8321 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8322 (Qline_spacing, Qcenter): New variables.
8323 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8324 (x_set_line_spacing): New function.
52283633 8325 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8326 (x_specified_cursor_type): New function.
8327 (x_set_cursor_type): Use it.
8328 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8329 and icon strings.
8330 (validate_x_resource_name, x_get_resource_string): Measure lengths
8331 of external strings in bytes.
8332 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8333 GetTextExtentPoint32 with NULL title.
8334 (Fx_create_frame): Initialize Qline_spacing.
8335 (w32_load_system_font): Initialize font->double_byte_p.
8336 (x_to_w32_charset): Use Vw32_charset_info_alist.
8337 (Image, busy cursor, tooltip functions): Merged changes from
8338 xfns.c. Not yet functional on Windows.
8339
8340 * w32gui.h (W32FontStruct): Add double_byte_p member.
8341
8342 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8343 (emacs_button_translation): Use it.
8344 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8345 in `mask' to be set.
8346
8347 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8348 menu strings.
8349
8350 * w32term.c: Format and doc changes to bring closer to xterm.c.
8351 (w32_char_font_type): New enum.
8352 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8353 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8354 (w32_encode_char): New function.
8355 (x_encode_char): Removed.
8356 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8357 x_encode_char and w32_font_is_double_byte.
8358 (x_produce_image_glyph): Use image_ascent.
8359 (x_produce_glyphs): Use new version of w32_per_char_metric and
8360 handle NULL return value. Allow extra line spacing.
8361 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8362 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8363 w32_font_type member of glyph instead.
8364 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8365 (fast_find_position): Make sure not to consider rows not visible
8366 in the window.
8367 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8368 w32_menu_display_help with input blocked, as it can abort.
8369 (x_display_and_set_cursor): Choose cursor depending
8370 on buffer-local value of cursor_type.
8371 (x_draw_bar_cursor): Add parameter WIDTH.
8372
8373 * w32term.h (CP_DEFAULT): Define.
8374 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8375
10fc3187
GM
83762000-05-30 Gerd Moellmann <gerd@gnu.org>
8377
8378 * search.c (Fre_search_forward, Fre_search_backward)
8379 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8380
d0555360
KH
83812000-05-30 Kenichi Handa <handa@etl.go.jp>
8382
8383 * coding.c (detect_coding_iso2022): Fix code for checking
8384 CODING_CATEGORY_MASK_ISO_8_2.
8385
f1ad044f
SM
83862000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8387
8388 * regex.c (PREFETCH_NOLIMIT): New function.
8389 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8390
84ec3b4b
GM
83912000-05-29 Gerd Moellmann <gerd@gnu.org>
8392
66254a13
GM
8393 * syntax.c (find_defun_start): Move test for
8394 open_paren_in_column_0_is_defun_start outside of the loop.
8395
49e70dec
GM
8396 * xdisp.c (redisplay_window): Really switch buffers when
8397 displaying mode lines, and temporarily set selected_frame to the
8398 frame of the window that's redisplayed.
8399
84ec3b4b
GM
8400 * xfaces.c (free_realized_faces): Block/unblock input.
8401 (free_realized_multibyte_face): Ditto.
8402
869a3a14
DL
84032000-05-29 Dave Love <fx@gnu.org>
8404
8405 * textprop.c (Qkeymap): New variable.
8406 (syms_of_textprop): Intern it.
8407
8408 * keymap.c: Include intervals.h.
8409 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8410
8411 * Makefile.in (keymap.o): Depend on intervals.h.
8412
8413 * keyboard.c (menu_bar_items, tool_bar_items)
8414 (Fexecute_extended_command): Deal with `keymap' property.
8415 (read_key_sequence): Track map from `keymap' property as well as
8416 `local_map'.
8417
8418 * intervals.c (get_local_map): Extra arg to allow looking for
8419 `keymap' too.
8420
8421 * intervals.h (map_property): New enum.
8422 (get_local_map): Extra arg using it.
8423 (Qkeymap): Declare.
8424
84ec3b4b 8425 * lisp.h (get_local_map): Don't declare here.
869a3a14 8426
89d0c844
KH
84272000-05-29 Kenichi Handa <handa@etl.go.jp>
8428
8429 * Makefile.in (callproc.o): Depend on composite.h.
8430
8431 * callproc.c: Include composite.h.
8432 (Fcall_process): Handle composition correctly.
8433
8434 * coding.h (coding_allocate_composition_data): Extern it.
8435 (coding_restore_composition): Likewise.
8436
8437 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8438 yet allocated, finish decoding with result
8439 CODING_FINISH_INSUFFICIENT_CMP.
8440 (coding_allocate_composition_data): Make it non-static.
8441 (coding_restore_composition): Likewise.
8442
797a084a
EZ
84432000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8444
8445 * charset.c (syms_of_charset): Revert last change.
8446
cf872af5
EZ
84472000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8448
8449 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8450 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8451 Handa.
cf872af5 8452
5b1ae051
EZ
84532000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8454
8455 * charset.c (syms_of_charset): Set width of character sets
8456 eight-bit-control and eight-bit-graphic to 1 column.
8457
34ec9ebe
GM
84582000-05-26 Gerd Moellmann <gerd@gnu.org>
8459
8460 * config.in (HAVE_SPEED_T): New define.
8461
8462 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8463 `extern speed_t'.
8464
dd854dc2
DL
84652000-05-26 Dave Love <fx@gnu.org>
8466
8467 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8468
8469 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8470 (Fsubr_arity): New function.
8471 (syms_of_data): Install them.
8472
ba9f8f95
KH
84732000-05-26 Kenichi Handa <handa@etl.go.jp>
8474
0f3e0672
KH
8475 * charset.c (init_charset_once): Set the table bytes_by_char_head
8476 correctly.
8477
cebefb44
KH
8478 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8479 the default fontset to what Emacs uses by default.
0f3e0672
KH
8480 (check_registry_encoding): This function deleted.
8481 (Fset_fontset_font): Remove the adhoc condition for the default
8482 fontset. Allow cons in FONTNAME.
cebefb44 8483
0f3e0672
KH
8484 * fns.c (map_char_table): Ignore char-table entries for
8485 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8486
7a18af49
KR
84872000-05-25 Ken Raeburn <raeburn@gnu.org>
8488
8489 * emacs.c (main): Initialize keyboard syms before initializing
8490 window code, so face names are available.
8491
d2af47df
SM
84922000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8493
8494 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8495 of an anchor at the beginning of a shy-group.
8496
fc6a6a4e
GM
84972000-05-25 Gerd Moellmann <gerd@gnu.org>
8498
8499 * xdisp.c (handle_invisible_prop): Don't try to skip over
8500 invisible text if end of text is already reached.
8501
005f0d35
DL
85022000-05-25 Dave Love <fx@gnu.org>
8503
02513cdd
DL
8504 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8505
005f0d35
DL
8506 * coding.c (encode_eol): Add null statement after label.
8507
89f6ca4e
EZ
85082000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8509
8510 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8511 2000-05-20.
8512
a4e1759e
KH
85132000-05-25 Kenichi Handa <handa@etl.go.jp>
8514
8515 * ccl.c (ccl_driver): Fix previous change.
8516
eacfd7fe
KH
85172000-05-25 Kenichi Handa <handa@etl.go.jp>
8518
46ab33a9
KH
8519 * coding.c (run_pre_post_conversion_on_str): Set point to the
8520 beginning of buffer before calling coding->post_read_conversion.
8521 (decode_coding_string): Give correct args to
8522 run_pre_post_conversion_on_str.
8523 (encode_coding_string): Likewise.
8524
eacfd7fe
KH
8525 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8526 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8527 eight-bit-graphic correctly.
8528
f8569325
DL
85292000-05-24 Kenichi HANDA <handa@etl.go.jp>
8530
8531 * fileio.c (Finsert_file_contents): Even if a file is not found,
8532 execute codes for setting up coding system. Call
8533 after-insert-file-functions unconditionally.
8534
04545643
GM
85352000-05-24 Gerd Moellmann <gerd@gnu.org>
8536
8537 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8538 BSD_PGRPS are not defined.
8539
747d90ea
KH
85402000-05-24 Kenichi Handa <handa@etl.go.jp>
8541
8542 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8543 DESCRIPTION.
8544 (syms_of_charset): Avoid building same strings.
8545
716e3b88
GM
85462000-05-23 Gerd Moellmann <gerd@gnu.org>
8547
8548 * lread.c (Fload): Add a comment about the meaning of
8549 Vuser_init_file being t.
8550
8551 * puresize.h (BASE_PURESIZE): Increase to 675000.
8552
8553 * s/gnu-linux.h (setpgrp): Don't define it here because this
8554 prevents compilation on GNU/Linux systems with glib 2.2.
8555
8556 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8557 as setpgid.
427ec082 8558
9aeb39fa
EZ
85592000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8560
8561 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8562 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8563 version.
8564 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8565
29ced61b
KH
85662000-05-23 Kenichi Handa <handa@etl.go.jp>
8567
52283633 8568 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8569
3d80f24d
KH
8570 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8571
52283633 8572 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8573
29ced61b
KH
8574 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8575
d7e00792
KH
85762000-05-22 Kenichi Handa <handa@etl.go.jp>
8577
c9d80d38
KH
8578 * keyboard.c (read_char): Allow character codes 128..255 to be
8579 handled by input-method-function.
8580
d7e00792
KH
8581 * insdel.c (adjust_markers_for_replace): Fix previous change.
8582 (adjust_after_replace): If PREV_TEXT is nil, call
8583 adjust_markers_for_insert, not adjust_markers_for_replace.
8584
087121cc 85852000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8586
087121cc
GM
8587 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8588 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8589 [HAVE_GRANDPT]: Define.
8590 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8591
8592 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8593 like SYSV_PTYS.
8594
8595 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8596
8597 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8598
c9671f81
KH
85992000-05-20 Kenichi Handa <handa@etl.go.jp>
8600
8601 The following changes are to handle 8-bit characters in a
8602 multibyte buffer/string without facing with byte combining
8603 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8604 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8605
8606 * Makefile.in (fns.o): Depend on charset.h.
8607
8608 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8609 convert it to unibyte.
8610 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8611
8612 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8613 apparent char boundary.
8614 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8615 0x80..0x9F to/from multibyte form.
8616
8617 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8618 to unibyte.
8619
8620 * callproc.c (Fcall_process): Always encode an argument string if
8621 it is multibyte. Setup src_multibyte and dst_multibyte members of
8622 process_coding properly.
ce75fd23 8623
c9671f81
KH
8624 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8625 SPLIT_NON_ASCII_CHAR.
8626
8627 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8628 as is.
8629 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8630
52283633 8631 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8632 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8633 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8634 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8635 and eight-bit-graphic.
8636 (char_to_string): Likewise. Signal an error for too large
8637 character code.
8638 (char_printable_p): Return 0 for 8-bit characters.
8639 (update_charset_table): Update iso_charset_table only when a final
8640 character is non-negative.
8641 (find_charset_in_text): Renamed from find_charset_in_str.
8642 Arguments and return value changed. Callers changed.
8643 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8644 be -1 if CHARSET is used only internally.
8645 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8646 eight-bit-graphic.
8647 (Fcharset_after): Simplified.
8648 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8649 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8650 (multibyte_chars_in_text): Simplified by assuming there's no
8651 invalid multibyte sequence.
52283633
SM
8652 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8653 (str_as_unibyte): New functions.
8654 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8655 (init_charset_once): Initialization for
8656 LEADING_CODE_8_BIT_CONTROL.
8657 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8658 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8659 eight-bit-control and eight-bit-graphic.
8660
52283633
SM
8661 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8662 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8663 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8664 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8665 (CHARSET_REVERSE_CHARSET): Likewise.
8666 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8667 eight-bit-graphic.
8668 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8669 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8670 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8671 encounter an invalid multibyte sequence.
8672 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8673 sequence is always valid.
8674 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8675 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8676 (CHAR_STRING): For 8-bit characters, call char_to_string.
8677 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8678 multibyte sequence is always valid.
8679 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8680 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8681 (str_as_unibyte): Extern them.
c9671f81 8682 (BCOPY_SHORT): Fix a bug.
52283633 8683 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8684 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8685 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8686 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8687
bd4bde7f 8688 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8689 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8690 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8691 (EMIT_BYTES): New macros.
8692 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8693 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8694 macros deleted.
8695 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8696 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8697 check the validity of multibyte sequence.
8698 (decode_coding_emacs_mule): New function.
8699 (encode_coding_emacs_mule): New macro.
8700 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8701 the source.
8702 (DECODE_ISO_CHARACTER): Just return a character code.
8703 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8704 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8705 EMIT_CHAR to produced decoded characters. Exit the loop only by
8706 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8707 block here.
8708 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8709 only position codes for an invalid character.
8710 (encode_designation_at_bol): Return new destination pointer. 5th
8711 arg DSTP is changed to DST.
8712 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8713 from the source by ONE_MORE_CHAR. Don't handle the case of last
8714 block here.
8715 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8716 macros deleted.
52283633
SM
8717 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8718 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8719 TWO_MORE_BYTES to fetch a byte from the source.
8720 (encode_eol): Pay attention to coding->src_multibyte.
8721 (detect_coding, detect_eol): Preserve members src_multibyte and
8722 dst_multibyte.
8723 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8724 (encoding_buffer_size): Set magnification to 3 for all coding
8725 systems that require encoding.
8726 (ccl_coding_driver): For decoding, be sure that the result is
8727 valid multibyte sequence.
8728 (decode_coding): Initialize coding->errors and coding->result.
8729 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8730 and raw-text, always call decode_eol. Handle the case of last
8731 block here. If not coding->dst_multibyte, convert the resulting
8732 sequence to unibyte.
8733 (encode_coding): Initialize coding->errors and coding->result.
8734 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8735 and raw-text, always call encode_eol. Handle the case of last
8736 block here.
8737 (shrink_decoding_region, shrink_encoding_region): Detect cases
8738 that we can't skip data more rigidly.
8739 (code_convert_region): Setup src_multibyte and dst_multibyte
8740 members of coding. For decoding, if the buffer is multibyte,
8741 convert the source sequence to unibyte in advance. For encoding,
8742 if the buffer is multibyte, convert the resulting sequence to
8743 multibyte afterward.
8744 (run_pre_post_conversion_on_str): New function.
8745 (code_convert_string): Deleted and divided into the following two.
8746 (decode_coding_string, encode_coding_string): New functions.
8747 (code_convert_string1, code_convert_string_norecord): Call one of
8748 above.
8749 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8750 MAKE_NON_ASCII_CHAR.
52283633
SM
8751 (Fset_terminal_coding_system_internal)
8752 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8753 and dst_multibyte members.
8754 (init_coding_once): Initialize iso_code_class with new enum
8755 ISO_control_0 and ISO_control_1.
8756
8757 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8758 devided into ISO_control_0 and ISO_control_1.
8759 (struct coding_system): New members src_multibyte, dst_multibyte,
8760 errors, and result. Delete member fake_multibyte.
8761 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8762 nonzero.
8763 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8764 nonzero.
8765
8766 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8767 (Faset): Likewise.
8768
8769 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8770 multibyte form.
8771 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8772 combining occurs.
8773 (Ftranspose_region): Delete codes for handling byte combining.
8774
8775 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8776 dst_multibyte members of coding. On handling REPLACE on unibyte
8777 buffer, convert the result of decode_coding to unibyte. On
8778 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8779 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8780 multibyteness of the source (buffer or string).
8781
8782 * fns.c (concat): Handle 8-bit characters correctly.
8783 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8784 unibyte in the result.
8785 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8786 valid multibyte form in the result.
8787 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8788 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8789 return -1, signal an error.
8790 (base64_encode_1): New arg MULTIBYTE. Get each character by
8791 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8792 character is found, return -1.
8793 (Fbase64_decode_region): Delete codes for handling byte-combining.
8794 Treat each decoded byte as a unibyte character.
8795 (Fbase64_decode_string): Return unibyte string.
8796 (Fcompare_strings, concat, string_byte_to_char): Use
8797 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8798 FETCH_STRING_CHAR_ADVANCE.
8799 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8800 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8801
8802 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8803 SPLIT_NON_ASCII_CHAR.
8804 (fontset_ref_via_base, fontset_set): Likewise
8805
8806 * insdel.c (adjust_markers_for_record_delete): Deleted.
8807 (adjust_markers_for_insert): Argument changed. Caller changed.
8808 (adjust_markers_for_replace): Likewise.
52283633
SM
8809 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8810 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8811 (copy_text): Delete unused local varialbe c_save. For converting
8812 to multibyte, be sure to make all 8-bit characters in valid
8813 multibyte form.
8814 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8815 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8816 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8817 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8818 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8819 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8820 handling byte combining.
8821 (adjust_before_replace): Deleted.
427ec082 8822
c9671f81
KH
8823 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8824 SPLIT_NON_ASCII_CHAR.
8825 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8826 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8827 (Fkey_description): Likewise.
8828
8829 * lread.c (read1): On reading multibyte string, be sure to make
8830 all 8-bit chararacters in valid multibyte form.
8831 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8832
8833 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8834 unconditionally.
8835
8836 * process.c (Fstart_process): GCPRO current_dir before calling
8837 Ffind_operation_coding_system. Encode arguments here.
8838 (create_process): Don't encode arguments here. Setup
8839 src_multibyte and dst_multibyte members of struct coding.
8840 (read_process_output): Setup src_multibyte and dst_multibyte
8841 members of struct coding. If the output is to multibyte buffer,
8842 always decode the output of the process. Adjust the
52283633 8843 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8844 (send_process): Setup coding->src_multibyte according to the
8845 multibyteness of the source.
8846
52283633 8847 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8848 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8849 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8850
52283633 8851 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8852
8853 * w16select.c (Fw16_set_clipboard_data): Setup members
8854 src_multibyte and dst_multibyte of coding. Adjusted for the
8855 change for find_charset_in_str.
8856 (Fw16_get_clipboard_data): Likewise.
8857
8858 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8859 dst_multibyte of coding.
8860 (x_to_w32_font): Likewise.
8861
8862 * w32select.c (Fw32_set_clipboard_data): Setup members
8863 src_multibyte and dst_multibyte of coding. Adjusted for the
8864 change for find_charset_in_str.
8865 (Fw32_get_clipboard_data): Likewise.
8866
8867 * xdisp.c (get_next_display_element): Handle 8-bit characters
8868 correctly.
52283633
SM
8869 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8870 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8871
8872 * xselect.c (selection_data_to_lisp_data): Setup members
8873 src_multibyte and dst_multibyte of coding. Adjusted for the
8874 change for find_charset_in_str.
8875 (lisp_data_to_selection_data): Likewise.
8876
5f64c9e0
GM
88772000-05-19 Gerd Moellmann <gerd@gnu.org>
8878
52283633 8879 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8880
5f64c9e0
GM
8881 * dispextern.h (Vimage_types): Add extern declaration.
8882
8883 * xdisp.c (Vimage_types): Moved here from xfns.c.
8884 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8885
8886 * xfns.c (Vimages_types): Moved to xdisp.c.
8887 (syms_of_xfns): Move `image-types' to xdisp.c.
8888
8889 * w32fns.c (Vimage_types): Removed.
8890 (syms_of_w32fns): Remove `image-types'.
8891
813086ea
KH
88922000-05-18 Kenichi Handa <handa@etl.go.jp>
8893
8894 * fns.c (map_char_table): Pay attention to character number of
8895 charset. Check the validity of charset at the first level. For
8896 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8897 the default value.
8898
8899 * fontset.c: Include "buffer.h".
8900 (fs_load_font): If the face has fontset, record the face ID in
8901 that fontset.
8902 (Finternal_char_font): New function.
8903 (accumulate_font_info): New function.
8904 (Ffontset_info): Rewritten for the new fontset implementation.
8905 (syms_of_fontset): Register Vdefault_fontset in the first element
8906 of Vfontset_table. Include Vdefault_fontset in
8907 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8908 function.
8909
bdaebbf0
DL
89102000-05-16 Dave Love <fx@gnu.org>
8911
8912 * m/iris5d.h: Deleted -- unused.
8913
cb613bb8
GM
89142000-05-16 Gerd Moellmann <gerd@gnu.org>
8915
b15f3b77
GM
8916 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8917 `invalid' instead of `illegal'.
8918
8919 * indent.c (Fmove_to_column): When ending within a tab, insert
8920 spaces first so that markers at the end of the tab get adjusted.
8921
835c1b36
GM
8922 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8923 buffer list that wasn't selected in that frame.
8924
cb613bb8
GM
8925 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8926 is needed on mescaline, use a 2 char prefix, and call
8927 make_temp_name with second arg non-zero.
8928
8929 * fileio.c (make_temp_name): New function, extracted from
8930 Fmake_temp_name.
8931 (Fmake_temp_name): Use it.
8932
f685bea9
EZ
89332000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8934
52283633 8935 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8936
a1b8d58b
GM
89372000-05-15 Gerd Moellmann <gerd@gnu.org>
8938
8939 * Makefile.in (lisp): Add env.elc.
8940
8941 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8942
a265079f
GM
89432000-05-12 Gerd Moellmann <gerd@gnu.org>
8944
8945 * search.c (Freplace_match): Handle case of `\N' in the
8946 replacement when there's no group N.
8947
da4496b6
GM
89482000-05-11 Gerd Moellmann <gerd@gnu.org>
8949
0ace421a
GM
8950 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8951 of the message to message_dolog.
8952
1172eb8d
GM
8953 * keyboard.c (read_char): Don't clear current message for help
8954 events; let the code handling help events handle this. Change
8955 code detecting help events that should be ignored.
8956
da4496b6
GM
8957 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8958 we're interating over a string.
8959
0623e40f
DL
89602000-05-09 Dave Love <fx@gnu.org>
8961
8962 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8963 that offset before writing. Move gcpro region past call of
8964 Ffile_regular_p.
8965
bae2503b
DL
89662000-05-04 Dave Love <fx@gnu.org>
8967
8968 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8969
ec82fb2f
GM
89702000-05-04 Gerd Moellmann <gerd@gnu.org>
8971
8972 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8973 of inserted characters when BUF equals the current buffer, and PT
8974 is in front of or equal to FROM.
8975
cbf18892
GM
89762000-05-03 Gerd Moellmann <gerd@gnu.org>
8977
4ff40dd0
GM
8978 * xdisp.c (handle_single_display_prop): If display property value
8979 is invalid, or something not supported on the frame, restore
8980 iterator's position to what it was initially. Make sure to return
8981 0 for invalid and unsupported property values.
8982
cbf18892
GM
8983 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8984 that x_per_char_metric returns null.
8985
1b0672c3
GM
89862000-05-02 Gerd Moellmann <gerd@gnu.org>
8987
576da55d
GM
8988 * xterm.h (struct face): Add forward declaration.
8989 (struct image): Ditto.
8990 (image_ascent): Add prototype.
8991
8992 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8993 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8994 image_ascent instead of using IMAGE_ASCENT.
8995
8996 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8997 (IMAGE_ASCENT): Removed.
8998
8999 * xfns.c (Qcenter): New variable.
9000 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9001 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9002 (image_ascent): New function.
9003 (lookup_image): Recognize `:ascent center'.
9004 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9005 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9006 (xbm_load): Don't set image's ascent here.
9007 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9008 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9009 check ascent values here.
9010 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9011 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9012 (syms_of_xfns): Initialize Qcenter.
9013
1b0672c3
GM
9014 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9015 to the limits, increase the limits.
9016
0d7811ed
KH
90172000-05-01 Kenichi Handa <handa@etl.go.jp>
9018
9019 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9020 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9021
a943a5ca
GM
90222000-04-28 Gerd Moellmann <gerd@gnu.org>
9023
9024 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9025 taller than the window.
9026
5dba1e29
KH
90272000-04-28 Kenichi Handa <handa@etl.go.jp>
9028
9029 * xfaces.c (realize_x_face): Fix the argument of the second
9030 xassert. BASE_FACE may not be a face for ASCII.
9031
353964e3
GM
90322000-04-27 Gerd Moellmann <gerd@gnu.org>
9033
c76e04a8
GM
9034 * print.c (print_object): Treat print-length < 0 as nil.
9035
9036 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9037
9038 * s/freebsd.h (TERMCAP_OBJ): Removed.
9039 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9040
9041 * lread.c (read1): Don't treat period followed by certain
9042 characters as symbol start.
9043
9044 * xfns.c (slurp_file): New function.
9045 (xbm_image_p): Handle case of in-memory XBM files.
9046 (xbm_scan): Rewritten to work on memory buffers instead of files.
9047 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9048 Work on memory buffers instead of files. If DATA is null test
9049 if buffer looks like an in-memory XBM file.
9050 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9051 memory buffers instead of files.
9052 (xbm_file_p): New function.
9053 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9054
353964e3
GM
9055 * lread.c (end_of_file_error): New function.
9056 (read1): Call it instead of signaling `end-of-file' directly.
9057
427ec082 9058 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9059 with Fprinc instead of Fprin1.
9060
24d744ac
KR
90612000-04-26 Ken Raeburn <raeburn@gnu.org>
9062
9063 * window.c (freeze_window_start): Check that minibuffer scroll
9064 window isn't nil before extracting the window structure pointer
9065 from it.
9066
9067 * undo.c (record_delete): If we hit the end of the undo list, stop
9068 picking elements apart.
9069
7464346d
GM
90702000-04-26 Gerd Moellmann <gerd@gnu.org>
9071
9072 * xdisp.c (display_line): If lines are continued, restore
9073 iterator's ascent/descent information to the values before the
9074 first glyph not fitting on the line.
9075
612839b6
GM
90762000-04-25 Gerd Moellmann <gerd@gnu.org>
9077
9078 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9079 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9080
9081 * dispnew.c (increment_matrix_positions): Renamed from
9082 increment_glyph_matrix_buffer_positions.
9083 (increment_row_positions): Renamed from
9084 increment_glyph_row_buffer_positions.
9085
9086 * dispextern.h: Change names of renamed functions from dispnew.c
9087 in prototypes.
9088
cc181e95
GM
90892000-04-24 Gerd Moellmann <gerd@gnu.org>
9090
abfcc168
GM
9091 * fileio.c (Fdo_auto_save): Create directories for auto-save
9092 list file if necessary.
9093
cc181e95
GM
9094 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9095 from buffer or frame.
9096 (automatic_hscrolling_p): New variable.
9097 (hscroll_windows): Scroll windows horizontally only if automatic
9098 hscrolling is allowed.
9099 (syms_of_xdisp): New variable `automatic-hscrolling'.
9100
9101 * frame.h (struct frame): Add member extra_line_spacing.
9102
9103 * xfns.c (x_set_line_spacing): New function.
9104 (Fx_create_frame): Set line spacing from resources.
9105 (Qline_spacing): New variable.
9106 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9107
cc181e95
GM
9108 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9109
9110 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9111 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9112 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9113 extra_line_spacing from default value.
9114 (init_buffer_once): Initialize default value of extra_line_spacing.
9115
9116 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9117 and extra3.
9118
9119 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9120 prompt_width. Add extra line spacing.
9121
9122 * term.c (produce_glyphs): Remove reference to struct it's
9123 prompt_width.
9124
9125 * dispextern.h (struct it): Remove member prompt_width, add
9126 extra_line_spacing.
9127
58827478
GM
91282000-04-22 Gerd Moellmann <gerd@gnu.org>
9129
9130 * dispnew.c (update_frame_line): When writing a whole line, make
9131 sure cursor is in the right row afterwards, otherwise a use of
9132 capability `ch' in cmgoto might leave the cursor in the row below.
9133
25a87f42
GM
91342000-04-21 Gerd Moellmann <gerd@gnu.org>
9135
9136 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9137
9138 * keyboard.c (timer_check): Fix typo in comment.
9139
54edf5c2
KH
91402000-04-21 Kenichi Handa <handa@etl.go.jp>
9141
9142 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9143 name change: ch -> character.
9144
3a64eef5
GM
91452000-04-20 Gerd Moellmann <gerd@gnu.org>
9146
9147 * keyboard.c (echo_message_buffer): New variable.
9148 (echo_now): Set echo_message_buffer to the echo area buffer used
9149 to display the echo.
9150 (cancel_echoing): Reset echo_message_buffer to nil.
9151 (read_char): Code rewritten that handles canceling an echo or
9152 echoing a dash, respectively.
9153
9154 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9155 directory doesn't exist.
9156
6142fdcb
DL
91572000-04-19 Dave Love <fx@gnu.org>
9158
9159 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9160 (concat): Don't allow numeric args.
9161 (Fconcat): Doc change.
6142fdcb 9162
ac6b5352
SM
91632000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9164
9165 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9166 instead define end_match(1|2) more carefully.
9167 Use GET_CHAR_BEFORE_2 for `begline'.
9168
cb9215e4
GM
91692000-04-19 Gerd Moellmann <gerd@gnu.org>
9170
5e3dac3f
GM
9171 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9172 on 64-bit systems where NULL is defined as `0'.
9173
9174 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9175 the `variable argument list' to make it work on Alpha.
9176
cb9215e4
GM
9177 * m/alpha.h (_LP64) [!_LP64]: Define.
9178 (ORDINARY_LINK): Define for NetBSD.
9179
9180 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9181
f532dca0
DL
91822000-04-19 Dave Love <fx@gnu.org>
9183
c750667e
DL
9184 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9185 change.
9186
9187 * Makefile.in (LIBS): Don't use.
9188 (GETLOADAVG_OBJ): Define again.
9189 (otherobj): Add GETLOADAVG_OBJ.
9190
f532dca0
DL
9191 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9192
1c7e22fd
GM
91932000-04-18 Gerd Moellmann <gerd@gnu.org>
9194
f6d3257b
GM
9195 * lread.c (read_filtered_event): Cancel and start busy cursor.
9196
427ec082 9197 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9198 that the per-character metrics may be null.
9199
e10f64e7
GM
92002000-04-17 Gerd Moellmann <gerd@gnu.org>
9201
0daee095
GM
9202 * buffer.c (clone_per_buffer_values): New function.
9203 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9204 clone_per_buffer_values if CLONE is not nil.
9205
e10f64e7
GM
9206 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9207
38687d43
DL
92082000-04-16 Dave Love <fx@gnu.org>
9209
9210 * Makefile.in: Remove obsolete localcpp stuff.
9211 (GETLOADAVG_OBJ): Don't define.
9212 (obj): Move LIBOBJS...
9213 (otherobj): ... to here.
9214 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9215 whitespace-only lines after the continuation (Irix).
9216
c21c7262
GM
92172000-04-14 Gerd Moellmann <gerd@gnu.org>
9218
9219 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9220
9221 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9222
314767c0
DL
92232000-04-14 Dave Love <fx@gnu.org>
9224
9225 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9226 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9227 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9228 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9229 NLIST_STRUCT.
9230
9231 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9232 autoconfiscated HAVE_GETLOADAVG.
9233
9234 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9235 BROKEN_MKTIME.
9236
a2522dca
GM
92372000-04-14 Gerd Moellmann <gerd@gnu.org>
9238
9239 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9240 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9241
33744b5d
DL
92422000-04-14 Dave Love <fx@gnu.org>
9243
c21c7262 9244 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9245 (INTERVAL_SRC): Convert to make variable.
9246 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9247 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9248 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9249 add LIBOBJS.
9250 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9251 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9252 (shortlisp): Add facemenu, float-sup, frame.
9253 (SOME_MACHINE_LISP): Remove them from here.
9254 (LIBES): Change unused LDLIBS to autoconf LIBS.
9255
9256 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9257
9d3d5916
KH
92582000-04-14 Kenichi Handa <handa@etl.go.jp>
9259
9260 * composite.c (update_compositions): If FROM and TO are not in a
9261 valid range, do nothing.
9262
198e3c7a
GM
92632000-04-13 Gerd Moellmann <gerd@gnu.org>
9264
52283633 9265 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9266
52283633 9267 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9268
9269 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9270 as TERMCAP_OBJ.
9271
055a28c9
EZ
92722000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9273
9274 * fileio.c (a_write): Remove redundant semi-colons.
9275 (e_write): Return -1 if failed to write all the data.
9276 This fixes the changes made at 1999-12-15.
9277
f5c75033
DL
92782000-04-12 Dave Love <fx@gnu.org>
9279
9280 * fns.c (mapcar1): Test for null vals to support mapc.
9281 (Fmapc): New function.
9282
0c3cfc51
EZ
92832000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9284
9285 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9286 (IT_frame_up_to_date): Support the buffer local value of
9287 cursor-type, if defined.
9288
33465a31
DL
92892000-04-10 Dave Love <fx@gnu.org>
9290
9291 * editfns.c (preceding-char, following-char): Doc fix.
9292
6ed56568
KR
92932000-04-10 Ken Raeburn <raeburn@gnu.org>
9294
9295 * Makefile.in (temacs): Revert 2000-03-12 change.
9296
7cf80d4e
JR
92972000-04-10 Jason Rumney <jasonr@gnu.org>
9298
9299 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9300
34f3f342
GM
93012000-04-10 Gerd Moellmann <gerd@gnu.org>
9302
1a1b1895
GM
9303 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9304 area buffer, if it's not set up yet.
9305
34f3f342
GM
9306 * indent.c (compute_motion): Set immediate_quit.
9307
be0dbdab
GM
93082000-04-09 Gerd Moellmann <gerd@gnu.org>
9309
52283633 9310 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9311 (realize_tty_face): Suppress boldness if colors are the inverse of
9312 the default colors, and tty_suppress_bold_inverse_default_colors_p
9313 is set.
9314 (Ftty_suppress_bold_inverse_default_colors): New function.
9315 (syms_of_xfaces): Defsubr it.
9316
be0dbdab
GM
9317 * buffer.c (Frestore_buffer_modified_p): New function.
9318 (syms_of_buffer): Defsubr it.
9319
e8413c3b
KR
93202000-04-08 Ken Raeburn <raeburn@gnu.org>
9321
87f67317
KR
9322 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9323 charset id (int) argument, not a charset (Lisp_Object).
9324
e8413c3b
KR
9325 * coding.h (code_convert_string): Declare.
9326 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9327 object, as the fourth argument to code_convert_string.
9328
52283633 9329 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9330 (Fset_fontset_font): Use EQ to compare lisp objects.
9331
7c752c80
KR
93322000-04-05 Ken Raeburn <raeburn@gnu.org>
9333
c0333abc
KR
9334 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9335 a pointer that looks like a lisp object.
9336 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9337 zero, instead see whether it's an integer object, since they can't
9338 have intervals.
9339 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9340
52283633
SM
9341 * dispnew.c (allocate_matrices_for_frame_redisplay)
9342 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9343 to convert between (unsigned) int values and lisp integers.
9344 * keyboard.c (read_key_sequence): Likewise.
9345 * lread.c (substitute_object_recurse): Likewise.
9346 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9347 * minibuf.c (do_completion, Fminibuffer_complete_word)
9348 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9349 * term.c (produce_special_glyphs): Likewise.
9350
9351 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9352 * print.c (print_preprocess, print_object): Likewise.
9353
9354 * search.c (compile_pattern): Use NILP when checking for nil.
9355
74e49b38
KR
9356 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9357 __OPTIMIZE__]: Provide a GNU C macro version that handles
9358 lisp-object unions.
9359 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9360 field, to better cope with ENABLE_CHECKING and calls that modify a
9361 Lisp_Object using its old value.
9362
685e5ed2
GM
93632000-04-04 Gerd Moellmann <gerd@gnu.org>
9364
c407c570
GM
9365 * window.c (compare_window_configurations): Signal an error
9366 if parameters C1 or C2 aren't window configurations.
9367
685e5ed2
GM
9368 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9369 AFTER_POTENTIAL_GC calls around calls to functions that can
9370 signal an error and thus invoke the debugger.
9371
587a49ab
GM
93722000-04-03 Gerd Moellmann <gerd@gnu.org>
9373
62f20204
GM
9374 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9375 an error if decoding fails.
9376
587a49ab
GM
9377 * keyboard.c (lispy_mouse_names): Variable removed.
9378 (Vlispy_mouse_stem): New variable.
9379 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9380 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9381 for any mouse button number. Increase size of mouse_syms and
9382 button_down_location as needed. Call modify_event_symbol with
9383 different arguments.
9384 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9385 Call modify_event_symbol with different arguments.
9386 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9387 for any button number. Call modify_event_symbol with different
9388 arguments.
9389 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9390 Accept a string for NAME_ALIST_OR_STEM.
9391
9392 * lisp.h (larger_vector): Add prototype.
9393
9394 * fns.c (larger_vector): Make externally visible.
9395
9396 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9397
2d1675e4
SM
93982000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9399
9400 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9401 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9402 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9403 we are between str1 and str2.
9404 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9405 (PATFETCH): Use `TRANSLATE'.
9406 (PATFETCH_RAW): Fetch multibyte char if applicable.
9407 (PATUNFETCH): Remove.
9408 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9409 When writing a char, write it directly into the pattern buffer rather
9410 than going needlessly through a temp char-array.
9411 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9412 multibyte magic and remove the useless `#ifdef emacs'.
9413 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9414 buffer.
9415
9416 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9417 conditional on `emacs'.
9418
9419 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9420
cc2d8c6b
KR
94212000-04-01 Ken Raeburn <raeburn@gnu.org>
9422
9423 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9424 non-union-type versions of XMARK and friends here, because XMARK
9425 and friends won't work on an integer field if NO_UNION_TYPE is not
9426 defined.
52283633 9427 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9428
52283633 9429 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9430 (syms_of_composite): Delete local var NARGS, pass an int as first
9431 argument to Fmake_hash_table.
9432
2387b382
KR
9433 * editfns.c (text_property_stickiness): Use NILP to test
9434 Lisp_Object boolean value.
9435 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9436 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9437 problems reading from and changing the same lisp value in an
9438 XSETSTRING call.
9439
27660e89
GM
94402000-04-01 Gerd Moellmann <gerd@gnu.org>
9441
9442 * term.c (TN_no_color_video): New variable.
9443 (term_init): Intitialize TN_no_color_video.
9444 (enum no_color_bit): New enumeration.
9445 (MAY_USE_WITH_COLORS_P): New macro.
9446 (turn_on_face): Use it to determine if attributes may be used
9447 combined with colors.
9448
3578db3c
KR
94492000-04-01 Ken Raeburn <raeburn@gnu.org>
9450
9451 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9452 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9453 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9454 proper accessor macros.
9455 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9456 (grow_mini_window): Fix typo getting int value of root->height.
9457
6fc556fd
KR
9458 * xdisp.c (compute_string_pos): Fix order of arguments to
9459 string_pos_nchars_ahead.
9460 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9461 count arg to variable-arg routines like Frun_hook_with_args and
9462 Fformat.
587a49ab
GM
9463 (back_to_previous_visible_line_start)
9464 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9465 fixed-arg routines like Fget_char_property and Fmake_string.
9466 (reconsider_clip_changes): Use XINT when comparing integer lisp
9467 objects, or passing them as int arguments.
587a49ab
GM
9468 (mark_window_display_accurate, insert_left_trunc_glyphs)
9469 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9470 storing or passing integer values as lisp objects.
9471 (set_cursor_from_row, highlight_trailing_whitespace): Use
9472 INTEGERP, not implicit test against zero, for glyph object.
9473 (try_window_id): Don't use make_number when we want an int value.
9474
9475 * xfaces.c (xlfd_symbolic_value): Make last argument a
9476 Lisp_Object, to be consistent with callers.
9477 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9478 (lface_hash): Apply XFASTINT to lisp values before folding in.
9479
9480 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9481 fill in window width and height. Pass an int, not a lisp object,
9482 as first arg to Finsert.
9483
6e7b2457
GM
94842000-04-01 Gerd Moellmann <gerd@gnu.org>
9485
610d841e
GM
9486 * xfaces.c (realize_basic_faces): Block input while realizing
9487 the faces.
9488
6e7b2457
GM
9489 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9490
9491 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9492
aa110c0c
GM
94932000-03-31 Gerd Moellmann <gerd@gnu.org>
9494
9495 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9496 or ASCII, handle case that per-char metric is null.
aa110c0c 9497
8801a864
KR
94982000-03-30 Ken Raeburn <raeburn@gnu.org>
9499
c6129d7e
KR
9500 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9501
52283633
SM
9502 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9503 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9504 pointer, using eassert.
9505 * frame.h (XFRAME): Likewise.
9506
52283633
SM
9507 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9508 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9509 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9510 * data.c (set_internal): Likewise.
52283633
SM
9511 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9512 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9513 * fileio.c (auto_save_1): Likewise.
9514 * insdel.c (check_markers): Likewise.
9515 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9516 * undo.c (record_insert): Likewise.
9517 * vmsproc.c (child_sig): Likewise.
9518 * window.c (unshow_buffer, window_loop): Likewise.
9519 * xterm.c (x_erase_phys_cursor): Likewise.
9520
8e7af858
GM
95212000-03-30 Gerd Moellmann <gerd@gnu.org>
9522
9523 * xfns.c (free_image_cache): Free the cache structure itself
9524 last, after all its members have been freed.
9525
9526 * lisp.h (xstrdup): Add prototype.
9527
9528 * alloc.c (xstrdup): Moved here from xfaces.c.
9529 (allocating_for_lisp): Variable removed.
52283633 9530 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9531
9532 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9533 of Fsymbol_value.
9534 (xstrdup): Moved to alloc.c.
9535
e0b8c689
KR
95362000-03-29 Ken Raeburn <raeburn@gnu.org>
9537
b96f9fb7
KR
9538 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9539
9540 * emacs.c (main): Fix sense of no-loadup test.
9541
e0b8c689
KR
9542 * config.in (ENABLE_CHECKING): Undef.
9543
9544 * lisp.h (struct interval): Replace "parent" field with a union of
9545 interval pointer and Lisp_Object; add new bitfield to use as
9546 discriminant. Change other flag fields to bitfields.
9547 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9548 is defined and the supplied test fails, print a message and abort.
9549 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9550
9551 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9552 pointers; abort if the value looks like a lisp object.
52283633
SM
9553 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9554 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9555 Modify for new interval parent definition.
9556
52283633
SM
9557 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9558 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9559 addressable lisp object in the interval structure.
9560 (die): New function.
9561 (suppress_checking): New variable.
9562
9563 * intervals.c (interval_start_pos): Just return 0 if there's no
9564 parent object.
9565
f83c5440
GM
95662000-03-29 Gerd Moellmann <gerd@gnu.org>
9567
9568 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9569 and earlier Emacs versions.
9570
9571 * keyboard.c (Ftop_level): Cancel busy-cursor.
9572
9573 * eval.c (call_debugger): Cancel busy-cursor.
9574
fdce64ff
KH
95752000-03-29 Kenichi Handa <handa@etl.go.jp>
9576
9577 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9578 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9579
f6a3f532
SM
95802000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9581
9582 * regex.c (analyse_first): New function obtained by ripping out most
9583 of re_compile_fastmap and generalizing it a little bit so that it
9584 can also just return whether a given (sub)pattern can match the empty
9585 string or not.
9586 (regex_compile): Use `analyse_first' to decide whether the loop-check
9587 needs to be done or not for *, +, *? and +? (the loop check is costly
9588 for non-greedy repetition).
9589 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9590
e9b309ac
DL
95912000-03-28 Dave Love <fx@gnu.org>
9592
52283633 9593 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9594
e9b309ac
DL
9595 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9596
ed0767d8
SM
95972000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9598
9599 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9600 an expression.
9601 (enum re_opcode_t): Update description of succeed_n.
9602 (PATFETCH): Always define.
9603 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9604 operators, char classes, shy-groups and intervals).
9605 Optimize special cases of intervals so as to only use succeed_n and
9606 jump_n when really needed.
9607 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9608 that we don't have to handle the special cases any more.
9609 Simplify on_failure_jump handling as well.
9610
e11e7e46
JR
96112000-03-28 Jason Rumney <jasonr@gnu.org>
9612
9613 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9614
88faab89
GM
96152000-03-27 Gerd Moellmann <gerd@gnu.org>
9616
182ff242
GM
9617 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9618
9619 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9620
182ff242
GM
9621 * alloc.c (mark_maybe_object): New function.
9622 (mark_memory): Use it.
9623 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9624 (setjmp_tested_p, longjmp_done): New variables.
9625 (test_setjmp): New function.
9626 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9627 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9628
c1005d06
GM
9629 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9630 to DEC_TEXT_POS and INC_TEXT_POS.
9631
9632 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9633 with parameter MULTIBYTE_P.
9634
52283633 9635 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9636
7439e5b9 9637 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9638 buffers because it looks for multibyte character byte sequences
9639 which don't exist in unibyte text.
7439e5b9 9640
d9c545da
GM
9641 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9642
11fd416e 9643 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9644 [DEBUG_X_COLORS]: New functions.
9645 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9646
9647 * xfns.c (x_set_cursor_color): Get color reference counts right.
9648
9649 * xterm.c (x_copy_color): New function.
9650 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9651
9652 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9653 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9654 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9655 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9656 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9657 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9658 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9659 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9660 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9661 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9662
11fd416e
GM
9663 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9664 names for handling per-buffer variables.
d9c545da
GM
9665
9666 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9667 instead of MAX_BUFFER_LOCAL_VARS.
9668 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9669
9670 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9671
88faab89
GM
9672 * xfns.c (x_specified_cursor_type): New function.
9673 (x_set_cursor_type): Use it.
9674
9675 * buffer.h (struct buffer): Add cursor_type.
9676
d80f42b7
SM
96772000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9678
9679 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9680 (print_partial_compiled_pattern, re_compile_fastmap):
9681 Handle new opcode.
d80f42b7
SM
9682 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9683 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9684 executing it as well as when popping it off the stack to find infinite
9685 loops in non-greedy repetition operators.
9686
89e80928
GM
96872000-03-26 Gerd Moellmann <gerd@gnu.org>
9688
3d4ff2dd
GM
9689 * doc.c (Qfunction_documentation): New variable.
9690 (syms_of_doc): Initialize Qfunction_documentation.
9691 (Fdocumentation): If FUNCTION is a symbol with non-nil
9692 `function-documentation' property, return a documentation derived
9693 from that.
9694
bd96bd79
GM
9695 * buffer.c (syms_of_buffer): Add default-cursor-type.
9696 (init_buffer_once): Don't let cursor_type have a local value
9697 in every buffer.
9698
19d1bc27
GM
9699 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9700 on buffer-local value of cursor_type.
9701 (x_draw_bar_cursor): Add parameter WIDTH.
9702
9703 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9704 (init_buffer_once): Set default cursor_type value to t.
9705 Mark cursor_type as local everywhere.
9706 (syms_of_buffer): New per-buffer variable cursor-type.
9707
89e80928
GM
9708 * buffer.h (struct buffer): Remove member local_var_flags,
9709 add local_flags.
9710 (MAX_BUFFER_LOCAL_VARS): New macro.
9711 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9712 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9713 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9714 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9715
52283633 9716 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9717
9718 * category.c (Fset_category_table): Use new macros for per-buffer
9719 variables.
9720
9721 * buffer.c (buffer_permanent_local_flags): Make a char array.
9722 (max_buffer_local_idx): New variable.
9723 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9724 for new handling of per-buffer variables.
9725 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9726 (init_buffer_once): Initialize per-buffer vars differently.
9727 Set max_buffer_local_idx.
9728
9729 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9730 variables.
9731
52283633 9732 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9733
9734 * data.c (do_symval_forwarding, store_symval_forwarding)
9735 (find_symbol_value, set_internal, default_value, Fset_default)
9736 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9737 per-buffer variables.
9738
9739 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9740
9a0dd3dc
GM
97412000-03-24 Gerd Moellmann <gerd@gnu.org>
9742
b68c375f
GM
9743 * xterm.c (x_term_init): Unblock input around call1 of
9744 Qvendor_specific_keysyms.
9745
9a0dd3dc
GM
9746 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9747 (find_defun_start): Consider an open parenthesis in column 0
9748 a defun start only if open_paren_in_column_0_is_defun_start is set.
9749 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9750
7973e637
SM
97512000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9752
9753 * eval.c (Fautoload): Add entry in load-history (if after dump).
9754 * lread.c (load-history): Update docstring.
9755
39210e90
GM
97562000-03-24 Gerd Moellmann <gerd@gnu.org>
9757
9758 * indent.c (Fvertical_motion): Always use the current buffer.
9759 Temporarily change the window's buffer, if necessary.
9760
72db3ab5
GM
97612000-03-23 Gerd Moellmann <gerd@gnu.org>
9762
9763 * xterm.c (fast_find_position): Make sure not to consider rows
9764 not visible in the window.
9765
990b2375
SM
97662000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9767
9768 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9769 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9770
ff4df011
JR
97712000-03-22 Jason Rumney <jasonr@gnu.org>
9772
9773 * w32menu.c (single_submenu): Set help string to NULL if none.
9774 (w32_menu_show): Set help string correctly.
9775 (add-menu-item): Set help string in MIIM_DATA for menu item.
9776 Load SetMenuItemInfoA explicitly.
9777 (w32_menu_display_help): New function.
427ec082 9778
ff4df011
JR
9779 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9780 (QCdata): Moved to xdisp.c.
9781
9782 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9783 (Vw32_charset_to_codepage_alist): Removed.
9784 (Vw32_charset_info_alist): New variable.
52283633
SM
9785 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9786 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9787 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9788 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9789 with TODO comment.
9790 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9791 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9792 Define Vw32_charset_info_alist and w32_charset symbols.
9793
97942000-03-22 Jason Rumney <jasonr@gnu.org>
9795
9796 * makefile.nt (w32bdf.obj): Update dependencies.
9797
9798 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9799
9800 * w32fns.c: Include fontset.h after dispextern.h.
9801 (Fx_create_frame): Do not create fontset.
9802 (w32_load_system_font): Doc fix.
9803 (Fx_close_connection): Free full_name if it is not shared.
9804
9805 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9806 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9807 Callers updated.
ff4df011
JR
9808 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9809 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9810 (w32_font_is_double_byte): New function, needs body.
9811 (x_append_glyph): Set glyph->glyph_not_available_p.
9812 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9813 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9814 character, convert it to a unibyte character.
9815 (struct glyph_string): Delete member `charset'.
9816 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9817 calculating it is found.
9818 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9819 the case that per char metric is not available correctly.
9820 (x_fill_glyph_string): Handle the case that the specific glyph is
9821 not available correctly.
9822 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9823 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9824 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9825 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9826 fontset. Don't call FS_LOAD_FONT.
9827
439d5cb4
KR
98282000-03-22 Ken Raeburn <raeburn@gnu.org>
9829
9830 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9831 (INT_LISPLIKE): New macro.
9832 (NULL_INTERVAL_P): Use it.
52283633
SM
9833 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9834 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9835 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9836
9837 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9838 explicit references to "parent" field of struct interval and
9839 associated unclean type conversions.
52283633
SM
9840 * intervals.c (create_root_interval, root_interval, rotate_right)
9841 (rotate_left, balance_possible_root_interval, split_interval_right)
9842 (split_interval_left, interval_start_pos, find_interval)
9843 (next_interval, previous_interval, update_interval)
9844 (adjust_intervals_for_insertion, delete_node, delete_interval)
9845 (adjust_intervals_for_deletion, merge_interval_right)
9846 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9847 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9848 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9849 Likewise.
9850 * syntax.c (update_syntax_table): Likewise.
9851
9852 * intervals.c (reproduce_tree_obj): New function, like
9853 reproduce_tree but takes a Lisp_Object for the parent. Declare
9854 with prototype.
9855 (graft_intervals_into_buffer): Use it when appropriate.
9856 (reproduce_tree): Declare with prototype.
9857 (balance_possible_root_interval): Check that the parent is a lisp
9858 object before trying to examine its type.
9859
ee1c5b21
GM
98602000-03-22 Gerd Moellmann <gerd@gnu.org>
9861
9862 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9863 as strings only if both are known to be strings.
9864
9865 * s/openbsd.h (LIBS_TERMCAP): Undef.
9866
1fb352e0
SM
98672000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9868
9869 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9870 definitions for non-Emacs compilation.
9871 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9872 outside of `#ifdef emacs'.
9873 (print_partial_compiled_pattern): Update.
9874 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9875 (re_compile_fastmap): Merge handling of charset and charset_not (for
9876 emacs and non-emacs compilation as well).
9877 Similarly for (not)categoryspec and (not)syntaxspec.
9878 Don't use the fastmap when reaching `anychar' since the added
9879 complexity is not justified.
9880 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9881 and (not)syntaxspec. Merge (not)categoryspec.
9882
fdaa1f77
KH
98832000-03-22 Kenichi Handa <handa@etl.go.jp>
9884
52283633
SM
9885 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9886 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9887 --without-x.
fdaa1f77 9888
d152fb46
DL
98892000-03-21 Dave Love <fx@gnu.org>
9890
9891 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9892 doc string.
9893
d2cafc8c
GM
98942000-03-21 Gerd Moellmann <gerd@gnu.org>
9895
9896 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9897 (lface_fully_specified_p): Don't check contents of
9898 LFACE_FONT_INDEX because that attribute is optional.
9899 (realize_x_face): Remove now unwarranted xassert.
9900
9111d4b5
KH
99012000-03-21 Kenichi HANDA <handa@etl.go.jp>
9902
9903 The following changes are to make font selection based on
9904 characters, not charset. In addition, they recover fontset
9905 facilities while utilizing the new font selection mechanism.
9906
6c4bfdc0
KH
9907 * Makefile.in (fontset.o): Depend on dispextern.h.
9908
9909 * alloc.c (mark_face_cache): Don't mark face->registry.
9910
9111d4b5
KH
9911 * dispextern.h (struct glyph): New member glyph_not_available_p.
9912 Use 22 bits for face_id.
9913 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9914 (struct face): Delete member registry, new member ascii_face.
9915 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9916 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9917 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9918 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9919
9920 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9921 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9922 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9923 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9924 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9925 (fs_free_face_fontset, fontset_font_pattern)
9926 (face_suitable_for_char_p, face_for_char)
9927 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9928 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9929 (FS_LOAD_FACE_FONT): New macro.
9930
9931 * fontset.c: All codes rewritten or adjusted for the change of
9932 fontset implementation. Now fontset is represented by char table.
52283633
SM
9933 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9934 Variables removed.
9111d4b5 9935 (my_strcasecmp): Function removed.
52283633 9936 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9937 (AREF, ASIZE): New macros.
52283633
SM
9938 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9939 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9940 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9941 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9942 (fontset_id_valid_p, font_family_registry, fontset_name)
9943 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9944 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9945 New functions.
9946 (fs_load_font): New arg FACE. Caller changed.
9947 (fs_query_fontset): Argument changed. Caller changed.
9948 (Fquery_fontset): call fs_query_fontset.
9949 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9950 Functions removed.
52283633
SM
9951 (clear_fontset_elements, check_registry_encoding)
9952 (check_fontset_name): New functions.
9111d4b5
KH
9953 (syms_of_fontset): Set char-table-extra-slots property of fontset
9954 to 3. Staticpro and initialize Vfontset_table and
9955 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9956
9957 * frame.h (struct frame): Member `fontset_data' removed.
9958 (FRAME_FONTSET_DATA): Macro removed.
9959
9960 * frame.c (make_frame): Don't allocate f->fontset_data.
9961 (Fdelete_frame): Don't free f->fontset_data.
9962
6c4bfdc0
KH
9963 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9964
9111d4b5
KH
9965 * xdisp.c (charset_at_position): Function removed.
9966 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9967 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9968 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9969 Likewise.
9970 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9971 FACE_FOR_CHARSET.
52283633
SM
9972 (get_next_display_element, append_space)
9973 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9974
9975 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9976 Variables removed.
9977 (clear_font_table, frame_update_line_height, load_face_font):
9978 Adjusted for the change of fontset implementation.
9979 (load_face_fontset_font): Function removed.
9980 (pixel_point_size): New function.
9981 (font_list): Argument type changed. Caller changed.
9982 (LFACE_FONT): New macro.
9983 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9984 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9985 Lisp_Object. Determine the font name by actually loading a font
9986 by the specified pattern. Set LFACE_FONT (lface) to the specified
9987 pattern. Even if a font is not found, don't try alternatives.
9988 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9989 (set_font_frame_param): If `font' is specified in lface, use it.
9990 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9991 (lface_same_font_attributes_p): Likewise.
9992 (make_realized_face): Arguent changed. Caller changed. Set
9993 face->ascii_face to face itself.
9994 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9995 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9996 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9997 (free_realized_multibyte_face): New function.
9998 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9999 changed. Caller changed.
10000 (try_font_list): Argument type changed.
10001 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10002 (choose_face_font): Argument changed. Handle fontset properly.
10003 (choose_face_fontset_font): Function removed.
10004 (realize_default_face, realize_named_face): Don't remove the
10005 former face here.
10006 (realize_face): Argument changed. Caller changed. Remove face
52283633 10007 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10008 (realize_x_face): Argument changed. Caller changed. For a
10009 multibyte character, share fontset with base_face. For a single
52283633 10010 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10011 (realize_tty_face): Argument changed. Caller changed.
10012 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10013 (face_at_buffer_position): Don't check multibyte_p for returning
10014 DEFAULT_FACE_ID.
10015 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10016 FACE_SUITABLE_FOR_CHARSET_P.
10017 (syms_of_xfaces): Remove code for Qx_charset_registry and
10018 Vface_default_registry.
10019
6c4bfdc0
KH
10020 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10021 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10022 (x_per_char_metric): Don't try FONT->default_char. Even if
10023 pcm->width is zero, glyph bits may exist.
10024 (x_encode_char): Always initialize char2b->byte1.
10025 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10026 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10027 (x_append_glyph): Set glyph->glyph_not_available_p.
10028 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10029 it->charset. Handle the case that per char metric is not
10030 available. If it->multibyte_p is zero and it->c is a multibyte
10031 character, convert it to a unibyte character.
10032 (struct glyph_string): Delete member `charset'.
10033 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10034 the case that per char metric is not available correctly.
10035 (x_fill_glyph_string): Handle the case that the specific glyph is
10036 not available correctly.
10037 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10038 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10039 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10040 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10041 fontset. Don't call FS_LOAD_FONT.
10042
10043 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10044 (x_create_tip_frame): Likewise.
10045 (Fx_close_connection): Free full_name of font_info.
10046
10047 * fns.c (optimize_sub_char_table): New function.
10048 (Foptimize_char_table): New function.
10049 (syms_of_fns): Defsubr Soptimize_char_table.
10050
b33dd3b0
GM
100512000-03-20 Gerd Moellmann <gerd@gnu.org>
10052
10053 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10054 only if buffer is displayed in some window.
10055
10056 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10057 (try_window_reusing_current_matrix): Don't call scroll run
10058 function if run's current and desired position are the same;
10059 this prevents cursor flickering.
10060
4e8a9132
SM
100612000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10062
10063 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10064
10065 * regex.c (RE_STRING_CHAR): New macro.
10066 (GET_CHAR_AFER_2): Remove.
10067 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10068 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10069 (print_partial_compiled_pattern, re_compile_fastmap)
10070 (re_match_2_internal): Remove on_failure_jump_exclusive.
10071 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10072 optimization only need to work for * (ie. can use of_keep_string_jump).
10073 Remove the special case for .*\n since it is now covered by the general
10074 optimization.
10075 (re_search_2): Don't bother with `room'.
10076 (skip_one_char): New function.
10077 (skip_noops): Simplify since `memory' is not needed any more.
10078 (mutually_exclusive_p): Restructure slightly to use `switch' and
10079 add handling for "all" remaining cases.
10080 (re_match_2_internal): Change on_failure_jump_smart to use
10081 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10082 rather than on_failure_jump_exclusive.
10083
2136fdd4
GM
100842000-03-19 Gerd Moellmann <gerd@gnu.org>
10085
10086 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10087 number of bits per RGB because it's everywhere used as the depth
10088 of the visual.
10089
10090 * term.c (calculate_costs): Remove code dealing with X frames.
10091
18e21ce8 100922000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10093
10094 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10095
d7b511c4
GM
100962000-03-18 Gerd Moellmann <gerd@gnu.org>
10097
10098 * lread.c (read_integer): Unread the last char not consumed.
10099
16b5d424
GM
101002000-03-17 Gerd Moellmann <gerd@gnu.org>
10101
10102 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10103 which are in the process of being deleted.
16b5d424 10104
1fa28578
GM
101052000-03-16 Gerd Moellmann <gerd@gnu.org>
10106
83488cce
GM
10107 * Makefile.in (mostlyclean): Add `*.core'.
10108 (clean): Add `bootstrap-emacs'.
10109
1fa28578
GM
10110 * lread.c (read_integer): New function.
10111 (read1): Support read syntax #o, #x, #b, #r.
10112
99633e97
SM
101132000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10114
1fa28578
GM
10115 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10116 make sure POINTER_TO_OFFSET gives the same value before and after
10117 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10118 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10119 (debug): Now only active if > 0 rather than if != 0.
10120 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10121 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10122 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10123 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10124 (store_op1, store_op2, insert_op1, insert_op2)
10125 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10126 (group_in_compile_stack): Move to after its arg's types are
10127 declared and add a prototype.
99633e97 10128 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10129 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10130 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10131 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10132 indentation of the greedy-op and shy-group code.
99633e97
SM
10133 (at_(beg|end)line_loc_p): Fix argument's types.
10134 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10135 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10136 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10137 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10138 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10139 QUIT unconditionally.
99633e97 10140
699238d9
GM
101412000-03-15 Gerd Moellmann <gerd@gnu.org>
10142
10143 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10144 a sole completion.
10145
10146 * process.c (send_process): Add a hint that the function
10147 can call Lisp code to its comment.
10148
10149 * lread.c (load_dangerous_libraries): New variable.
10150 (Vbytecomp_version_regexp): New variable.
10151 (safe_to_load_p): New function.
10152 (Fload): Handle files not compiled with Emacs specially.
10153 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10154
34e23e5a
GM
101552000-03-14 Gerd Moellmann <gerd@gnu.org>
10156
9c763cca
GM
10157 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10158
10159 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10160 support functions only if HAVE_X11R6_XIM is defined.
10161 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10162
10163 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10164
10165 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10166 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10167 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10168
10169 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10170 (HAVE_X11R6_XIM): Define.
10171
10172 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10173
34e23e5a
GM
10174 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10175 If set, call XSynchronize.
10176
66f0296e
SM
101772000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10178
34e23e5a
GM
10179 * regex.c: Declare a new type `re_char' used throughout the code
10180 for the string char type. It's `const unsigned char' to match the
10181 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10182 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10183 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10184 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10185 code duplication.
66f0296e
SM
10186
10187 * charset.h (GET_CHAR_AFTER_2): Remove.
10188 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10189
854a025c
KR
101902000-03-12 Ken Raeburn <raeburn@gnu.org>
10191
10192 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10193 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10194 of them try to use backquotes.
10195
b9d2c7e2
DL
101962000-03-12 Dave Love <fx@gnu.org>
10197
10198 * unexelf.c: Restore changes of 1999-10-19.
10199 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10200 fix its type and alignment; copy it from current process.
10201
5e5dff44
GM
102022000-03-12 Gerd Moellmann <gerd@gnu.org>
10203
9b2f3c38
GM
10204 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10205 has been found. Fix bug not computing timer's predecessor.
10206
427ec082 10207 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10208 file name.
10209
e1cff360
GM
10210 * window.c (Fsave_window_excursion): Doc fix.
10211
52283633 10212 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10213
e411ce4b
EZ
102142000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10215
10216 * msdos.c (vga_installed): New function, code moved from
10217 dos_set_window_size.
10218 (Qbar, Qcursor_type, outside_cursor): New variables.
10219 (syms_of_msdos): Intern and staticpro them.
10220 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10221 shape used outside Emacs when called for the first time.
10222 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10223 cursor shape used outside Emacs.
10224 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10225 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10226 type has changed.
10227 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10228 parameters specify the cursor. Make qreverse a global
10229 variable (renamed to Qreverse).
10230
80460654
GM
102312000-03-09 Gerd Moellmann <gerd@gnu.org>
10232
10233 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10234
95cd4c40
SM
102352000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10236
10237 This is a big redesign of failure-stack and register handling, prompted
10238 by bugs revealed when trying to add shy-groups. Overall, what happened
10239 is that loops are now structured a little differently, groups can be
10240 shy and the code is a little simpler.
10241
10242 * regex.h: Update the copyright.
10243 (RE_SHY_GROUPS): New value.
10244 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10245 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10246
80460654
GM
10247 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10248 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10249 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10250 for (start|stop)_memory since they now only take one argument (the
10251 second has becomes unnecessary).
52283633 10252 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10253 (print_compiled_pattern): Use %ld to printf long ints and flush to
10254 make debugging a little easier.
95cd4c40
SM
10255 (union fail_stack_elt): Make the integer unsigned.
10256 (struct fail_stack_type): Add a `frame' element.
10257 (INIT_FAIL_STACK): Init `frame' as well.
10258 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10259 (DEBUG_PUSH, DEBUG_POP): Remove.
10260 (NUM_REG_ITEMS): Remove.
10261 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10262 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10263 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10264 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10265 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10266 New macros.
80460654
GM
10267 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10268 address pushed is not the destination of the jump but the source
10269 of it instead.
95cd4c40
SM
10270 (NUM_FAILURE_ITEMS): Remove.
10271 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10272 registers before the actual failure point). Don't hardcode any
10273 meaning for str==NULL anymore.
95cd4c40 10274 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10275 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10276 Remove.
95cd4c40
SM
10277 (REG_UNSET_VALUE): Use NULL (why not?).
10278 (compile_range): Remove declaration since it doesn't exist.
10279 (struct compile_stack_elt_t): Remove inner_group_offset.
10280 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10281 (regex_grow_registers): Remove dead code.
10282 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10283 (regex_compile): Add shy-groups Change loops to use
10284 on_failure_jump_smart&jump instead of
10285 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10286 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10287 variable to me). Use `jump' instead of `jump_past_alt' and don't
10288 bother with push_dummy_failure in alternatives since it is now
10289 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10290 emacs' for (re)allocating the stack.
10291 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10292 from loop when bufp->can_be_null rather than jumping to `done'.
10293 Avoid jumping backwards so as to ensure termination. Use
10294 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10295 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10296 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10297 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10298 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10299 (lowest_active_reg, highest_active_reg)
10300 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10301 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10302 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10303 variables. Push register (in `start_memory') on the stack rather
10304 than storing it in old_reg(start|end). Remove the cycle detection
10305 from `stop_memory', replaced by the use of on_failure_jump_loop
10306 for greedy loops. Add code for the new on_failure_jump_<foo>.
10307 Remove ad-hoc code in `on_failure_jump' to push more registers in
10308 the case of a loop. Take out code from `maybe_pop_jump' into
10309 separate functions and adapt it to the semantics of
10310 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10311 and push_dummy_failure. Remove dummy_failure handling and
10312 handling of `failures to jump to on_failure_jump' (this last one
10313 was already dead code, it seems).
10314 (group_match_null_string_p, alt_match_null_string_p)
10315 (common_op_match_null_string_p): Remove.
95cd4c40 10316
7397acc4
DL
103172000-03-08 Dave Love <fx@gnu.org>
10318
10319 * config.in: Don't depend on __STDC__ for volatile.
10320 Add POINTER_TYPE, PTR, PROTOTYPES.
10321
10322 * hftctl.c, strftime.c: Use PROTOTYPES.
10323 * eval.c (find_handler_clause): Likewise.
10324
10325 * mem-limits.h: Use POINTER_TYPE.
10326
10327 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10328 (memory_warnings): Declare using POINTER_TYPE.
10329
5e91ff9e
GM
103302000-03-08 Gerd Moellmann <gerd@gnu.org>
10331
feab4fba
GM
10332 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10333
52283633 10334 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10335
5e91ff9e
GM
10336 * xfns.c: Remove obsolete code in #if 0.
10337 (Fx_focus_frame): New function.
10338
a735b7e1
KH
103392000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10340
10341 * coding.c (coding_category_name): Add coding-category-utf-8,
10342 coding-category-utf-16-be, coding-category-utf-16-le.
10343 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10344 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10345 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10346 (detect_coding_utf_8): New function.
10347 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10348 UTF_16_LOW_SURROGATE_P): New macros.
10349 (detect_coding_utf_16): New function
10350 (detect_coding_mask): When priorities are specified, skip any
10351 categories that have `nil' coding-system. Fix bug of returning
10352 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10353 returns a mask not set in PRIORITIES.
10354 (detect_eol_type_in_2_octet_form): New function.
10355 (detect_eol): selects detect_eol_type_XXX to call according to
10356 cooding->category_idx.
10357 (detect_coding_system): Remove `nil' coding-system in the result.
10358 (Fupdate_coding_systems_internal): Update all coding-categories.
10359
52283633
SM
10360 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10361 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10362 New macros.
10363 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10364 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10365 (CODING_CATEGORY_IDX_UTF_16_LE)
10366 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10367 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10368 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10369 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10370
9994cc69
GM
103712000-03-07 Gerd Moellmann <gerd@gnu.org>
10372
e9b4e5ff
GM
10373 * doc.c (Fdocumentation_property): If value is not a string,
10374 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10375
f7daf1e1
GM
10376 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10377 close the display with XtCloseDisplay. This caused a bus error
10378 on OpenWindows.
10379
9994cc69
GM
10380 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10381 complete but not unique.
10382
4336c705
GM
103832000-03-06 Gerd Moellmann <gerd@gnu.org>
10384
18bb0684
GM
10385 * process.c (send_process): Remove local variable `procname' that
10386 might become invalid when a GC happens. Instead, access the
10387 process name slot directly.
10388
4336c705
GM
10389 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10390 orig_height if set.
10391
10392 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10393 orig_height if set.
10394
515d0d0e
EZ
103952000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10396
10397 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10398 glyph matrices have been freed.
10399
100b3cbb
GM
104002000-03-05 Gerd Moellmann <gerd@gnu.org>
10401
50df5e5a 10402 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10403 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10404
10405 * xfns.c (QCdata): Moved to xdisp.c.
10406
10407 * xdisp.c (QCdata): Moved here from xfns.c.
10408 (syms_of_xdisp): Initialize QCdata.
10409
10410 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10411
10412 * window.c (coordinates_in_window): Use
10413 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10414 FRAME_INTERNAL_BORDER_WIDTH.
10415
100b3cbb 10416 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10417 it is obviously invalid.
100b3cbb
GM
10418
10419 * xterm.c (x_term_init): Create a colormap if not using the
10420 default visual.
10421
10422 * xterm.h (select_visual): Change prototype.
10423
10424 * xfns.c (select_visual): Rewritten. Recognize user-specified
10425 visual classes.
10426 (visual_classes): New variable.
10427
64d739c4
GM
104282000-03-04 Gerd Moellmann <gerd@gnu.org>
10429
10430 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10431 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10432 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10433 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10434 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10435 XtNcolormap resources.
10436 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10437 (Fx_create_frame): Initialize color members of x_output structure.
10438 (xpm_load): Pass colormap to XPM lib.
10439
10440 * xfaces.c (x_free_colors): Access colormap of frame using
10441 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10442 when default colormap is used.
10443
10444 * xterm.c (x_term_init): Set Colormap member of x_display_info
10445 structure. Copy colormap if resource `privateColormap' is
10446 specified (PseudoColor only).
10447 (x_setup_relief_color): Access colormap of frame using
10448 FRAME_X_COLORMAP.
10449
10450 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10451 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10452
c3cee013
JR
104532000-03-04 Jason Rumney <jasonr@gnu.org>
10454
10455 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10456 other non-platform-specific equivalents.
64d739c4 10457 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10458 specific functions and macros as their w32 equivalents where
10459 non-platform-specifics are not available.
10460 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10461 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10462 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10463 (frame_update_line_height): Use macros to access f->output_data.
10464 (defined_color): Remove FIXME comments; fixed.
10465 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10466 into #ifdef blocks. Add WINDOWSNT blocks.
10467 (Fx_list_fonts): Use macros for accessing font data.
10468 (set_lface_from_font_name): Different default fonts for X and
10469 WINDOWSNT.
10470 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10471 scalable for backward compatibility.
64d739c4 10472 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10473 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10474
64d739c4 10475 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10476 syms_of_w32faces.
10477
10478 * makefile.nt (w32faces.obj): Remove.
10479 (xfaces.obj): Add.
10480
807cc41c
JR
104812000-03-03 Jason Rumney <jasonr@gnu.org>
10482
10483 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10484 correct parameters.
10485
0007072a
KR
104862000-03-03 Ken Raeburn <raeburn@gnu.org>
10487
10488 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10489 standard ELF definitions here if the system header does not.
10490
71a6ba55
GM
104912000-03-03 Gerd Moellmann <gerd@gnu.org>
10492
10493 * xterm.c (PER_CHAR_METRIC): Removed.
10494 (x_per_char_metric_1, x_default_char): New functions.
10495 (x_per_char_metric): If font's default char is invalid, return
10496 metrics of a suitably chosen usable default char.
10497 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10498 char, replace occurrences of unprintable chars with a suitably
10499 chosen usable default char.
71a6ba55 10500
900fa1f1
GM
105012000-03-02 Gerd Moellmann <gerd@gnu.org>
10502
42f55fe0
GM
10503 * xterm.c (note_mouse_highlight): Return quickly if frame's
10504 glyph matrices have been freed.
10505
10506 * dispnew.c (free_glyphs): Block input while freeing matrices.
10507
900fa1f1
GM
10508 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10509
52283633
SM
10510 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10511 Use x_free_colors.
900fa1f1
GM
10512
10513 * dispextern.h (x_free_colors): Add prototype.
10514
10515 * xfaces.c (x_free_colors): New function.
10516 (unload_color, free_face_colors): Use it.
10517
2f950292
EZ
105182000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10519
10520 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10521
10522 * window.c [MSDOS]: Include msdos.h.
10523
54d04320
DL
105242000-03-02 Dave Love <fx@gnu.org>
10525
10526 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10527
10528 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10529 set C_OPTIMIZE_SWITCH for gcc.
10530
0ba93ac4
KH
105312000-03-02 Kenichi Handa <handa@etl.go.jp>
10532
10533 * coding.c (coding_save_composition): Be sure to allocate
10534 composition data area in coding even if there's no composition in
10535 the current run.
10536
a2bc11d4
JR
105372000-03-01 Jason Rumney <jasonr@gnu.org>
10538
10539 * w32term.c: Equivalent changes to those made to xterm.c on
10540 2000-02-25 and 2000-02-24.
10541
10542 * w32fns.c: Equivalent changes to those made to xfns.c on
10543 2000-02-25 and 2000-02-21.
10544
10545 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10546 correct line-end convention is followed.
10547
10548 * w32menu.c [HAVE_BOXES]: Remove #undef.
10549 (single_keymap_panes): Remove code for simulating checkmarks.
10550 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10551 Remove code for drawing simulated checkmarks.
10552 (w32_menu_show): make unibyte help string correctly.
10553 (add_menu_item): draw standard Windows checkmarks. Draw radio
10554 buttons as radio buttons if possible.
10555
72d19d75
GM
105562000-03-01 Gerd Moellmann <gerd@gnu.org>
10557
2df636f4
GM
10558 * sysdep.c (start_of_text): Don't define this function for NetBSD
10559 with ELF.
10560
427ec082 10561 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10562 Don't define.
10563 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10564 (LINKER): Don't undef if __NetBSD__ is defined.
10565
10566 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10567
10568 * fileio.c [__NetBSD__]: Define `unix'.
10569
72d19d75
GM
10570 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10571
ed4d0512
GM
105722000-02-29 Gerd Moellmann <gerd@gnu.org>
10573
50b1039f
GM
10574 * atimer.c (start_atimer): Don't abort when timers are stopped.
10575 (append_atimer_lists): New function.
10576 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10577 arbitrary lists of stopped and running atimers.
10578
ed4d0512
GM
10579 * atimer.c (cancel_atimer): Handle canceling an atimer when
10580 some timers are stopped.
10581
10582 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10583 after canceling it.
10584
10585 * fns.c (maybe_resize_hash_table): Handle case of new size
10586 coming out as being the same as old size.
10587
387023ee
JR
105882000-02-27 Jason Rumney <jasonr@gnu.org>
10589
10590 * makefile.nt: Add atimer.h to dependencies.
10591 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10592 * w32console.c: Only disable window system features for dispextern.h
10593 (initialize_w32_display): Build a display info for the console.
10594 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10595 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10596 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10597 as 2 button mice.
10598 * w32gui.h (struct W32FontStruct): Revert last change after change
10599 to xdisp.c.
10600 * w32menu.c (single_submenu): Set up help string.
10601 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10602 (w32_dialog_show): Set up help string.
10603 * w32term.c (w32_display_info_for_display): Remove unused function.
10604 (w32_draw_bitmap): Use pre-built bitmaps.
10605 (w32_initialize_display_info): New function to initialize parts of
10606 display info that are common to both GUI and console frames.
10607 (w32_term_init): Use w32_initialize_display_info. Do not set
10608 Vw32_num_mouse_buttons here, as it is not called for console
10609 frames. Build bitmaps for indicating truncated lines etc.
10610 (x_delete_display): Destroy pre-built bitmaps.
10611 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10612 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10613
4516715a
DL
106142000-02-27 Dave Love <fx@gnu.org>
10615
10616 * lisp.h: Add a bunch of prototypes.
10617
171ca836
KH
106182000-02-26 Kenichi Handa <handa@etl.go.jp>
10619
10620 * keyboard.c (read_char): Set `usec' correctly.
10621
4013921d
KH
106222000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10623
10624 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10625 `lambda', set reg[RRR] to the map index.
10626 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10627 reg[RRR] to 0. Otherwise, set it to -1.
10628
9244a058
GM
106292000-02-25 Gerd Moellmann <gerd@gnu.org>
10630
2df636f4 10631 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10632
18e21ce8 106332000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10634
f43d79c1
GM
10635 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10636 and contains a `:', prepend `/:'.
10637
10638 * window.c (select_window_1): If selected_window is nil,
10639 don't "swap out" the buffer's point.
10640 (Fset_window_configuration): Set selected_window to nil
10641 before calling Fselect_window.
10642 (unshow_buffer): Don't set point in buffer from window's point
10643 if another more recently selected window also shows the buffer.
10644
bed0c171
GM
106452000-02-25 Gerd Moellmann <gerd@gnu.org>
10646
449c3c52
GM
10647 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10648
f5b58615
GM
10649 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10650 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10651 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10652 New variables.
f5b58615
GM
10653 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10654 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10655 (hide_busy_cursor): New functions.
10656 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10657
10658 * minibuf.c (read_minibuf): Cancel busy-cursor.
10659
10660 * keyboard.c (command_loop_1): Call start_busy_cursor before
10661 Fcommand_execute and cancel_busy_cursor after it.
10662 (timer_check): Remove busy-cursor code.
10663 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10664 cursor timer.
10665
10666 * process.c (wait_reading_process_input): Remove busy-cursor code.
10667
10668 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10669 Fx_hide_busy_cursor.
10670
10671 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10672 Remove prototyoes.
10673 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10674
10675 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10676
10677 * xterm.c (XTread_socket): Remove busy-cursor code.
10678
4eb8436f
GM
10679 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10680 (build_frame_matrix_from_leaf_window): Put code handling
10681 glyph row's not being a slice of a frame row in #if 0.
10682 (sync_window_with_frame_matrix_rows): New function.
10683 (frame_row_to_window): New function.
10684 (mirror_line_dance): Handle copies between windows.
10685
3cb65b0e
GM
10686 * lread.c (Fload): Use `xfree' instead of `free'.
10687 (init_obarray): Use `xmalloc' instead of `malloc'.
10688
bed0c171
GM
10689 * window.c (Fset_window_buffer): Set WINDOW to the window
10690 after decoding.
2add4349
GM
10691 (coordinates_in_window): Take frame's internal border width
10692 into account.
bed0c171 10693
42088c12
GM
106942000-02-24 Gerd Moellmann <gerd@gnu.org>
10695
10696 * xterm.c (x_display_and_set_cursor): Display cursor of
10697 non-selected windows depending on the setting of
10698 cursor_in_non_selected_windows.
10699
10700 * xdisp.c (cursor_in_non_selected_windows): New variable.
10701 (syms_of_xdisp): DEFVAR_BOOL it.
10702
d1e103b2
GM
107032000-02-23 Gerd Moellmann <gerd@gnu.org>
10704
723e779c
GM
10705 * data.c (Fstring_to_number): If number is greater than what
10706 fits into an integer, return a float.
10707
d1e103b2
GM
10708 * eval.c (specbind): Remove references to
10709 keyword_symbols_constant_flag.
10710
10711 * data.c (keyword_symbols_constant_flag): Removed.
10712 (Fmakunbound, set_internal, syms_of_data): Remove references to
10713 keyword_symbols_constant_flag.
10714
10715 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10716
214f877f
KH
107172000-02-23 Kenichi Handa <handa@etl.go.jp>
10718
10719 * syntax.c (multibyte_syntax_as_symbol): New variable.
10720 (syms_of_syntax): Declare it as a Lisp variable.
10721 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10722 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10723 nonzero, treat all multibyte characters as symbol.
52283633 10724 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10725
130adcb7
EZ
107262000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10727
3cb65b0e 10728 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10729 a deleted frame.
130adcb7 10730
17cbbf95
GM
107312000-02-21 Gerd Moellmann <gerd@gnu.org>
10732
10733 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10734
10735 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10736 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10737
beb0bc36
DL
107382000-02-21 Dave Love <fx@gnu.org>
10739
10740 * frame.c (Vmouse_position_function): New variable.
10741 (Fmouse_position): Use it.
10742 (syms_of_frame): Install it.
10743
10744 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10745
1d92afcd
GM
107462000-02-20 Gerd Moellmann <gerd@gnu.org>
10747
10748 * fileio.c (Finsert_file_contents): Unbind the binding of
10749 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10750
10751 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10752 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10753 (specbind, unbind_to): Handle most common case of non-constant
10754 symbol with trivial value specially.
10755
10756 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10757
18e21ce8 107582000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10759
10760 * data.c (Fmake_variable_buffer_local): Doc fix.
10761 Init found_for_buffer to 0.
10762 (Fmake_variable_frame_local): If the variable has already
10763 been buffer-local, set the check_frame field.
10764
1d4311c3
EZ
107652000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10766
10767 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10768 produced for CODING_MODE_LAST_BLOCK requires.
10769
2dc95ddd
DL
107702000-02-18 Dave Love <fx@gnu.org>
10771
10772 * keyboard.c (echo_keystrokes): Remove declaration.
10773 (Vecho_keystrokes) New variable.
10774 (read_char, record_menu_key, read_key_sequence): Use it to allow
10775 use of float value.
10776 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10777
10778 * lread.c: Undef feature selection macros before defining.
10779
f0930f35
GM
107802000-02-18 Gerd Moellmann <gerd@gnu.org>
10781
10782 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10783 for symbols other than the symbol in question.
10784
e3d4de90
DL
107852000-02-17 Dave Love <fx@gnu.org>
10786
10787 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10788
0b378936
GM
107892000-02-17 Gerd Moellmann <gerd@gnu.org>
10790
d621caf7
GM
10791 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10792
0b378936
GM
10793 * alloc.c (enum mem_type): Compile unconditionally.
10794
3b451f74
EZ
107952000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10796
10797 * xfaces.c (tty_defined_color): Don't return faulire indication
10798 for unspecified-fg and unspecified-bg pseudo-colors.
10799
10689a01
GM
108002000-02-17 Gerd Moellmann <gerd@gnu.org>
10801
1216f5e4
GM
10802 * alloc.c (mark_object): Don't mark symbol names in pure space.
10803 (gc_sweep): Don't unmark symbol names in pure space.
10804
10805 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10806 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10807 [GC_MARK_STACK]: New defines.
427ec082 10808 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10809 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10810
10811 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10812
10813 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10814 allocate_buffer instead of xmalloc.
10815
10816 * alloc.c (toplevel): Include setjmp.h.
10817 (PURE_POINTER_P): New define.
10818 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10819 (Vdead) [GC_MARK_STACK]: New variable.
10820 (lisp_malloc): Add parameter TYPE, call mem_insert if
10821 GC_MARK_STACK is defined.
10822 (allocate_buffer): New function.
427ec082 10823 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10824 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10825 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10826 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10827 (MEM_NIL) [GC_MARK_STACK]: New define.
10828 (struct mem_node) [GC_MARK_STACK]: New structure.
10829 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10830 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10831 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10832 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10833 (mark_stack) [GC_MARK_STACK]: New functions.
10834 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10835 (clear_marks): Removed.
10836 (gc_sweep): Set free conses' car, free floats' type, free
10837 symbols' function to Vdead. Use lisp_free to free buffers.
10838 (init_alloc_once): Initialize Vdead.
10839 (survives_gc_p): Return non-zero for pure objects.
10840
10841 * alloc.c: Add comments throughout the file.
10842
2503c8b1
GM
10843 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10844 that unblocks alarms.
10845
8389e1e2
GM
10846 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10847 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10848 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10849
10689a01 10850 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10851
bfc17d18
KH
108522000-02-17 Kenichi Handa <handa@etl.go.jp>
10853
4a09dee0
KH
10854 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10855 avoid infinite error signaling. Allocate sufficient memory for
10856 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10857
2b927d02
SM
108582000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10859
10860 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10861 depends on the previous behavior.
10862
b49cb764
GM
108632000-02-16 Gerd Moellmann <gerd@gnu.org>
10864
10865 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10866
99e95407
GM
108672000-02-15 Gerd Moellmann <gerd@gnu.org>
10868
10869 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10870
10871 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10872 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10873 write(2).
10874
6ffd3cf7
RS
108752000-02-15 Richard M. Stallman <rms@gnu.org>
10876
10877 * data.c (set_internal): Don't make variable buffer-local
10878 if within a let-binding for the same buffer.
10879 (let_shadows_buffer_binding_p): New function.
10880
10881 * eval.c (specbind): For buffer-local value,
10882 record the current buffer also.
10883 (unbind_to): Cope with that change.
10884
cad53475
GM
108852000-02-15 Gerd Moellmann <gerd@gnu.org>
10886
10887 * window.c (Fsave_window_excursion): Doc fix.
10888
1aa963c8
SM
108892000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10890
10891 * syntax.c (back_comment): Make sure we only consider comment-starters
10892 of the relevant style and return -1 in case of a failure to find the
10893 beginning of the comment.
10894 (Fforward_comment): If back_comment fails, go back to the position just
10895 after the comment-end.
10896 (scan_lists): Add comment describing a very minor bug.
10897
b9b84fd3
SM
108982000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10899
10900 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10901 `completion-regexp-list' in the docstring.
10902
3a28db80
DL
109032000-02-14 Dave Love <fx@gnu.org>
10904
10905 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10906
fb4a568d
SM
109072000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10908
10909 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10910 to Emacs' syntax. Also fix the comment about set/not-set meanings
10911 since Emacs syntax is not the value 0 any more.
10912 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10913 since it's now part of RE_SYNTAX_EMACS.
10914
1063ebb5
DL
109152000-02-12 Dave Love <fx@gnu.org>
10916
52283633 10917 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10918
fb07a302
GM
109192000-02-12 Gerd Moellmann <gerd@gnu.org>
10920
10921 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10922
aaf2320c
DL
109232000-02-12 Dave Love <fx@gnu.org>
10924
10925 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10926
10927 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10928 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10929 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10930
10931 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10932
10933 * s/nextstep.h: Don't define HAVE_ALLOCA.
10934
10935 * config.in: Add vfork bits.
10936
eedf8bde
GM
109372000-02-12 Gerd Moellmann <gerd@gnu.org>
10938
10939 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10940 unwind function to undo the effect of stopping atimers.
10941
52283633 10942 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10943
10944 * atimer.c (stopped_atimers): New variable.
10945 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10946 New functions.
10947
10948 * atimer.h (stop_other_atimers, run_all_atimers)
10949 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10950
eedf8bde
GM
10951 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10952
8476c2f8
KR
109532000-02-11 Ken Raeburn <raeburn@gnu.org>
10954
10955 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10956 library may depend on jpeg.
10957 (atimer.o): Depends on atimer.c.
10958
0e85e4a3
KH
109592000-02-11 Kenichi Handa <handa@etl.go.jp>
10960
10961 * insdel.c (del_range_1): Call update_compositions.
10962 (del_range_both): Call update_compositions just once..
10963
97fa0cc8
DL
109642000-02-10 Dave Love <fx@gnu.org>
10965
10966 * xfns.c (create_frame_xic): Fix initialization of automatic
10967 aggregates for pcc.
10968
25566a3c
KH
109692000-02-09 Kenichi Handa <handa@etl.go.jp>
10970
10971 * ccl.c (CCL_MAKE_CHAR): New macro.
10972 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10973 registers by CCL_MAKE_CHAR before calling translate_char.
10974 <CCL_TranslateCharacterConstTbl> Likewise.
10975
69da54ba
DL
109762000-02-08 Dave Love <fx@gnu.org>
10977
10978 * lread.c (__EXTENSIONS__): Define.
10979
f7136ee8
GM
109802000-02-08 Gerd Moellmann <gerd@gnu.org>
10981
10982 * puresize.h (BASE_PURESIZE): Increase to 650000.
10983
7768790b
EZ
109842000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10985
10986 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10987 the help message.
10988
38fd211b
EZ
109892000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10990
10991 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10992 md, mh, mb, mr, and me to the fake termcap entry.
10993
66e4690f
KR
109942000-02-06 Ken Raeburn <raeburn@gnu.org>
10995
10996 * sound.c (sound_cleanup): Don't call device close routine if the
10997 function pointer is null.
10998
a75dfea0
AI
109992000-02-06 Andrew Innes <andrewi@gnu.org>
11000
11001 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11002 around image definitions and prototypes.
11003 (gamma_correct) [WINDOWSNT]: New prototype.
11004
11005 * w32term.c (x_make_frame_visible): Replace call to
11006 input_poll_signal with poll_for_input.
11007
11008 * window.c [WINDOWSNT]: Include w32term.h.
11009
11010 * xdisp.c [WINDOWSNT]: Include w32term.h.
11011
11012 * makefile.nt: Add dependencies on w32gui.h.
11013 (OBJ1): Include atimer.obj.
11014 ($(BLD)\atimer.obj): New dependency rule.
11015
11016 * w32.c (sigmask): New function (does nothing).
11017 (sigunblock): Ditto.
11018
11019 * frame.c [WINDOWSNT]: Include w32term.h.
11020
11021 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11022
11023 * lread.c (syms_of_lread): Fix literal newlines.
11024
11025 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11026 the string constant limit (2048 bytes) in MSVC.
11027 (main): Ditto.
11028
59ddecde
GM
110292000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11030
52283633 11031 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11032 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11033 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11034 dispatch the event.
11035
07590973
DL
110362000-02-04 Dave Love <fx@gnu.org>
11037
11038 * fileio.c: Remove some unused vars.
11039 (_GNU_SOURCE): Define (for euidaccess).
11040
11041 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11042
11043 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11044 gcpro1, gcpro2.
11045 (read_minibuf): Deal with allow_props correctly.
11046
649351f9
EZ
110472000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11048
11049 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11050
66e4690f 110512000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11052
11053 * search.c (compile_pattern): If a cache entry has a nil regexp,
11054 fill in that entry instead of clobbering a previously cached
11055 string regexp.
11056
66e4690f 110572000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11058
11059 * puresize.h (BASE_PURESIZE): Increase to 610000.
11060
d240a249
GM
110612000-02-02 Gerd Moellmann <gerd@gnu.org>
11062
11063 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11064 can GC.
11065
ca91fb26
KH
110662000-02-02 Kenichi Handa <handa@etl.go.jp>
11067
25660570
KH
11068 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11069 instead of incrementing ic directly.
11070 <CCL_WriteExprConst> Likewise.
11071 <ccl_set_expr>: Set ic to jump_address.
11072
ca91fb26
KH
11073 * fileio.c (e_write): Fix the handling of
11074 CODING_FINISH_INSUFFICIENT_SRC.
11075
2ede9689
DL
110762000-02-01 Dave Love <fx@gnu.org>
11077
11078 * editfns.c (Fpropertize): Doc fix.
11079
11080 * process.c (Fstart_process): Doc fix.
11081
11082 * eval.c: Fix various doc strings not to duplicate information
11083 from help-manyarg-func-alist.
11084
52283633 11085 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11086
11087 * doc.c (Vhelp_manyarg_func_alist): New variable.
11088 (Fdocumentation): Use it.
11089 (syms_of_doc): Define it.
11090
b6680a0e
GM
110912000-01-31 Gerd Moellmann <gerd@gnu.org>
11092
2cb750ba
GM
11093 * xterm.c (xim_open_dpy): Remove unused local variable.
11094
52283633 11095 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11096
11097 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11098 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11099
b6680a0e
GM
11100 * fns.c (sweep_weak_table): New function.
11101 (sweep_weak_hash_tables): Use it. Keep on marking until there
11102 is no more change.
11103
994c5afe
GM
111042000-01-30 Gerd Moellmann <gerd@gnu.org>
11105
11106 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11107 that XTread_socket does not crash by trying to call XNoOp on a
11108 closed display.
427ec082 11109
f00276e3
JR
111102000-01-30 Jason Rumney <jasonr@gnu.org>
11111
11112 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11113 Change selected_frame to SELECTED_FRAME ().
11114 (w32_console_mouse_position): Remove #ifndef MULE from around
11115 `insist' parameter.
11116
11117 * makefile.nt: Remove dosfns.obj.
11118
11119 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11120
11121 * w32fns.c (w32_defined_color): Check for valid frame before
11122 applying gamma correction. Eliminate dependency on frame elsewhere.
11123 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11124 (w32_to_x_font): Use resx and resy not height_in and width_in.
11125 (x_to_w32_font): Doc fix.
11126 (xlfd_strip_height): New function to strip and return font height.
11127 (w32_font_match): Compare height separately from rest of xlfd
11128 spec, using xlfd_strip_height.
11129
11130 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11131 width_in. Use w32_defined_color in place of defined_color.
11132
11133 * w32faces.c: Merge more of DOS and X specifics in preparation for
11134 merge with xfaces.c.
11135 (defined_color): Remove FIXME comment.
11136 (tty_color_name): Provide w32-specific function.
11137 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11138
11139 * w32console.c (turn_on_face, turn_off_face): Removed.
11140 (w32_face_attributes): New function.
11141 (Global_variables): Reduce scope where possible.
11142 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11143 fill attribute.
11144 (hl_mode): Don't modify text attributes.
11145 (write_glyphs): Don't do anything if len <= 0. Use
11146 w32_face_attributes to get attributes for drawing. Write
11147 terminating codes using char_attr_normal.
11148 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11149 (update_begin, update_end): Likewise.
11150 (vga_stdcolor_name): New function.
11151 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11152 (Fset_screen_color): Remove char_attr_reverse.
11153
b08e8bb2
GM
111542000-01-29 Gerd Moellmann <gerd@gnu.org>
11155
11156 * xfns.c (xic_set_preeditarea): Take window parameter and
11157 window-relative pixel-positions.
11158
11159 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11160 is its frame's selected window.
11161 (xim_instantiate_callback): Likewise.
11162
11163 * xfns.c (x_create_im): Removed.
11164 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11165 (supported_xim_styles): Renamed from supported_styles.
11166 (best_xim_style): Renamed from best_style.
11167 (create_frame_xic): Renamed from xic_create_frame.
11168 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11169
b08e8bb2
GM
111702000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11171
11172 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11173 our frames, call XFilterEvent with 2nd parameter `None'.
11174 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11175 returning XBufferOverflow.
52283633 11176 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11177 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11178 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11179 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11180 (xim_initialize, xim_close)
11181 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11182 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11183 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11184 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11185
11186 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11187 and `xim_styles'.
11188 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11189 `xic_style' and `xic_xfs'.
11190 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11191 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11192 (FRAME_XIM): Removed.
11193
11194 * xfns.c (supported_styles): New variable.
11195 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11196 (xic_create_xfontset, best_style, xic_create_frame)
11197 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11198 (xic_set_xfontset): New functions.
11199
142e109c
DL
112002000-01-28 Dave Love <fx@gnu.org>
11201
11202 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11203
11204 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11205
b02786f9
GM
112062000-01-28 Gerd Moellmann <gerd@gnu.org>
11207
d060bc9f
GM
11208 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11209 for *scratch* if it already existed.
11210
b02786f9
GM
11211 * emacs.c (USAGE): New macro.
11212 (main): Use it to display usage information.
11213
2c52d7e4
EZ
112142000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11215
11216 Support for the menu-help feature:
11217
52283633 11218 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11219
11220 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11221 part of the line to the termscript file.
11222 (IT_clear_to_end): Clear the entire line, not just its beginning.
11223 (menu_help_message, prev_menu_help_message): New variables.
11224 (IT_menu_make_room): Make room for the help_text member.
11225 (IT_menu_display): New argument disp_help; all callers changed.
11226 If disp_help is non-zero, store the help text of the active menu
11227 item in menu_help_message.
11228 (XMenuAddPane): Initialize the help_text member to NULL.
11229 (XMenuAddSelection): New argument help_text. Store it in the
11230 XMenu structure.
11231 (XMenuActivate): New argument help_callback. If the value of
11232 menu_help_message has changed since the last time, display the
11233 menu help message text while waiting for the mouse to move. Clear
11234 the echo area before exiting.
11235 (XMenuDestroy): Free the help_text member.
11236
ffe0bcd1
GM
112372000-01-27 Gerd Moellmann <gerd@gnu.org>
11238
11239 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11240 XMenuAddSelection. Pass help callback to XMenuActivate.
11241 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11242
50dbd23f
EZ
112432000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11244
11245 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11246 and EMACS_SET_USECS.
11247
f5941bf8
GM
112482000-01-26 Dave Love <fx@gnu.org>
11249
6c67ddee
DL
11250 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11251
f5941bf8
GM
11252 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11253 an error may be signalled.
11254
9e49c990
GM
112552000-01-26 Gerd Moellmann <gerd@gnu.org>
11256
fc3cb460
GM
11257 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11258 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11259
9e49c990
GM
11260 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11261
d0c037d8
GM
112622000-01-25 Gerd Moellmann <gerd@gnu.org>
11263
11264 * charset.c (Fstring): If there is a multibyte char among
11265 the args, always return a multibyte string.
11266
e12489f9
GM
112672000-01-25 Gerd Moellmann <gerd@gnu.org>
11268
11269 * sysdep.c (sys_select): Turn atimers off and on instead of
11270 recording and restoring old alarm handler
11271
11272 * process.c (toplevel): Include atimer.h.
11273 (create_process_1): Rewritten.
11274 (create_process): Use atimers instead of alarm.
11275 (wait_reading_process_input) [hpux]: Turn atimers off instead
11276 of turning off SIGALRM.
11277 (wait_reading_process_input): Turn off atimers instead off
11278 calling stop_polling.
11279
11280 * emacs.c (main): Call init_atimer.
11281
11282 * keyboard.c (toplevel): Include systime.h and atimer.h.
11283 (polling_for_input): Removed because unused.
11284 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11285 (poll_timer): New variable.
11286 (poll_for_input, poll_for_input_1): New functions.
11287 (start_polling, stop_polling): Rewritten.
11288
11289 * keyboard.h (polling_for_input): Removed.
427ec082 11290
e12489f9
GM
11291 * atimer.h, atimer.c: New files.
11292
11293 * Makefile.in (obj): Add atimer.o.
11294 (atimer.o): New target.
11295
11296 * blockinput.h (pending_atimers): Add extern declaration.
11297 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11298
11299 * lisp.h (popup_activated_flag): Add extern declaration.
11300
11301 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11302 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11303 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11304
11305 * xterm.c (toplevel): Include atimer.h.
11306 (toolkit_scroll_bar_interaction): New variable.
11307 (Fxt_process_timeouts): Removed.
11308 (x_process_timeouts): New function.
11309 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11310 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11311 (x_make_frame_visible): Call poll_for_input_1 instead of
11312 input_poll_signal. Don't call alarm.
11313 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11314
1e5279b9
DL
113152000-01-24 Dave Love <fx@gnu.org>
11316
6c67ddee 11317 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11318 Don't use -cckr -- apparently not now necessary.
11319
edf6aeb8
EZ
113202000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11321
11322 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11323 screen boundary.
11324
9badad41
JR
113252000-01-23 Jason Rumney <jasonr@gnu.org>
11326
11327 * w32fns.c (w32_defined_color): Apply gamma correction before
11328 trying to map to the palette.
11329 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11330 to w32_clear_rect.
11331
11332 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11333 here. Callers changed to always pass real device context.
11334 (w32_draw_bitmap): Likewise.
11335 (w32_get_glyph_overhangs): Likewise.
52283633 11336 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11337 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11338 pfnSetScrollInfo and SetScrollRange.
11339 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11340 back into MULE characters after decoding them.
11341 (x_get_glyph_face_and_encoding): Likewise.
11342 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11343 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11344 (x_produce_glyphs): Calculate per char metrics for a character
11345 that we know exists in default font when font_not_found_p is true.
11346
63bd786b
JR
113472000-01-22 Jason Rumney <jasonr@gnu.org>
11348
11349 * makefile.nt (intervals.obj, composite.obj): New modules.
11350 (composite.h): Added as dependency where appropriate.
11351
11352 * w32gui.h (XGCValue): New struct for emulating X GCs.
11353
11354 * w32term.h (XCharStruct): New struct for emulating X.
11355
11356 * w32console.c (turn_on_face, turn_off_face): New functions.
11357 (change_line_highlight): New prototype for new redisplay.
11358 (write_glyphs): Support multibyte text. Support faces.
11359
52283633 11360 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11361
11362 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11363 throughout. struct frame * in place of FRAME_PTR.
11364 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11365 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11366 (w32_get_arg): Renamed from x_get_arg.
11367 (Fx_file_dialog): New function.
11368 (w32_list_fonts): Check cache before asking system.
11369 (Vw32_enable_synthesized_fonts): New variable.
11370 (Vw32_enable_italics): Obsolete, removed.
11371
11372 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11373 Use SELECTED_FRAME macro.
11374
11375 * w32menu.c: Add skeleton support for help strings on menus.
11376 (add_menu_item): Native checkbox and radio support added, but not
11377 yet enabled due to bugs.
11378 (push_menu_item): Add parameters type, selection and help.
11379 Callers updated.
11380 Formatting changes to reduce unnecessary diffs with xmenu.c.
11381
11382 * w32select.c (Fw32_set_clipboard_data): Update call to
11383 find_charset_in_str.
11384
11385 * w32term.c: Complete rewrite for new redisplay based on new
11386 xterm.c with necessary sections merged back in from old w32term.c.
11387
6ffd3cf7 113882000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11389
11390 * data.c (set_internal): Further fix in same criterion.
11391
6ffd3cf7 113922000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11393
11394 * data.c (set_internal): Fix the criteria for whether
11395 to swap out the old cached binding.
11396
60af03f1
DL
113972000-01-19 Dave Love <fx@gnu.org>
11398
11399 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11400
f9be074f
KH
114012000-01-18 Kenichi Handa <handa@etl.go.jp>
11402
11403 * regex.c (re_compile_fastmap): While checking a range table for
11404 `charset', skip flag bits for a character class correctly.
11405
52b8dbf9
GM
114062000-01-17 Gerd Moellmann <gerd@gnu.org>
11407
d36100c9
GM
11408 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11409
52283633 11410 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11411
11412 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11413 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11414
11415 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11416 MENU_ITEMS_ITEM_.*.
11417 (MENU_ITEMS_ITEM_HELP): New enumerator.
11418 (push_menu_item): Add parameter HELP. Record help in menu_items.
11419 (single_menu_item, single_submenu, list_of_items): Call
11420 push_menu_item with new parameter.
11421 (single_submenu): Set help string in widget value.
11422 (menu_highlight_callback): New function.
11423 (set_frame_menubar): Call lw_create_widget with new
11424 parameter list.
11425 (xmenu_show, xdialog_show): Ditto.
11426
3139018f
GM
114272000-01-13 Gerd Moellmann <gerd@gnu.org>
11428
11429 * sound.c (Fplay_sound): Improve doc string.
11430
83c8f461
RS
114312000-01-11 Richard M. Stallman <rms@gnu.org>
11432
11433 * lisp.h (set_internal): Enter the new arg.
11434
11435 * eval.c (specbind): Record buffer-local variables specially,
11436 indicating which buffer's binding was saved.
11437 (unbind_to): Restore buffer-local variables specially
11438 in the proper buffer.
11439
11440 * data.c (set_internal): New arg BUF.
427ec082 11441
83c8f461
RS
11442 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11443 * data.c (Fset): Pass new arg to set_internal.
11444 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11445
1fab1775
GM
114462000-01-11 Gerd Moellmann <gerd@gnu.org>
11447
52283633 11448 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11449
83c8f461 114502000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11451
11452 * minibuf.c (Ftry_completion): Doc fix.
11453
7a85e4df
GM
114542000-01-11 Gerd Moellmann <gerd@gnu.org>
11455
11456 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11457 vector, too.
11458
a970dae4
AS
114592000-01-11 Andreas Schwab <schwab@suse.de>
11460
11461 * coding.c (code_convert_region): Initialize total_skip.
11462
c65d14ee
DL
114632000-01-08 Dave Love <fx@gnu.org>
11464
11465 * eval.c (Fuser_variable_p): Check customizability too.
11466
834938d2
GM
114672000-01-07 Gerd Moellmann <gerd@gnu.org>
11468
11469 * minibuf.c (Fcompleting_read): Doc fix.
11470
e0303cd6
GM
114712000-01-05 Gerd Moellmann <gerd@gnu.org>
11472
8a26744b
GM
11473 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11474 -L /usr/local/lib.
11475
e0303cd6
GM
11476 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11477 Check that input style is supported before trying to create an
11478 IC for it.
11479 (x_window): Call x_create_im.
427ec082 11480
2e471eb5
GM
114812000-01-04 Gerd Moellmann <gerd@gnu.org>
11482
560a7bd2
GM
11483 * xfns.c (current_gif_memory_src): New variable.
11484 (gif_load): Record the address of the current memory source
11485 in current_gif_memory_src.
11486 (gif_read_from_memory): Use current_gif_memory_src.
11487
f9ee84a3
GM
11488 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11489 macros statement form.
11490
d1299cde
GM
11491 * sound.c (struct sound): Renamed from struct sound_file.
11492 (struct sound): Add members `data' and `header_size'.
11493 (enum sound_attr): Add SOUND_DATA.
11494 (current_sound, current_sound_device): Variables renamed from
11495 sound_file and sound_device.
11496 (parse_sound): Parse :data.
11497 (parse_sound): Handle sound data in strings.
11498 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11499 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11500 needed header size.
11501 (wav_play, au_play): Play sounds from string data.
11502
2e471eb5
GM
11503 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11504
11505 * lisp.h: Add prototype for allocate_string_data.
11506
52283633 11507 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11508
11509 * alloc.c (mark_buffer): Remove code in #if 0.
11510 (gc_sweep): Ditto.
11511 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11512 (strings_consed): New variable.
11513 (allocate_string): Set it.
11514 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11515 (Fmemory_use_counts): Return strings_consed. Use Flist.
11516
11517 * alloc.c: General cleanup in comments etc. Remove conditional
11518 compilation for `standalone'.
11519
11520 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11521
11522 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11523 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11524 (DONT_COPY_FLAG): Removed.
11525 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11526 (struct sdata, struct sblock): New
11527 (struct string_block): Rewritten.
11528 (STRINGS_IN_STRING_BLOCK): New macro.
11529 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11530 (large_sblocks, string_blocks, string_free_list): New variables.
11531 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11532 (init_strings): Rewritten.
11533 (allocate_string, allocate_string_data, compact_small_strings)
11534 (free_large_strings, sweep_strings): New functions.
11535 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11536 (struct string_block_head, current_string_block)
11537 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11538 (STRING_PAD): Removed.
11539 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11540 (Fgarbage_collect): Don't set mark bit in large strings.
11541 (mark_object): Mark strings differently. Mark symbol names
11542 differently.
11543 (survives_gc_p): Test marked strings differently.
427ec082 11544 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11545 symbol names.
11546 (compact_strings): Removed.
11547
42608ba8
EZ
115482000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11549
11550 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11551 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11552
e0a09e1a
KH
115532000-01-04 Kenichi Handa <handa@etl.go.jp>
11554
dd9f0750 11555 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11556 in a non-empty buffer.
dd9f0750 11557
3c0f3b15 11558 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11559
44cd3ae5
GM
115602000-01-03 Gerd Moellmann <gerd@gnu.org>
11561
11562 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11563 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11564
11565 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11566
c182a70f
EZ
115672000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11568
11569 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11570 need to test for MSDOS frames.
11571
24480d5b
EZ
115722000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11573
11574 * dosfns.c (unspecified_colors): Remove.
11575 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11576 unspecified_bg.
11577 (msdos_stdcolor_name): Return strings for unspecified fore- and
11578 back-ground colors.
11579
11580 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11581 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11582 (tty_color_name): Return Lisp strings for unspecified fore- and
11583 back-ground colors.
11584 (Finternal_set_lisp_face_attribute): Remove the special treatment
11585 for Qunspecified_{f,b}g.
52283633 11586 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11587
047f434a
GM
115882000-01-03 Gerd Moellmann <gerd@gnu.org>
11589
11590 * xdisp.c (reseat_at_next_visible_line_start): Position before
11591 newline only if ending up on a newline.
11592 (next_element_from_ellipsis): Return success. Handle case of
52283633 11593 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11594 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11595 returns 0.
11596
d684c676
EZ
115972000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11598
11599 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11600 (Fcolor_supported_p): Renamed from face-color-supported-p.
11601
5fe1d139
EZ
116022000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11603
11604 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11605 list of colors renamed to tty-defined-color-alist.
11606 (tty_color_name): Pass the frame to tty-color-by-index.
11607 (realize_tty_face): tty-color-alist is now a function which
11608 accepts the frame as argument.
11609
52283633 11610 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11611
816be8b8
EZ
116122000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11613
11614 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11615 encode_terminal_code.
11616
b635321e
EZ
116172000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11618
11619 * dispnew.c (mode_line_string): Support termcap frames as well.
11620
9b784e96
GM
116212000-01-01 Gerd Moellmann <gerd@gnu.org>
11622
27189709
GM
11623 * syntax.c (Fforward_word): Undo previous change.
11624
11625 * editfns.c (Fconstrain_to_field): Don't constrain if
11626 inhibit-field-text-motion is non-nil.
11627 (Fline_beginning_position): Undo previous change.
11628 (Fline_end_position): Ditto.
11629
11630 * syntax.c (Fforward_word): Notice field boundaries only if
11631 inhibit-field-text-motion is nil.
11632
11633 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11634
11635 * editfns.c (Vinhibit_field_text_motion): New variable.
11636 (inhibit-field-text-motion): New DEFVAR_LISP.
11637 (Fline_beginning_position, Fline_end_position): Notice field
11638 boundaries only if inhibit-field-text-motion is nil.
11639
45158a91
GM
11640 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11641 All calls adjusted.
11642 (x_build_heuristic_mask): Likewise.
11643 (xbm_load_image_from_file): Change error output.
11644 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11645 (gif_load, gs_load, x_kill_gs_process): Ditto.
11646
9b784e96
GM
11647 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11648 color indices when accessing raster pixels.
63cec32f
GM
11649 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11650 one of :file or :data.
11651 (enum pbm_keyword_index): Add PBM_DATA.
11652 (pbm_format): Add :data.
11653 (pbm_image_p): Allow either :file or :data.
11654 (pbm_read_file): New function.
11655 (pbm_scan_number): Rewritten to read from string.
11656 (pbm_load): Support :data.
9b784e96 11657
2cb085db 11658See ChangeLog.8 for earlier changes.
6922b018
KH
11659
11660;; Local Variables:
49b3bd82 11661;; coding: iso-2022-7bit
6922b018 11662;; End: