(resize_echo_area_exactly): Fix typo in function name.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
81b1a79d
GM
12001-08-01 Gerd Moellmann <gerd@gnu.org>
2
308a74d8
GM
3 * keyboard.c (command_loop_1): Fix spelling of
4 resize_echo_area_exactly.
5
6 * dispextern.h (resize_echo_area_exactly): Fix typo in function
7 name.
8
9 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
10
81b1a79d
GM
11 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
12 current matrix when the window gets smaller.
13
ada329e6
EZ
142001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
15
16 * print.c (strout): Cast the character passed to insert_char to
17 unsigned char, to avoid sign extension when it is promoted to int.
18
ed86208c
GM
192001-07-31 Gerd Moellmann <gerd@gnu.org>
20
21 * fileio.c (Finsert_file_contents): Don't treat a return value
22 of 0 from emacs_read as an IO error.
23
6594ac22
GM
242001-07-30 Gerd Moellmann <gerd@gnu.org>
25
cef68af5
GM
26 * keyboard.c (abs): New macro.
27 (double_click_fuzz): New variable.
28 (make_lispy_event): Use it to determine what makes a double-click.
29 (syms_of_keyboard): DEFVAR_INT it.
30
6594ac22
GM
31 * xmenu.c (set_frame_menubar): Take into account that
32 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
33 <raeburn@gnu.org>.
34
75c5350a
GM
352001-07-27 Gerd Moellmann <gerd@gnu.org>
36
37 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
38
39 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
40 of row's visible height.
41
42 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
43 deal with the first overlay string having an image `display'
44 property.
45 (try_window_reusing_current_matrix, compute_line_metrics): Fix
46 computation of row's visible height for the case that part of the
47 row is invisible above and part of the row is at the same time
48 invisible below the window.
49
ac49effe
GM
502001-07-26 Gerd Moellmann <gerd@gnu.org>
51
52 * xfns.c (x-show-tip): Doc fix.
53
54 * xfns.c (Vx_max_tooltip_size): New variable.
55 (syms_of_xfns): DEFVAR_LISP it.
56 (Fx_show_tip): Set frame's window_width to the width of the
57 window. Use a maximum tooltip size specified by
58 Vx_max_tooltip_size, if that has valid contents.
59 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
60
8c3b00cb
AI
612001-07-26 Andrew Innes <andrewi@gnu.org>
62
63 * w32term.c (x_display_list): New variable.
64 (w32_term_init): Set it.
65
66 * w32term.h (x_display_list): New extern.
67
16098288
GM
682001-07-26 Gerd Moellmann <gerd@gnu.org>
69
70 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
71 is non-nil, instead of when redisplaying_p is non-zero. See
72 comment there.
73 (mark_window_display_accurate_1): Add an assertion.
74
64c5be50
GM
752001-07-25 Gerd Moellmann <gerd@gnu.org>
76
e743f599
GM
77 * dispextern.h (struct it): Increase size of ctl_chars to 16.
78
563b384d
GM
79 * xfns.c (Fx_file_dialog): Block/unblock input while processing
80 events so that we get a chance of processing expose events.
81
64c5be50
GM
82 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
83
296808a5
GM
842001-07-24 Gerd Moellmann <gerd@gnu.org>
85
86 * xfns.c (valid_image_p): Protect better against invalid image
87 specifications. Previous code could signal an error.
88
5247262a
GM
892001-07-23 Gerd Moellmann <gerd@gnu.org>
90
f1004faf
GM
91 * indent.c (current_column): Fix column computation in the
92 presence of display table entries.
93 (current_column_1, Fmove_to_column, compute_motion): Likewise.
94
dd42b31a
GM
95 * dispnew.c (adjust_glyph_matrix): In the optimization for
96 windows whose height has changed, use the new window height
97 to compute which rows to invalidate.
98
9e5a7f2a
GM
99 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
100 (MAX_10_EXP): New macro.
101 (Fformat): Use it.
102
5247262a
GM
103 * coding.c (code_convert_region): Handle the multibyte case if
104 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
105
177ab8ce
GM
1062001-07-20 Gerd Moellmann <gerd@gnu.org>
107
6e07c0a5
GM
108 * dispextern.h (struct face): Change type of `stipple' to
109 int; it's an ID.
110
177ab8ce
GM
111 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
112
b5b80599
GM
1132001-07-19 Gerd Moellmann <gerd@gnu.org>
114
4e2a256b
GM
115 * dispnew.c (update_window): Don't set the cursor at the end
116 of the update if display update has been paused.
117
b5b80599
GM
118 * composite.h (syms_of_composite): Renamed from
119 syms_of_composition.
120
c1fd9232
KR
1212001-07-18 Ken Raeburn <raeburn@gnu.org>
122
123 * fns.c (Fset_char_table_default): Check that a charset is defined
124 before checking its dimension.
125
928a85c1
KR
1262001-07-17 Ken Raeburn <raeburn@gnu.org>
127
128 * coding.c (setup_coding_system): Don't do any designation based
129 on reg_bits if charset is not yet defined.
130
232e274c
KR
131 * lisp.h (XVECTOR): Verify correct object type before returning a
132 pointer, using eassert.
133
de11c1ea
GM
1342001-07-17 Gerd Moellmann <gerd@gnu.org>
135
136 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase
137 to 4096 because of paste problems reported on GNU/Linux.
138
467f1209
GM
1392001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
140
141 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
142
c3d6be34
GM
1432001-07-16 Gerd Moellmann <gerd@gnu.org>
144
c1d61a7d
GM
145 * fileio.c (unwind_read): Function removed.
146 (read_non_regular, read_non_regular_quit): New functions.
147 (Finsert_file_contents): When reading from non-regular files,
148 arrange to catch a `quit' and terminate the loop. Rearrange
149 code so that a `quit' when reading from a regular file doesn't
150 insert text in the buffer.
151
c3d6be34
GM
152 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
153 Clear faces afterwards.
154 (clear_font_table): Take a x_display_info parameter. Don't free
155 fonts being the default font of any frame on the given display.
156
e06aa1f9
GM
1572001-07-13 Gerd Moellmann <gerd@gnu.org>
158
159 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
160 instead of CHAR_STRING which can signal an error.
161
162 * charset.c (char_to_string_1): Extracted from char_to_string.
163 Return -1 instead of signaling an error.
164 (char_to_string): Use it.
165
166 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
167
176c92e6
SM
1682001-07-12 Stefan Monnier <monnier@cs.yale.edu>
169
170 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
171 is t, don't try to append anything to it.
172
1c56232f
EZ
1732001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
174
175 * dired.c (file_name_completion): Pass dp->d_name to
176 Fstring_match, not elt, which is always nil here.
177
1d2b2268
GM
1782001-07-12 Gerd Moellmann <gerd@gnu.org>
179
180 * xselect.c (x_decline_selection_request): Handle errors
181 caused by receivers that have vanished.
182
183 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
184 ignoring events on foreign windows in #if 0. Always dispatch
185 the event after checking it with x_handle_property_notify.
186
187 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
188 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
189 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
190 (toplevel): Add prototypes for file-local functions.
191 (x_atom_to_symbol): Remove DPYINFO parameter.
192
fe5a0162
SM
1932001-07-11 Stefan Monnier <monnier@cs.yale.edu>
194
195 * w32menu.c (menubar_selection_callback, w32_menu_show):
196 Initialize `entry' to nil.
197 (w32_dialog_show): Remove unused `save_wv' variable.
198 (name_is_separator): Recognize "--:foo" and "--foo-bar".
199
a777242c
GM
2002001-07-11 Gerd Moellmann <gerd@gnu.org>
201
8ee5b6a3
GM
202 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
203
d0e2444e
GM
204 * fileio.c (unwind_read): Print a message when discarding inserted
205 text or switching the buffer to unibyte. Change parameter.
206 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 207
a777242c
GM
208 * fileio.c (unwind_read): New function.
209 (Finsert_file_contents): Record it as unwind-function for
210 the case that reading is interrupted by C-g.
211
ae794295
GM
2122001-07-10 Gerd Moellmann <gerd@gnu.org>
213
fe5a0162 214 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
215 update when scrolling_window returns 0.
216
6b05fae3
GM
217 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
218
219 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 220 for the case that x_decode_color signals an error.
6b05fae3 221
ae794295
GM
222 * xdisp.c (add_to_log): Do nothing if called asynchronously.
223
bb6e8cee
GM
2242001-07-09 Gerd Moellmann <gerd@gnu.org>
225
226 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
227 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
228 around ioctls.
229
36b40a8a
EZ
2302001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
231
24b97d4b
EZ
232 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
233 doc string line for dos-timezone-offset.
234
36b40a8a
EZ
235 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
236 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
237 (syms_of_msdos): Add \n\ at the end of a line in the doc string
238 line for dos-unsupported-char-glyph.
36b40a8a
EZ
239
240 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
241
0967b4b0
GM
2422001-07-05 Gerd Moellmann <gerd@gnu.org>
243
f25cfe53
GM
244 * sound.c: Include Emacs' header files with #include "...".
245
0967b4b0
GM
246 * eval.c (specbind): Additionally record the buffer that was
247 current when a buffer-local or frame-local variable was bound.
248
c347a1c3
GM
2492001-07-04 Gerd Moellmann <gerd@gnu.org>
250
251 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
252 to unibyte characters in unibyte buffers.
253
6332ca8a
GM
2542001-07-03 Gerd Moellmann <gerd@gnu.org>
255
38472d44
GM
256 * eval.c (specbind): If SYMBOL has a frame-local binding, record
257 the frame on the binding stack. Change format of entries for
258 local bindings on the binding stack to '(SYMBOL . WHERE)'.
259 (unbind_to): Handle unbinding a frame-local variable.
260
6332ca8a 261 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 262 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
263 (dump_glyph_row): Print row's continuation_lines_width.
264 (try_window_id): Take the shortcut if ZV is visible in the
265 window, but there are actually no changes at ZV.
266
63d1b174
GM
2672001-07-02 Gerd Moellmann <gerd@gnu.org>
268
4c175203
GM
269 * xterm.h (x_free_dpy_colors): Add prototype.
270
271 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
272 right number of arguments.
273
0b54ce28
GM
274 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
275 ($(lwlibdir)TAGS): New target.
4c175203 276 (TAGS): Fix dependency list.
0b54ce28 277
63d1b174
GM
278 * xterm.c (x_list_fonts): Make sure XFreeFont is called
279 with input blocked.
280
d827466c
GM
2812001-06-30 Gerd Moellmann <gerd@gnu.org>
282
283 * emacs.c (main): Remove extern declaration for sys_nerr, which
284 isn't used and causes a compilation error with GCC 3.0 on
285 FreeBSD 4.3.
286
b5cb1ada
GM
2872001-06-27 Gerd Moellmann <gerd@gnu.org>
288
a5d3ec3f
GM
289 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
290 SIGIO around the code where Xt might wait for a
291 ConfigureNotifyEvent.
292 (toplevel): Include <signal.h> and syssignal.h.
293
b5cb1ada
GM
294 * sound.c (vox_configure, vox_close): Turn off atimers
295 around ioctls.
296
d9bad487
GM
2972001-06-26 Gerd Moellmann <gerd@gnu.org>
298
fdbb67fe
GM
299 * keyboard.c (read_char) <non_reread>: Record the previous idle
300 start time before calling timer_stop_idle.
301 (read_char) <reread_first>: After processing a help-echo event,
302 restore the previous idle start time.
303
d9bad487
GM
304 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
305 the start of invisible text.
306 (setup_for_ellipsis): New function.
307 (next_overlay_string): After all overlay strings have been
308 processed, display an ellipsis if necessary.
309 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
310 (push_it): Initialize display_ellipsis_p on the iterator's stack.
311
312 * dispextern.h (struct iterator_stack_entry): Add member
313 display_ellipsis_p.
314
2b9c25e0
GM
3152001-06-25 Gerd Moellmann <gerd@gnu.org>
316
80de57df
GM
317 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
318 on the value of the wait-for-wm frame parameter.
319
320 * xterm.h (struct x_output): Add member wait_for_wm.
321
322 * xfns.c (Qwait_for_wm): New variable.
323 (x_frame_parms): Add entry for `wait-for-wm".
324 (x_set_wait_for_wm): New function.
325 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
326 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
327
2b9c25e0
GM
328 * xdisp.c (try_window_id) <all changes below window end>: Don't
329 take this shortcut if ZV is visible in the window.
330 (try_window_id): When checking for window start being in changed
331 text, don't check that the buffer's size has changed.
332
f772775c
RS
3332001-06-23 Richard M. Stallman <rms@gnu.org>
334
335 * minibuf.c (Fcompleting_read): Doc fix.
336
fa9090b8
GM
3372001-06-19 Gerd Moellmann <gerd@gnu.org>
338
339 * composite.c (Ffind_composition_internal): Accept ZV
340 and a string's end position as POS.
341
f6f1beba
GM
3422001-06-18 Gerd Moellmann <gerd@gnu.org>
343
344 * composite.c (Ffind_composition_internal): Check POS
345 for validity.
346
0ae83348
EZ
3472001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
348
349 * editfns.c (Fmessage_box): If the frame is not under a window
350 system, output the message in the echo area.
351
e4cdc335
RS
3522001-06-14 Richard M. Stallman <rms@gnu.org>
353
354 * xdisp.c (try_window_id): When EOB is visible, don't treat
355 insertion at EOB as if it were "off the bottom of the screen."
356
a55a5f3c
AI
3572001-06-11 Andrew Innes <andrewi@gnu.org>
358
359 * w32proc.c (create_child): Add new parameter is_gui_app.
360 (w32_executable_type): Add new parameter is_gui_app.
361 (sys_spawnve): Use it.
362 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
363 SIGQUIT. This matches better how the signals are interpreted by
364 MSVC compiled programs.
365 (syms_of_ntproc): Update docstring.
366
1b85dc1c
SM
3672001-06-02 Stefan Monnier <monnier@cs.yale.edu>
368
369 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
370 well otherwise note_mouse_highlight might optimize away highlighting
371 if we pass over that same overlay again.
372
b75f8eab
EZ
3732001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
374
375 * lread.c (Fload): Document that the argument is run via
376 substitute-in-file-name.
377
94843cc1
GM
3782001-05-31 Gerd Moellmann <gerd@gnu.org>
379
b14659e6
GM
380 * Makefile.in (bootstrap-doc): New target.
381 (bootstrap-emacs): Depend on it.
382
0894672f
GM
383 * fileio.c (Fdo_auto_save): Don't try to create the directory of
384 auto-save-list-file-name when shutting down Emacs, because
385 creating the directory might signal an error, and leaves
386 Emacs in a strange state.
387
94843cc1
GM
388 * term.c: (tty_cursor_hidden): New variable.
389 (update_begin): Don't call tty_hide_cursor. Clean up.
390 (update_end, set_terminal_window, set_scroll_region): Clean up.
391 (ring_bell, reset_terminal_modes): Clean up.
392 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
393 on tty_cursor_hidden.
394 (write_glyphs): Call tty_hide_cursor.
395
db3a49a6
SM
3962001-05-30 Stefan Monnier <monnier@cs.yale.edu>
397
398 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
399
8bd189fb
GM
4002001-05-30 Gerd Moellmann <gerd@gnu.org>
401
6f1be3b9
GM
402 * xfns.c (enum image_value_type): New enumerator
403 IMAGE_STRING_OR_NIL_VALUE.
404 (parse_image_spec): Handle it.
405 (xbm_format, pbm_format): Use it for :foreground and :background.
406 (xbm_load, pbm_load): Check for nil color names.
407
8bd189fb
GM
408 * xterm.c (note_mouse_highlight): If an overlapping overlay
409 exists, but we find that we highlight the same overlay as before,
410 don't do the highlighting again.
411
7bdba03c
GM
4122001-05-29 Gerd Moellmann <gerd@gnu.org>
413
4c329aa8
GM
414 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
415 Protect unibyte strings created by replacing their multibyte
416 equivalents in menu_items.
417
e15e2828
GM
418 * keymap.c (Fsingle_key_description): NUL-terminate the string
419 buffer before calling build_string.
420
7bdba03c
GM
421 * callproc.c (Fcall_process): Deal with decode_coding returning
422 CODING_FINISH_INCONSISTENT_EOL.
423
89c8dc6c
GM
4242001-05-28 Gerd Moellmann <gerd@gnu.org>
425
db3a49a6 426 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
427 an item's name with its key description in case the description
428 is a multibyte string.
429
430 * keymap.c (Fsingle_key_description): Create a multibyte string
431 only if necessary.
432
eb04d6cd
GM
433 * macros.c (Fstart_kbd_macro): Doc fix.
434
8bd6307f
GM
435 * xterm.c (cursor_in_mouse_face_p): New function.
436 (x_draw_stretch_glyph_string): Use it to choose a different GC
437 when drawing a cursor within highlighted text.
438
e26c4089
GM
439 * editfns.c (char_property_eq): Put in #if 0.
440
441 * indent.c (string_display_width): Put in #if 0.
442
443 * lread.c (Fload): Remove unused label.
444
89c8dc6c
GM
445 * termcap.c (speeds): Put in #if 0.
446
9a1211f2
GM
4472001-05-18 Gerd Moellmann <gerd@gnu.org>
448
29148a3f
GM
449 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
450
9a1211f2
GM
451 * xfaces.c (xlfd_point_size): Don't divide pixel size from
452 transformation matrix by 10.
453
09393d07
GM
4542001-05-16 Gerd Moellmann <gerd@gnu.org>
455
456 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
457 only if it's equal to the former foreground pixel color.
db3a49a6 458 (x_set_foreground_color, x_set_background_color)
09393d07
GM
459 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
460
460e6bae
GM
4612001-05-16 Dave Love <fx@gnu.org>
462
463 * insdel.c (signal_before_change, signal_after_change): Consider a
464 local change hook which changes the buffer.
99c78ce8
GM
465
466 * process.c (read_process_output): Don't call signal_after_change
467 and update_compositions after insert_from_string_before_markers.
468
dbcf3c03
GM
4692001-05-16 Gerd Moellmann <gerd@gnu.org>
470
a90b3d3c
GM
471 * xfaces.c (split_font_name): Use the right field when
472 checking for `[...]' syntax.
473
1b7818b4
GM
474 * buffer.c (copy_overlays): New function.
475 (clone_per_buffer_values): Use it.
476
477 * buffer.h (OVERLAY_PLIST): New macro.
478
9bae8781
GM
479 * keymap.c (Fsingle_key_description): Replace a build_string with
480 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
481
dbcf3c03
GM
482 * fontset.c (Ffontset_info): Check that face is non-null
483 before accessing its fields.
484
8a1ae4dd
GM
4852001-05-15 Gerd Moellmann <gerd@gnu.org>
486
18a0a39e
GM
487 * keyboard.c (read_key_sequence): Prevent generating a fake
488 prefix key twice.
489
e335b66a
GM
490 * xfaces.c (split_font_name): Handle `[...]' for the right
491 font name fields.
492
8a1ae4dd
GM
493 * ccl.c (ccl_driver): Don't copy remaining bytes in case
494 of CCL_STAT_INVALID_CMD.
495
3cf80731
SM
4962001-05-14 Stefan Monnier <monnier@cs.yale.edu>
497
33568849
SM
498 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
499 in <var> has no default value yet.
500
3cf80731
SM
501 * xfaces.c (try_alternative_families): First try the FAMILY.
502 And if nothing is found in the end, try again with scalable fonts.
503 (try_font_list): Let try_alternative_families do a bit more of
504 the work. Only use FAMILY if it is not nil.
505 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
506
933b0249
GM
5072001-05-14 Gerd Moellmann <gerd@gnu.org>
508
58e5af83
GM
509 * xterm.c (note_mouse_highlight): Avoid changing the mouse
510 pointer shape when show_mouse_face has already done it.
33568849 511
58e5af83 512 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
513 full-width rows.
514
7b16a6bf
GM
515 * xfaces.c (split_font_name): Make sure to leave the loop
516 with the right value of `i'.
3cf80731 517
933b0249
GM
518 * xfaces.c (split_font_name): Handle matrix transformations
519 in the pixel and point size fields of XLFD font names.
520 (xlfd_point_size): Likewise.
521
dddcbf00
EZ
5222001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
523
3cf80731 524 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
525 (x_to_w32_font): Add prototype.
526
7689ef0b
EZ
527 * regex.c (malloc, realloc, free) [emacs]: Undefine before
528 redefining, to avoid compiler warnings.
529
e7c15bba
EZ
530 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
531
dddcbf00
EZ
532 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
533 (w32_get_bdf_glyph): Cast between unsigned char and char when
534 passing arguments to subroutines, to shut up compiler warnings.
535 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
536 GET_HEX_VAL.
537
538 * xfaces.c: Include keyboard.h before frame.h, not after it.
539
540 * widget.c: Include keyboard.h before frame.h.
541
542 * w32term.h (struct image, struct face): Forward declaration, to
543 avoid compiler warnings.
544
7bd2d083
GM
5452001-05-11 Gerd Moellmann <gerd@gnu.org>
546
47e72862
GM
547 * keyboard.c (read_key_sequence): Don't modify events when
548 generating fake prefix keys (mode-line, scroll-bar, ...) since
549 this prevents proper processing of such events when pushed back
550 into unread-command-events.
551
dd5f324b
GM
552 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
553 actually redrawn. Make the function static.
554 (note_mouse_highlight): Fix a case where the mouse cursor
555 was changed back to the text cursor.
556
557 * xterm.h (clear_mouse_face): Remove prototype.
558
d88a79d4
GM
559 * xdisp.c (try_window_id): Fix the fix and set the right
560 window_end_vpos.
561
562 * xdisp.c (try_window_id): Fix computation of window end in the
563 case that lines were deleted at the end of the window. Add some
564 more debug_method_adds.
0416532f 565
7bd2d083
GM
566 * xfaces.c (try_alternative_families): New function.
567 (try_font_list): Use it. If ATTRS specifies a family, check
568 fonts from that family first.
569 (choose_face_font): Remove code setting the family part of
570 the pattern to nil.
571
23fca891
GM
5722001-05-10 Gerd Moellmann <gerd@gnu.org>
573
ff9aa2ca
GM
574 * xdisp.c (try_window_id): Fix case of all changes before
575 the window start.
7b2654b5 576
23fca891
GM
577 * xdisp.c (try_window_id): Add some xasserts.
578
e9726794
GM
5792001-05-09 Gerd Moellmann <gerd@gnu.org>
580
581 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
582
9e53a675
GM
5832001-05-09 Dave Love <fx@gnu.org>
584
585 * xdisp.c (GIVE_UP): Fix for K&R C.
586
0d487c52
GM
5872001-05-09 Gerd Moellmann <gerd@gnu.org>
588
fe88d421
GM
589 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
590
0d487c52
GM
591 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
592 back to the text cursor shape without need.
593
1e9fc92e
GM
5942001-05-07 Gerd Moellmann <gerd@gnu.org>
595
a2a6232e
GM
596 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
597
598 * dispextern.h (inverse_video): Declare extern.
599
1e9fc92e
GM
600 * keyboard.c (delete_kboard): Handle the case that selected_frame
601 has been deleted in the course of x_connection_closed.
602
12949a7f
EZ
6032001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
604
7b2654b5
SM
605 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
606 Fix the change from 2001-04-30.
12949a7f 607
2fa2f461
GM
6082001-05-03 Gerd Moellmann <gerd@gnu.org>
609
a779d213
GM
610 * xfns.c (file_dialog_unmap_cb): New function.
611 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
612 where a dialog is closed via the window manager.
613
7b2654b5 614 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
615 the window start or all below the window end mostly rewritten.
616 (redisplay_window): Move the tests if try_window_id is
617 applicable to try_window_id.
618 (GIVE_UP): New macro.
619
3356df63
GM
6202001-05-02 Gerd Moellmann <gerd@gnu.org>
621
a39202f6 622 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
623 currently being updated, mark the frame garbaged.
624 Fix computation of rows intersecting the exposed rectangle.
a39202f6 625 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 626
3356df63
GM
627 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
628 again if it has already been drawn.
629
a9d2fd1d
SM
6302001-05-01 Stefan Monnier <monnier@cs.yale.edu>
631
632 * syntax.c (update_syntax_table): Check that oldi has the same
633 properties as old_prop before deciding not to invalidate.
634
c95fc5f1
GM
6352001-04-30 Gerd Moellmann <gerd@gnu.org>
636
a9793e45
GM
637 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
638 read-only text that is so because of text properties.
639
c95fc5f1 640 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 641 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
642 windows that are components of a Lucid menu bar.
643
5a5d9185
GM
6442001-04-27 Gerd Moellmann <gerd@gnu.org>
645
646 * term.c (turn_on_face): Fix reverse video handling on terminals
647 that don't support colors.
648
ba973f7a
GM
6492001-04-26 Gerd Moellmann <gerd@gnu.org>
650
651 * editfns.c (save_excursion_restore): Don't use XBUFFER on
652 a non-buffer.
653
8c56a983
GM
6542001-04-25 Gerd Moellmann <gerd@gnu.org>
655
a728644c
GM
656 * term.c (toggle_highlight): New function.
657 (turn_on_face): Change handling of reverse video.
658
7b2654b5
SM
659 * process.c (wait_reading_process_input):
660 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 661
bfd8410f
GM
662 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
663 of the number of overlays to check.
664
be2488ca
GM
665 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
666
8c56a983
GM
667 * xdisp.c (try_window_id): Fix a case where window_end_pos
668 and window_end_bytepos were not adjusted.
669
522d42f7
GM
6702001-04-23 Gerd Moellmann <gerd@gnu.org>
671
672 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
673 zero instead of -1.
674
78c1afb6
EZ
6752001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
676
a9d2fd1d
SM
677 * process.c (wait_reading_process_input) [!subprocesses]:
678 Don't reference waiting_for_user_input_p, it's not defined in the
679 branch without async subprocesses support.
78c1afb6 680
a2fab450
GM
6812001-04-19 Gerd Moellmann <gerd@gnu.org>
682
a122a38e
GM
683 * keyboard.c (delete_kboard): Prevent a dangling reference
684 from current_kboard to KB, which is freed.
685
a9d2fd1d
SM
686 * process.c (wait_reading_process_input):
687 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
688 read_key_sequence aware of buffer changes from under it.
689
0f8d6dc7
GM
6902001-04-18 Gerd Moellmann <gerd@gnu.org>
691
eeffb293
GM
692 * xfaces.c (Qscalable_fonts_allowed): New variable.
693 (realizing_basic_faces_p): Removed.
2fa2f461
GM
694 (x_face_list_fonts): Special handling for realizing_basic_faces_p
695 removed.
eeffb293 696 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
697 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
698 for scalable-fonts-allowed to t.
eeffb293 699
0f8d6dc7
GM
700 * fileio.c (Finsert_file_contents): If the file size returned from
701 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 702 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 703
eec2d1de
EZ
7042001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
705
706 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
707 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
708 (__memalign_hook): Make the two prototypes consistent.
709
f4f480bd
GM
7102001-04-17 Gerd Moellmann <gerd@gnu.org>
711
712 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
713 matrix of mini-windows.
714
52283633
SM
7152001-04-12 Stefan Monnier <monnier@cs.yale.edu>
716
717 * intervals.c (find_interval): Don't rebalance during signal handling.
718
ec2423c9
GM
7192001-04-11 Gerd Moellmann <gerd@gnu.org>
720
30cb0001 721 * fns.c: Include blockinput.h.
52283633 722
ec2423c9
GM
723 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
724
719d83ad
GM
7252001-04-10 Gerd Moellmann <gerd@gnu.org>
726
60f8d735
GM
727 * fns.c (Fcompare_strings): Fix return values.
728
afffeb57
GM
729 * window.c (window_scroll): Change the meaning of N to mean
730 N screen-fulls or N lines.
731 (window_scroll_pixel_based, window_scroll_line_based)
732 (scroll_command, Fscroll_other_window): Change accordingly.
733
52283633
SM
734 * window.c (window_scroll_pixel_based, Frecenter):
735 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
736 height of the window.
737
738 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
739 instead of using it.last_visible_y for the height of the window.
52283633 740
719d83ad 741 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 742 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
743
744 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
745 able to write to hidden and system files. From Dan Holmsand
746 <dan@eyebee.com>.
719d83ad 747
8ddf3ee1
GM
748 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
749 Holmsand <dan@eyebee.com>.
719d83ad 750
522ed7fb
GM
7512001-04-09 Gerd Moellmann <gerd@gnu.org>
752
9170e5d4
GM
753 * fns.c (Fplist_get, Fplist_put): Add QUITs.
754
522ed7fb
GM
755 * window.c (window_internal_height): Return 1 less if the
756 window has a header line.
757
758 * xdisp.c (try_window_id): When scrolling on a terminal, take
759 the change of window_internal_height into account.
760
ceeb3d7d
EZ
7612001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
762
763 * gmalloc.c (align): If the argument SIZE would overflow
764 __malloc_ptrdiff_t, fail right away.
765
63685b9d
GM
7662001-04-06 Gerd Moellmann <gerd@gnu.org>
767
768 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
769 Make sure the tooltip is completely visible.
770 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
771
772 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
773
774 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
775
3ffb33bb
DL
7762001-04-06 Dave Love <fx@gnu.org>
777
52283633
SM
778 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
779 Fix test of `from'.
3ffb33bb 780
869fb12c
GM
7812001-04-06 Gerd Moellmann <gerd@gnu.org>
782
52283633 783 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 784
869fb12c
GM
785 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
786
441bf856
GM
7872001-04-05 Gerd Moellmann <gerd@gnu.org>
788
4d664b04
GM
789 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
790
52283633 791 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 792
30ca89f5
GM
793 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
794 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
795
796 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
797 shell widget's position only if it is non-null.
798
52283633
SM
799 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
800 Set f->output_data.x->widget to null after destroying it.
30ca89f5 801
81a81c0f
GM
802 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
803 FILENAME to bring it in synch with the documentation.
804
441bf856
GM
805 * xfaces.c (realizing_basic_faces_p): Renamed from
806 realize_default_face_p.
807 (realize_basic_faces): Set/clear realizing_basic_faces_p.
808 (realize_default_face): Don't set the flag.
809
702a1e8e
GM
8102001-04-04 Gerd Moellmann <gerd@gnu.org>
811
1013f4e3
GM
812 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
813
52283633
SM
814 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
815
1013f4e3
GM
816 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
817 the buffer that was used for echoing.
818
702a1e8e
GM
819 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
820 (first_font_matching): Removed unused function.
821 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
822 (may_use_scalable_font_p): Remove parameter FONT; rename
823 parameter NAME to FONT.
824 (x_face_list_fonts): Fix missing bounds check.
825 (realizing_default_face_p): New variable.
826 (realize_default_face): Set and clear that flag.
827 (x_face_list_fonts): When called during the realization of the
828 default face, and no matching fonts are found when ignoring
829 scalable fonts and fonts matching a regexp from
830 face-ignored-fonts, try without ignoring fonts.
831
f9dbcda4
GM
8322001-04-03 Gerd Moellmann <gerd@gnu.org>
833
ad18ffb1
GM
834 * xfns.c (postprocess_image): New function.
835 (lookup_image): Call it for all image types except PostScript.
836 (x_kill_gs_process): Call postprocess_image.
837
f9dbcda4
GM
838 * xterm.c (x_use_underline_position_properties): New variable.
839 (x_draw_glyph_string): Use it.
840 (syms_of_xterm): DEFVAR_BOOL it.
841
651f03b6
GM
8422001-04-02 Gerd Moellmann <gerd@gnu.org>
843
844 * xterm.c (x_alloc_nearest_color_1): New function.
845 (x_alloc_nearest_color): Use it.
846 (x_color_cells): Take a Display as argument, instead of a frame.
847 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
848 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
849 (x_initialize): Register cvt_string_to_pixel as resource converter
850 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
851
73d75a62
GM
8522001-03-30 Gerd Moellmann <gerd@gnu.org>
853
b2046df8
GM
854 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
855 (set_iterator_to_next): If a string from a display property ends,
856 consider the case that this might also be the end of an
857 overlay string having the display property.
858
52283633 859 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 860
87d8eba4
GM
861 * xdisp.c (reseat_to_string): Undo last change.
862
73d75a62
GM
863 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
864 matrix of a window when the header line changes, when
865 new rows are allocated, or when the width changes.
866
911a2406
EZ
8672001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
868
52283633 869 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 870
aea51abe
EZ
8712001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
872
873 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
874 deprecated.
875
176bc847
GM
8762001-03-29 Gerd Moellmann <gerd@gnu.org>
877
ed31fabf
GM
878 * data.c (Fsubr_interactive_form): New function.
879 (syms_of_data): Defsubr it.
880
176bc847
GM
881 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
882 (live_float_p, live_misc_p): Return 1 only if the offset of the
883 pointer in its block is >= 0.
884
e59d0e9d
GM
8852001-03-28 Paul Eggert <eggert@twinsun.com>
886
887 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
888 microseconds calcuation. Avoid double-rounding problem.
889 In doc string, warn that the result is approximate.
890
f827b862
GM
8912001-03-28 Gerd Moellmann <gerd@gnu.org>
892
30a3f61c
GM
893 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
894 bind `inhibit-eval-during-redisplay' to t.
895
896 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
897
898 * xdisp.c (inhibit_eval_during_redisplay)
899 (Qinhibit_eval_during_redisplay): New variables.
900 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
901 don't eval, return nil instead.
902 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
903 Initialize Qinhibit_eval_during_redisplay.
904
e719f5ae
GM
905 * xdisp.c (reseat_to_string): If STRING is multibyte, set
906 the iterator's multibyte_p flag.
907
deb2613a
GM
908 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
909 instead of setting it to zero; it's incremented for each frame
910 where the menu face is changed.
911
52283633
SM
912 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
913 change bottom shadow accordingly.
914
915 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
916 intersections here.
917 (expose_window): Do it here instead.
52283633 918 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 919
f827b862
GM
920 * bytecode.c (BYTE_CODE_QUIT): New macro.
921 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
922
4bde0ebb
GM
9232001-03-27 Gerd Moellmann <gerd@gnu.org>
924
607ec83c
GM
925 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
926 Give up if matrix starts in an ellipsis.
927 (init_from_display_pos): Do nothing if POS doesn't specify
928 a dpvec_index but the iterator has such a position.
929
0245398f
GM
930 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
931
aba25348
GM
932 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
933 x/y position is (0, 0) after destroying the menu bar, restore
934 its original position.
935
4bde0ebb
GM
936 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
937 (init_from_display_pos): Use it.
938 (try_window_reusing_current_matrix): Don't use cursor_row_p.
939
8cdb267e
GM
9402001-03-26 Gerd Moellmann <gerd@gnu.org>
941
942 * xdisp.c (try_window_id): Undo last change.
943
9948db79
EZ
9442001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
945
946 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
947
948 * buffer.c (syms_of_buffer): Doc fix.
949
2eddf899
GM
9502001-03-26 Gerd Moellmann <gerd@gnu.org>
951
952 * xfaces.c (x_update_menu_appearance): Use local variable
953 popup_path for setting font resources.
954
6c145d35
EZ
9552001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
956
6a65b1b5
EZ
957 * frame.c (Fframe_list): Don't reference tip_frame if
958 HAVE_WINDOW_SYSTEM is not defined.
959
6c145d35
EZ
960 * emacs.c (main): Update the copyright year. From Werner LEMBERG
961 <wl@gnu.org>.
962
d74c1900
GM
9632001-03-25 Gerd Moellmann <gerd@gnu.org>
964
20fbd925
GM
965 * xdisp.c (init_from_display_pos): Test invisible property
966 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 967
927c5b3b
GM
968 * xdisp.c (redisplay_internal) <update one window>: Make sure
969 last_arrow_position and last_arrow_string are set.
970
d74c1900
GM
971 * frame.c (Fframe_list): Don't return a tooltip frame.
972
091f8878
GM
9732001-03-23 Gerd Moellmann <gerd@gnu.org>
974
52283633
SM
975 * xdisp.c (mark_window_display_accurate_1): New function,
976 extracted from mark_window_display_accurate.
977 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
978 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
979 (mark_window_display_accurate): Use it.
980 (redisplay_internal): Use it for the selected window.
981 (redisplay_internal): Avoid duplicate mark_window_display_accurate
982 for the selected frame.
983
ac90c44f
GM
984 * xdisp.c Use make_number, for readability.
985 (try_window_id): Disable rows below the window end.
986 (try_window_reusing_current_matrix): Use cursor_row_p.
987 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
988 of rows.
989 (init_from_display_pos): If POS specifies a position in a display
990 vector, maybe get the iterator set up for that ellipsis.
43c09969 991
091f8878
GM
992 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
993
991786dd
EZ
9942001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
995
996 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
997
6c29b43c
GM
9982001-03-23 Gerd Moellmann <gerd@gnu.org>
999
1000 * xfaces.c (x_update_menu_appearance): Use a different path
1001 for Lucid popup menus.
1002
d8731202
SM
10032001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1004
1005 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1006
1007 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1008 (string_buffer_position): Use `make_number'.
1009
f61a541b
GM
10102001-03-22 Gerd Moellmann <gerd@gnu.org>
1011
3c9e997b
GM
1012 * xfaces.c (x_update_menu_appearance): Renamed from
1013 x_set_menu_face_resources. Use different resources for popups.
1014
1015 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1016 (GC_CHECK_STRING_BYTES): Don't define.
1017
364cd450
GM
1018 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1019 Removed, together with subroutines.
1020 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1021 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1022
d8731202
SM
1023 * dispextern.h (x_set_menu_resources_from_menu_face):
1024 Remove prototype.
364cd450 1025
d8731202 1026 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1027 Remove calls to x_set_menu_resources_from_menu_face.
1028
d8731202
SM
1029 * xfaces.c (xm_set_menu_resources_from_menu_face):
1030 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1031
1032 * xmenu.c: Include widget.h.
1033 (single_submenu): Return int. Some cleanup.
1034 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1035
140330de
GM
10362001-03-21 Gerd Moellmann <gerd@gnu.org>
1037
1038 * xterm.c (x_update_window_end): Handle overwritten mouse face
1039 also for tool bar windows.
1040 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1041 DRAW is DRAW_IMAGE_RAISED.
1042
1741905c
GM
10432001-03-20 Gerd Moellmann <gerd@gnu.org>
1044
fa88947e
GM
1045 * print.c (syms_of_print): Doc fixes.
1046
1741905c
GM
1047 * fns.c (Fmd5): Doc fix.
1048
ade0bee1
GM
10492001-03-19 Gerd Moellmann <gerd@gnu.org>
1050
357e7376
GM
1051 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1052 Clear area of the frame not occupied by the scroll bar.
1053
c2c097cc
GM
1054 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1055 tip frame's root window buffer to *tip* right after creating
1056 the frame.
1057
ade0bee1
GM
1058 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1059 is an integer don't have to be for space characters.
1060
88c6e37e
GM
10612001-03-16 Gerd Moellmann <gerd@gnu.org>
1062
52283633
SM
1063 * indent.c (current_column, current_column_1, Fmove_to_column)
1064 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1065
c62eed76
KH
10662001-03-15 Kenichi Handa <handa@etl.go.jp>
1067
1068 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1069 drawing glyph string.
1070
c899e7e6
GM
10712001-03-15 Gerd Moellmann <gerd@gnu.org>
1072
d0bbfc99
GM
1073 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1074 (command_loop_1): Undo last change.
1075
03d1a189
GM
1076 * xterm.c (fast_find_position): Return the correct vpos.
1077
c899e7e6 1078 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1079 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1080 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1081 Call store_symval_forwarding with BUF null.
1082 (set_internal): Call store_symval_forwarding with the BUF
1083 parameter passed to set_internal. Formerly, the value was always
1084 set in the current buffer; the buffer recorded in specbind for
1085 this case wasn't used.
1086 (arith_driver): Reindent.
1087
52283633
SM
1088 * buffer.c (swap_out_buffer_local_variables):
1089 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1090
1091 * lisp.h (store_symval_forwarding): Change prototype.
1092
1093 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1094
57ac7c81
GM
10952001-03-14 Gerd Moellmann <gerd@gnu.org>
1096
697617d9
GM
1097 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1098 FOR_DELETION. Avoid resizing the mini-window of the selected
1099 frame if FOR_DELETION is set.
1100 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1101 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1102 signature.
1103
1104 * window.c (Fset_window_configuration): Change call to
1105 do_switch_frame to new format.
1106
1107 * keyboard.c (quit_throw_to_read_char): Change call to
1108 do_switch_frame to new format.
1109
1110 * lisp.h (do_switch_frame): Change prototype.
1111
819dce0f
GM
1112 * frame.c (Fframe_parameters): In the `buffer-list' frame
1113 parameter, store the buffer list of FRAME, not the list of the
1114 selected frame.
1115
57ac7c81
GM
1116 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1117 box just because the glyph row's full_width_p flag is set.
1118
65008712
GM
11192001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1120
1121 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1122 skip the padding blanks inserted in extend_face_to_end_of_line,
1123 before checking for trailing whitespace.
1124
159cf431
GM
11252001-03-13 Gerd Moellmann <gerd@gnu.org>
1126
52283633 1127 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1128 Remove special handling for LessTif/Motif.
1129 (toplevel): Don't include Xm/Xm.h.
1130
52283633
SM
1131 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1132 Remove workaround code for LessTif; it doesn't work anymore.
1133
2564ea1b 1134 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1135 Xm/ScrollBarP.h.
afcdc0a1 1136
52283633
SM
1137 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1138 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1139 contemporary LessTif.
1140
52283633
SM
1141 * xfaces.c (xm_set_menu_resources_from_menu_face):
1142 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1143
159cf431
GM
1144 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1145 removing button grabs.
1146
c6f7429a
KH
11472001-03-13 Kenichi Handa <handa@etl.go.jp>
1148
cb82d767
KH
1149 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1150 and clip-large-size-font as obsolete.
1151
c6f7429a
KH
1152 * lread.c (read_multibyte): Check the validity of multibyte
1153 sequence. If invalid, return the first byte.
1154
760cefb5
GM
11552001-03-12 Gerd Moellmann <gerd@gnu.org>
1156
1157 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1158 before running the command; timer functions or process
1159 filters may have set it.
1160
5141f9d0
EZ
11612001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1162
1163 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1164 Doc fix.
1165
b6a15240
GM
11662001-03-12 Gerd Moellmann <gerd@gnu.org>
1167
1168 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1169 to sprintf.
1170
95522746
GM
11712001-03-09 Gerd Moellmann <gerd@gnu.org>
1172
db14cfc5
GM
1173 * dispextern.h (string_buffer_position): Add prototype.
1174
52283633 1175 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1176 (single_display_prop_string_p): New functions.
1177
1178 * xterm.c (note_mouse_highlight): If there's no help-echo on
1179 a string, look at the buffer text ``under'' it.
1180
1181 * keyboard.c (make_lispy_event): Add string info to the event,
1182 analogous to what's done on mode lines.
1183 (read_key_sequence): For a click on a string, consider `local-map'
1184 and `keymap' of that string.
1185
52283633
SM
1186 * keyboard.c (make_lispy_event, make_lispy_movement):
1187 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1188
1189 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1190
1191 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1192 POS; return void.
1193
95522746
GM
1194 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1195 flags argument to emacs_open; it seems to conflict with O_EXCL.
1196
898a399d
KH
11972001-03-09 Kenichi Handa <handa@etl.go.jp>
1198
28cd4910
KH
1199 * composite.h (struct composition): Change types of members;
1200 glyph_len to unsigned, width to unsigned short.
898a399d 1201
4cdf6a6c
AI
12022001-03-08 Andrew Innes <andrewi@gnu.org>
1203
1204 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1205 menu titles.
1206
129004d3
GM
12072001-03-08 Gerd Moellmann <gerd@gnu.org>
1208
221dd3e7
GM
1209 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1210 instead of nil.
1211
52283633 1212 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1213 help-echo in strings.
1214 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1215 (fast_find_string_pos): New function.
1216
52283633
SM
1217 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1218 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1219
1220 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1221 Handle `mouse-face'.
1222
1223 * dispextern.h (face_at_string_position): Change prototype.
1224
52283633 1225 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1226
129004d3
GM
1227 * keyboard.c (make_lispy_event): Avoid generating drag events
1228 if the mouse hasn't actually moved to another buffer position.
52283633 1229
80c8ab8c
DL
12302001-03-08 Dave Love <fx@gnu.org>
1231
129004d3 1232 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1233
989521fd
GM
12342001-03-08 Gerd Moellmann <gerd@gnu.org>
1235
1236 * process.c (Fset_process_window_size): Fix a typo.
1237
bb5c338d
KH
12382001-03-08 Kenichi Handa <handa@etl.go.jp>
1239
1240 * coding.c (detect_coding_sjis): Do more rigid check.
1241 (detect_coding_big5): Likewise.
1242 (decode_coding_sjis_big5): Likewise.
1243 (Fdetect_coding_region): Call detect_coding_system with tailing
1244 anchor byte `\0' for more rigid detection.
52283633 1245 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1246 (Fdetect_coding_string): Likewise.
1247
8b8f9197
SM
12482001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1249
1250 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1251 a string before extracting its data.
1252
3bdf2660
GM
12532001-03-07 Gerd Moellmann <gerd@gnu.org>
1254
1255 * window.c (Frecenter): Rewrite code handling negative values
1256 of ARG on graphical frames.
1257
12582001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1259
1260 * window.c (displayed_window_lines): If W->start is outside the
1261 accessible portion of the buffer, call start_display with BEGV or
1262 ZV instead of W->start.
1263
471f86b9
GM
12642001-03-07 Gerd Moellmann <gerd@gnu.org>
1265
2ab62c6c
GM
1266 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1267
471f86b9
GM
1268 * process.c (Fset_process_filter): Don't crash if the input
1269 file descriptor of PROCESS is closed.
1270 (Fset_process_window_size): Likewise.
1271
101922c3
GM
12722001-03-06 Kenichi Handa <handa@etl.go.jp>
1273
1274 * xterm.c (XTflash): Make the timeout of select shorter, and call
1275 select repeatedly until the desired time expires.
1276
45d051a7
GM
12772001-03-06 Gerd Moellmann <gerd@gnu.org>
1278
1279 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1280
1281 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1282
1283 * lisp.h (Vwindow_list): Declare extern.
1284
8f372c46
EZ
12852001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1286
1287 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1288
f16a7aa5
GM
12892001-03-06 Gerd Moellmann <gerd@gnu.org>
1290
157ae273
GM
1291 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1292 to detect a case where we have to highlight a different region
1293 despite not having left the currently highlighted region.
1294 Set mouse_face_overlay in the x_display_info.
45d051a7 1295 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1296
1297 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1298
1299 * buffer.c (mouse_face_overlay_overlaps): New function.
1300
1301 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1302 (Qmouse_face): Declare extern.
1303
f16a7aa5
GM
1304 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1305 if face_change_count is non-zero.
1306
827afcac
KH
13072001-03-06 Kenichi Handa <handa@etl.go.jp>
1308
1309 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1310 that the source is unibyte.
1311
14c7242e
DL
13122001-03-05 Dave Love <fx@gnu.org>
1313
827afcac 1314 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1315
c28b847b
GM
13162001-03-05 Gerd Moellmann <gerd@gnu.org>
1317
1318 * minibuf.c (read_minibuf): Clean up the binding stack if
1319 called noninteractively.
1320
b86644f2
KH
13212001-03-05 Kenichi Handa <handa@etl.go.jp>
1322
1323 * coding.c (syms_of_coding): Docstring modified.
1324
203682cc 13252001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1326
1327 * charset.c (char_to_string): If a single byte char has modifier
1328 bits that can't be reflected to the character code, ignore them
45d051a7 1329 instead of signaling an error.
b86644f2 1330
e30bd7b7
EZ
13312001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1332
1333 * s/msdos.h: Update copyright notice.
1334
1335 * dosfns.h: Update copyright notice.
1336
1337 * dosfns.c: Update copyright notice.
1338
1339 * msdos.c: Update copyright notice.
1340
b52b65bd
GM
13412001-03-02 Gerd Moellmann <gerd@gnu.org>
1342
1343 * xterm.c (glyph_rect): New function.
1344 (XTmouse_position): Use it to raise the threshold for mouse
1345 movement event generation.
1346
53c4b1e6
EZ
13472001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1348
1349 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1350 specifies (reverse . t), reverse the initial screen colors.
1351 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1352 but we are reversing the colors, set bg_set, not fg_set.
1353 Likewise for setting background-color and reversing: set fg_set.
1354 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1355 in effect.
1356
1357 * xfaces.c (Finternal_set_lisp_face_attribute)
1358 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1359 parameters alist.
1360
f964b4d7
GM
13612001-03-02 Gerd Moellmann <gerd@gnu.org>
1362
ef53d75e
GM
1363 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1364 to a single slash in the middle of file names.
1365
52283633 1366 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1367 Accept only alphanumeric time zone names.
1368
f964b4d7
GM
1369 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1370 or width area.
1371 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1372 a widget to zero height.
52283633 1373
c3c45f65
GM
13742001-03-01 Gerd Moellmann <gerd@gnu.org>
1375
1376 * window.c (Fwindow_end): Call move_it_past_eol only if
1377 ending up on a partially visible line.
1378
028d739a
DL
13792001-03-01 Dave Love <fx@gnu.org>
1380
1381 * ccl.c (Fccl_execute): Doc fix.
1382
57c5889c
GM
13832001-03-01 Gerd Moellmann <gerd@gnu.org>
1384
35f59f6b
GM
1385 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1386 of the tool bar before calling x_figure_window_size.
1387
f84ff02c
GM
1388 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1389 NULL after destroying it, otherwise XTread_socket can access a
1390 destroyed widget when input is unblocked.
1391
8b8f9197 1392 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1393
57c5889c
GM
1394 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1395 same name as before, although there was a change in fontsets.
1396
224227d1
KR
13972001-02-28 Ken Raeburn <raeburn@gnu.org>
1398
4560730a
KR
1399 * lisp.h (Fframe_parameter): Declare.
1400
224227d1 1401 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1402 Lisp_Object.
224227d1 1403
ece93c02
GM
14042001-02-28 Gerd Moellmann <gerd@gnu.org>
1405
11ef99b9
GM
1406 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1407 NULL instead.
1408
1409 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1410 NULL instead.
1411
ece93c02
GM
1412 * alloc.c (toplevel): Include process.h.
1413 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1414 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1415 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1416 (allocate_vector, allocate_hash_table, allocate_window)
1417 (allocate_frame, allocate_process, allocate_other_vector):
1418 New functions.
ece93c02
GM
1419 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1420 (mark_maybe_pointer): New function.
52283633 1421 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1422 remain and not Lisp_Objects.
1423 (min_heap_address, max_heap_address): New variables.
1424 (mem_find): Return MEM_NIL if START is below min_heap_address or
1425 above max_heap_address.
1426 (mem_insert): Compute min_heap_address and max_heap_address.
1427
1428 * process.c (make_process): Use allocate_process.
1429
1430 * frame.c (make_frame): Use allocate_frame.
1431
1432 * window.c (make_window, make_dummy_parent): Use allocate_window.
1433 (Fcurrent_window_configuration): Use allocate_other_vector.
1434
1435 * lisp.h (allocate_vectorlike): Remove prototype.
1436 (allocate_vector, allocate_other_vector, allocate_frame)
1437 (allocate_window, allocate_process, allocate_hash_table):
1438 Add prototypes.
1439
1440 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1441 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1442
063af457
KH
14432001-02-27 Kenichi Handa <handa@etl.go.jp>
1444
1445 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1446 treat the produced bytes as a valid multibyte sequence.
1447
1448 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1449 (ccl_driver) <CCL_WriteMultibyteChar2>:
1450 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1451 <ccl_finish>: Set ccl->eight_bit_control properly.
1452
1453 * ccl.h (struct ccl_program): New member eight_bit_control.
1454
f58c6494
SM
14552001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1456
1457 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1458 accessible_keymaps_char_table.
1459 (accessible_keymaps_char_table): Obey `is_metized'.
1460 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1461 Lisp_Object.
1462
c596c392
GM
14632001-02-26 Gerd Moellmann <gerd@gnu.org>
1464
1465 * dispnew.c: Check HAVE_TERM_H before including term.h.
1466
425de386
AI
14672001-02-24 Andrew Innes <andrewi@gnu.org>
1468
1469 * makefile.w32-in: Update copyright notice.
1470
2ba11bbd
SM
14712001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1472
1473 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1474
66c56ed1
KH
14752001-02-24 Kenichi Handa <handa@etl.go.jp>
1476
4c1593ce
KH
1477 * Makefile.in (lisp): Add international/utf-8.elc.
1478
66c56ed1
KH
1479 * fontset.c (Fnew_fontset): Fix handling of the case that an
1480 element of FONTLIST is a cons of family and registry.
1481
796ead7e
JR
14822001-02-23 Jason Rumney <jasonr@gnu.org>
1483
1484 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1485 to height unconditionally.
1486
1487 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1488 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1489 (x_insert_glyphs): Call window_box_left to obtain the left
1490 x-coordinate of the area to shift.
1491
1492 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1493 safe_run_hooks.
1494
f6839838
AI
14952001-02-22 Andrew Innes <andrewi@gnu.org>
1496
52283633 1497 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1498 ($(BLD)\dispnew.obj):
1499 ($(BLD)\editfns.obj):
1500 ($(BLD)\fileio.obj):
1501 ($(BLD)\filelock.obj):
1502 ($(BLD)\keyboard.obj):
1503 ($(BLD)\w32proc.obj):
1504 ($(BLD)\process.obj):
1505 ($(BLD)\sysdep.obj): Ditto.
1506
1507 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1508 header files.
52283633
SM
1509 ($(BLD)/dispnew.$(O)):
1510 ($(BLD)/editfns.$(O)):
1511 ($(BLD)/fileio.$(O)):
1512 ($(BLD)/filelock.$(O)):
1513 ($(BLD)/keyboard.$(O)):
1514 ($(BLD)/w32proc.$(O)):
1515 ($(BLD)/process.$(O)):
f6839838
AI
1516 ($(BLD)/sysdep.$(O)): Ditto.
1517
c224f70b
GM
15182001-02-22 Gerd Moellmann <gerd@gnu.org>
1519
51695746
GM
1520 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1521 at the start of the function, check that the \n in it->c is
1522 from the iterator's current position.
52283633 1523
a61b7058
GM
1524 * xdisp.c (handle_single_display_prop): Add parameter
1525 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1526 properties which replace the display of text with something else.
1527 (handle_display_prop): Call handle_single_display_prop with
1528 additional argument saying if we already replaced text display
1529 with something else. Use AREF.
52283633 1530 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1531 (decode_mode_spec_coding): Use AREF and ASIZE.
1532
3473f362
GM
1533 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1534 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1535 * vmstime.h: Files removed.
52283633 1536
2bb58df3
GM
1537 * unexencap.c, unexfx2800.c: Files removed.
1538
c224f70b
GM
1539 * dispnew.c (direct_output_for_insert): Give up if we are showing
1540 a message or just cleared the message because we might need to
1541 resize the echo area window or display an empty echo area.
1542
ffc9ff0c
GM
15432001-02-21 Gerd Moellmann <gerd@gnu.org>
1544
0528abe1
GM
1545 * xdisp.c (redisplay_internal): Do the
1546 mark_window_display_accurate after all windows have been
1547 redisplayed because this call resets flags in buffers which are
1548 needed for proper redisplay.
1549
52283633
SM
1550 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1551 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1552 the old names.
1553
52283633
SM
1554 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1555 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1556
1557 * msdos.h (struct x_output): Rename busy_window to
1558 hourglass_window, busy_p to hourglass_p.
1559
52283633
SM
1560 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1561 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1562
1563 * xfns.c: Rename everything containing *busy_cursor* and similar
1564 to *hourglass*.
1565 (syms_of_w32fns): Rename x-busy-pointer-shape to
1566 x-hourglass-pointer-shape, display-busy-cursor to
1567 display-hourglass, busy-cursor-delay to hourglass-delay.
1568
1569 * w32fns.c: Rename everything containing *busy_cursor* and similar
1570 to *hourglass*.
1571 (syms_of_w32fns): Rename x-busy-pointer-shape to
1572 x-hourglass-pointer-shape, display-busy-cursor to
1573 display-hourglass, busy-cursor-delay to hourglass-delay.
1574
1575 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1576 of its busy_p flag.
1577
1578 * dispextern.h (start_hourglass, cancel_hourglass)
1579 (display_hourglass_p): Renamed from *busy_cursor*.
1580
ab2c5f0a
GM
15812001-02-20 Gerd Moellmann <gerd@gnu.org>
1582
d17e49a8
GM
1583 * keyboard.c (read_char): When an event from unread-command-events
1584 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1585
fa97adf6
GM
1586 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1587 equal to the current buffer.
1588
ab2c5f0a
GM
1589 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1590 nil, otherwise we're left with truncate_lines t when a message
1591 is printed with message-truncate-lines bound to t.
1592
aeac019e
GM
15932001-02-19 Gerd Moellmann <gerd@gnu.org>
1594
c8bc6f65
GM
1595 * window.c (Fmove_to_window_line): Undo last change.
1596 (displayed_window_lines): Call line_bottom_y to determine
1597 the line's bottom position.
1598
1599 * dispextern.h (line_bottom_y): Add prototype.
1600
52283633 1601 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1602 (pos_visible_p): Use it.
1603
980a2d69
GM
1604 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1605 set redisplaying_p to 0 here instead of in Frecursive_edit.
1606 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1607 set redisplaying_p.
1608
52283633 1609 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1610 New variables.
1611 (syms_of_xdisp): Initialize new variables.
1612 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1613 Specbind `inhibit-menubar-update' when updating the menu bar.
1614
65048e97
GM
1615 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1616 safe_run_hooks.
1617
1618 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1619 safe_run_hooks.
1620
a57c4026
GM
1621 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1622 is null.
1623
aeac019e
GM
1624 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1625 to the start of the file.
1626
76846b31
GM
16272001-02-16 Gerd Moellmann <gerd@gnu.org>
1628
f3f053f3 1629 * window.c (set_window_buffer): Fix last change.
52283633 1630
f3f053f3
GM
1631 * window.c (set_window_buffer): Set window's vscroll to 0.
1632
dad75588
GM
1633 * window.c (coordinates_in_window): Increase width of area
1634 where the vertical line can be dragged.
1635
c220b753
GM
1636 * xterm.c (x_set_glyph_string_background_width): Extend the
1637 background face to the end of the drawing area in the text
1638 area, only.
1639
c56b1c1b
GM
1640 * xdisp.c (handle_single_display_prop): Set iterator's position
1641 to where the `display' property starts, like for images.
1642 (dump_glyph): New function.
1643 (dump_glyph_row): Use it. Dump info about marginal areas.
1644
1645 * dispnew.c (direct_output_for_insert): Recognize more cases where
1646 glyphs can be written instead of being inserted.
1647
1648 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1649 the left x-coordinate of the area to shift.
1650
76846b31
GM
1651 * dired.c (directory_files_internal): Set result list to nil
1652 before retrying.
1653
0fc71a77
KH
16542001-02-15 Kenichi Handa <handa@etl.go.jp>
1655
1656 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1657 invalid multibyte sequence, treat *SRC as a character of
1658 eight-bit-graphic.
1659
25078b54
EZ
16602001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1661
1662 * textprop.c (Fset_text_properties): Doc fix.
1663
8399f8a0
GM
16642001-02-15 Gerd Moellmann <gerd@gnu.org>
1665
1666 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1667
9a2a6f73
DL
16682001-02-14 Dave Love <fx@gnu.org>
1669
1670 * coding.c: Doc and message fixes.
1671
bf853fee
AI
16722001-02-14 Andrew Innes <andrewi@gnu.org>
1673
1674 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1675 Emacs frame above the screen size.
1676
78c663d8
GM
16772001-02-14 Gerd Moellmann <gerd@gnu.org>
1678
1679 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1680
7cc9f69f
GM
16812001-02-13 Gerd Moellmann <gerd@gnu.org>
1682
0a411995
GM
1683 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1684 case that TO ends up beyond ZV after running before-change-functions.
1685
5ddc1b75
GM
1686 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1687 the selected window if it is showing the buffer in question.
1688
7cc9f69f
GM
1689 * dired.c (directory_files_internal): Initialize errno.
1690 (toplevel): Include errno.h.
1691
2e6621ca
GM
16922001-02-13 Kenichi Handa <handa@etl.go.jp>
1693
1694 * xfaces.c (best_matching_font): New parameter width_ratio.
1695 Multiply avgwidth by width_ratio.
1696 (choose_face_font): Call best_matching_font with width_ratio
1697 calculated from the column width of C.
1698
60222d69
AI
16992001-02-12 Andrew Innes <andrewi@gnu.org>
1700
1701 The following changes are to draw box lines inside characters area
1702 if line-width is negative.
52283633 1703
60222d69
AI
1704 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1705 face->box_line_width is negative.
1706 (x_produce_stretch_glyph): Likewise.
1707 (x_produce_glyphs): Likewise.
1708 (x_estimate_mode_line_height): Likewise.
1709 (x_draw_glyph_string_background): Likewise.
1710 (x_draw_glyph_string_foreground): Likewise.
1711 (x_draw_composite_glyph_string_foreground): Likewise.
1712 (x_draw_glyph_string_box): Likewise.
1713 (x_draw_image_foreground): Likewise.
1714 (x_draw_image_relief): Likewise.
1715 (x_draw_image_foreground_1): Likewise.
1716 (x_draw_image_glyph_string): Likewise.
1717
9804b846
KH
17182001-02-09 Kenichi Handa <handa@etl.go.jp>
1719
1720 The following changes are to draw box lines inside characters area
1721 if line-width is negative.
52283633 1722
9804b846
KH
1723 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1724 face->box_line_width is negative.
1725 (x_produce_stretch_glyph): Likewise.
1726 (x_produce_glyphs): Likewise.
1727 (x_estimate_mode_line_height): Likewise.
1728 (x_draw_glyph_string_background): Likewise.
1729 (x_draw_glyph_string_foreground): Likewise.
1730 (x_draw_composite_glyph_string_foreground): Likewise.
1731 (x_draw_glyph_string_box): Likewise.
1732 (x_draw_image_foreground): Likewise.
1733 (x_draw_image_relief): Likewise.
1734 (x_draw_image_foreground_1): Likewise.
1735 (x_draw_image_glyph_string): Likewise.
1736
1737 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1738 and :line-width can be negative.
52283633 1739 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1740
49be9f70
JR
17412001-02-09 Jason Rumney <jasonr@gnu.org>
1742
1743 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1744 characters the same as ASCII and latin-1.
1745 (x_display_and_set_cursor): Check for the focus frame's selected
1746 window instead of selected_window.
1747 (x_after_update_window_line): Don't clear if frame's internal
1748 border width is zero.
1749 (x_new_font): Don't change a tooltip's size.
1750 (w32_initialize): Set char_ins_del_ok to 1.
1751
1752 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1753 (x_set_font): If font hasn't changed, avoid recomputing
1754 faces and other things.
52283633
SM
1755 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1756 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1757 (x_create_tip_frame): Prevent changing the tooltip's
1758 background color by specifying a color for the default font
1759 in .Xdefaults.
1760 (Qcancel_timer): New variable.
1761 (syms_of_w32fns): Initialize and staticpro it.
1762 (Fx_hide_tip, Fx_show_tip): Use it.
1763 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1764 the timer.
1765 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1766
1767 * w32.c (init_environment): Duplicate local string before putenv.
1768
555e35d2
SZ
17692001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1770
1771 * charset.c (Fstring): A typo.
1772
19c92c94
KH
17732001-02-09 Kenichi Handa <handa@etl.go.jp>
1774
e47a1c33
KH
1775 * charset.c (Fstring): If all arguments are less than 256, return
1776 a unibyte string.
1777
1778 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1779 return a unibyte string.
1780
19c92c94
KH
1781 * coding.c (code_convert_region): After detecting a coding, if
1782 nothing found, set coding->composing to COMPOSITION_NO.
1783 (decode_coding_string): Likewise.
1784
d8e675f5
SM
17852001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1786
1787 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1788 to avoid overflow.
1789
bd503487
KH
17902001-02-07 Kenichi Handa <handa@etl.go.jp>
1791
1792 * charset.c (parse_str_to_multibyte): New function.
1793
1794 * charset.h (parse_str_to_multibyte): Extern it.
1795
1796 * print.c (print_string): If we are going to print a unibyte
1797 string into a multibyte buffer, convert the string to multibyte by
1798 str_to_multibyte.
1799
a8370d72
AI
18002001-02-06 Andrew Innes <andrewi@gnu.org>
1801
1802 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1803 been created. It seems we can get sent window messages such as
1804 WM_ERASEBKGND before we properly update a frame.
1805
c363a1d6
GM
18062001-02-06 Gerd Moellmann <gerd@gnu.org>
1807
1808 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1809 Avoid some unnecessary cursor positioning.
1810
a08332c0
GM
18112001-02-05 Gerd Moellmann <gerd@gnu.org>
1812
52283633 1813 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1814 (LFACE_AVGWIDTH): New macro.
1815 (LFACEP): Use AREF.
1816 (check_lface_attrs): Check LFACE_AVGWIDTH.
1817 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1818 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1819 (merge_face_vectors): Check LFACE_AVGWIDTH.
1820 (Finternal_make_lisp_face): Use AREF.
1821 (xm_set_menu_resources_from_menu_face)
1822 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1823 (Finternal_lisp_face_empty_p): Use AREF.
1824 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1825 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1826 Compare average widths..
1827 (best_matching_font): Arrange for comparing average widths.
1828
52283633
SM
1829 * dispextern.h (enum lface_attribute_index):
1830 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1831
5cb3c8d4
DL
18322001-02-05 Dave Love <fx@gnu.org>
1833
1834 * puresize.h: Revert last change following loadup.el change.
1835
193fba87
AI
18362001-02-05 Andrew Innes <andrewi@gnu.org>
1837
1838 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1839 invocation of temacs, to work with Windows 2000.
1840 (bootstrap-emacs): Ditto.
1841
e16f52ce
GM
18422001-02-05 Gerd Moellmann <gerd@gnu.org>
1843
7a58ab59
GM
1844 * xterm.c (x_display_and_set_cursor): Check for the focus
1845 frame's selected window instead of selected_window.
1846
e89aaabd
GM
1847 * xdisp.c (try_scrolling): If point is in the line below the
1848 window, make sure to move the iterator at least a canonical
1849 char height down.
1850
52283633 1851 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1852
789ce875
KH
18532001-02-05 Kenichi Handa <handa@etl.go.jp>
1854
52283633
SM
1855 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1856 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1857 (ccl_driver): If the CCL program is terminated because of
1858 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1859 destination instead of throwing them away.
1860
20b28f82
GM
18612001-02-02 Gerd Moellmann <gerd@gnu.org>
1862
79fb38c0
GM
1863 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1864 faces and other things.
1865
20b28f82
GM
1866 * xdisp.c (get_next_display_element): Fix case of empty
1867 display table entry.
1868
5a72551e
EZ
18692001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1870
eb24d0bf
EZ
1871 * editfns.c (Fconstrain_to_field): Doc fix.
1872
6a3f48c7
EZ
1873 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1874 into `thoroughly', to make it consistent with the doc string.
1875
5a72551e
EZ
1876 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1877
01acdb05
GM
18782001-02-01 Gerd Moellmann <gerd@gnu.org>
1879
0353b28f
GM
1880 * search.c (search_buffer): Call set_search_regs with a byte
1881 position, not a character position.
1882
01acdb05
GM
1883 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1884 minibuffer-only,
1885
e86b5133
EZ
18862001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1887
1888 * frame.c (Fmodify_frame_parameters): Doc fix.
1889
7442878f
GM
18902001-01-31 Gerd Moellmann <gerd@gnu.org>
1891
01acdb05
GM
1892 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1893 identifier which is not reserved by Standard C.
52283633 1894
7442878f
GM
1895 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1896
1897 * window.c (enum window_part): New enumeration.
1898 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1899 Qright_bitmap_area.
1900 (coordinates_in_window): Return an enumerator from enum
1901 window_part. Fix handling of right scroll bar.
1902 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1903 `right-fringe' instead of `left-bitmap-area' and
1904 `right-bitmap-area'. Use enumerators from enum window_part
1905 instead of hard-coded integers.
52283633
SM
1906 (check_window_containing, window_from_coordinates):
1907 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1908 (syms_of_window): Replace Qleft_bitmap_area and
1909 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1910
7c132cba
EZ
19112001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1912
1913 * editfns.c (Fformat_time_string): Doc fix.
1914
c359dd9e
SM
19152001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1916
1917 * keymap.c (Fwhere_is_internal): Use the first valid binding
1918 if no ascii binding is found (when firstonly is t).
1919
ce070307
GM
19202001-01-31 Gerd Moellmann <gerd@gnu.org>
1921
b4f30ec5
GM
1922 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1923 instead of Finteractive_p.
1924
1925 * lisp.h (interactive_p): Add prototype.
1926
1927 * eval.c (interactive_p): New function.
1928 (Finteractive_p): Use it.
1929
ce070307
GM
1930 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1931
f57b6e64
DL
19322001-01-31 Dave Love <fx@gnu.org>
1933
d61c7afe
DL
1934 * .gdbinit (hook-run): Define to run xreload.
1935
f57b6e64
DL
1936 * textprop.c (Fset_text_properties): Fix newline in doc string.
1937
eef93f99
GM
19382001-01-30 Gerd Moellmann <gerd@gnu.org>
1939
52283633
SM
1940 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1941 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1942
1943 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1944 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1945 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1946
1947 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1948 height.
1949
d9c1f6f9
DL
19502001-01-30 Dave Love <fx@gnu.org>
1951
1952 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1953 AFTER_POTENTIAL_GC.
1954
e8f044a0
GM
19552001-01-29 Gerd Moellmann <gerd@gnu.org>
1956
52283633
SM
1957 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1958 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1959
8e1db7b3
EZ
19602001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1961
1962 * textprop.c (Fset_text_properties): Doc fix.
1963
4eefd9d2
GM
19642001-01-29 Gerd Moellmann <gerd@gnu.org>
1965
1966 * xdisp.c (forward_to_next_line_start): Remove xassert.
1967
fccb8288
EZ
19682001-01-29 Jason Rumney <jasonr@gnu.org>
1969
4eefd9d2 1970 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1971 returning without releasing it.
1972
76581eab
KH
19732001-01-29 Kenichi Handa <handa@etl.go.jp>
1974
1975 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1976 for '^', '$', and '\0'.
1977
83a96b4d
AC
19782001-01-28 Andrew Choi <akochoi@i-cable.com>
1979
5604ec34
AC
1980 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1981 regex for '^', '$', and '\0'.
1982
83a96b4d
AC
1983 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1984 only if current_sblock has been initialized.
1985
1986 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1987 terminal frame even if it is the only visible frame.
1988
c09a6440
KH
19892001-01-28 Kenichi Handa <handa@etl.go.jp>
1990
1991 * fontset.c (font_family_registry): Even if FONTNAME conform to
1992 XLFD, if it specifies other fields than family and registry,
52283633 1993 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1994 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1995 a signle byte character. Don't set FAMILY part to nil here.
1996 It is handled by the caller choose_face_font.
c09a6440
KH
1997 (Fnew_fontset): Call font_family_registry with FORCE 0.
1998 (Fset_fontset_font): Likewise.
1999
4dcd74e6
GM
20002001-01-27 Gerd Moellmann <gerd@gnu.org>
2001
2002 * xdisp.c (display_line): Don't treat a newline as fitting
2003 on the line.
2004
d2906bf8
GM
20052001-01-26 Gerd Moellmann <gerd@gnu.org>
2006
0130fe1a
GM
2007 * window.c (size_window): Set the window's orig_top to nil when
2008 changing heights, so that a future shrink_mini_window won't
2009 restore a bogus height.
2010
550f0e6a
GM
2011 * frame.c (do_switch_frame): If selected frame has a mini-window,
2012 resize that to exact size.
2013
b7b20fbd
GM
2014 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2015
a47b7816
GM
2016 * xdisp.c (display_line): Simplify check for glyphs fitting
2017 entirely in the line.
2018
d2906bf8
GM
2019 * xfns.c (xic_style): New variable.
2020 (create_frame_xic): Move static variable to global scope for
550f0e6a 2021 the case that `static' gets defined away.
d2906bf8 2022
73df2b1e
KH
20232001-01-26 Kenichi Handa <handa@etl.go.jp>
2024
2025 * coding.c (decode_coding): Set a flag for inhibiting
2026 inconsistent eol.
2027 (code_convert_region): Always set saved_coding_symbol.
2028 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2029 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2030
6613cfc4
GM
20312001-01-25 Gerd Moellmann <gerd@gnu.org>
2032
c5e6e06b
GM
2033 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2034 XClearArea.
2035
2036 * xterm.c (x_after_update_window_line): Don't clear if frame's
2037 internal border width is zero.
2038 (x_clear_area): New function.
2039 (x_after_update_window_line, x_clear_end_of_line)
2040 (x_scroll_bar_create, x_scroll_bar_set_handle)
2041 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2042 instead of XClearArea.
2043
2044 * xterm.h (x_clear_area): Add prototype.
2045
6613cfc4
GM
2046 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2047 which doesn't seem necessary anymore with Lesstif 0.92.
2048
650cc6cc
DL
20492001-01-25 Dave Love <fx@gnu.org>
2050
34ac3367
DL
2051 * puresize.h (BASE_PURESIZE): Up to 720000.
2052
650cc6cc
DL
2053 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2054
5e37dc22
GM
20552001-01-25 Gerd Moellmann <gerd@gnu.org>
2056
e1e441f9
GM
2057 * xdisp.c (echo_area_display): Don't call redisplay_internal
2058 when Emacs is shutting down. We can't run hooks etc. that
2059 would be necessary to do a redisplay.
2060
5e37dc22
GM
2061 * lread.c (read_integer): Use type EMACS_INT instead of int.
2062
0fb94c7f
EZ
20632001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2064
2065 * ccl.c (ccl_driver): Fix last change.
2066
e3778624
KH
20672001-01-25 Kenichi Handa <handa@etl.go.jp>
2068
2069 * ccl.h (sturct ccl_program): New member suppress_error.
2070
bb264518 2071 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2072 insert error message to the output.
2073 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2074
2075 * coding.h (struct coding_system): New member suppress_error.
2076
2077 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2078 (Fset_terminal_coding_system_internal): Set the member
2079 suppress_error to 1.
2080 (Fset_safe_terminal_coding_system_internal): Likewise.
2081
245ed2b1
SM
20822001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2083
2084 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2085 as if it was a `charset'.
2086
f9aaedb6
GM
20872001-01-24 Gerd Moellmann <gerd@gnu.org>
2088
2089 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2090 value in where_is_cache; the next lookup in the cache returns
2091 something bogus if we do.
2092
c3902c3e
EZ
20932001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2094
2095 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2096 if HAVE_WINDOW_SYSTEM isn't defined.
2097
3497f73e
GM
20982001-01-24 Gerd Moellmann <gerd@gnu.org>
2099
e7e41584
GM
2100 * fns.c (sweep_weak_table): Fix code taking items out of
2101 the hash collision chain. Some cleanup.
2102
3497f73e
GM
2103 * xterm.c (x_new_font): Don't change a tooltip's size.
2104
2105 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2106 background color by specifying a color for the default font
2107 in .Xdefaults.
2108
3d48e687
KH
21092001-01-24 Kenichi Handa <handa@etl.go.jp>
2110
96531b20
KH
2111 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2112 a workaround for SunOS 4's cc.
2113 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2114 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2115 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2116 statement.
3d48e687 2117
a30629d2
GM
21182001-01-23 Gerd Moellmann <gerd@gnu.org>
2119
2120 * xterm.c (x_set_window_size_1): New function extracted from
2121 x_set_window_size.
2122 (x_set_window_size): Use it.
2123 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2124 doesn't have a widget, like tooltips.
2125
5a43decf
EZ
21262001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2127
52283633 2128 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2129
b0e98867
KH
21302001-01-23 Kenichi Handa <handa@etl.go.jp>
2131
2132 * fns.c (Fset_char_table_default): Fix to make sub char-table
2133 correctly.
2134
50606b4c
GM
21352001-01-22 Gerd Moellmann <gerd@gnu.org>
2136
cb2ddc53 2137 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2138 a desired tool bar string, even if there are no tool bar items.
2139
57c28064
GM
2140 * xdisp.c (Ftool_bar_lines_needed): New function.
2141 (syms_of_xdisp): Defsubr it.
2142
50606b4c
GM
2143 * editfns.c (Fformat): Don't extend text properties from arguments
2144 to padding chars in the result.
2145
2f169c38
EZ
21462001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2147
2148 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2149
0f32f023
AI
21502001-01-20 Andrew Innes <andrewi@gnu.org>
2151
52283633 2152 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2153 (w32_initialize): Don't set term hooks that aren't actually needed
2154 in windowed mode.
2155
2156 * xfaces.c (realize_default_face):
2157 (realize_face):
2158 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2159
2160 * xdisp.c (handle_single_display_prop): Remove references to
2161 FRAME_W32_CONSOLE_P.
2162
52283633 2163 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2164
2165 * frame.h (output_method): Remove output_w32_console method.
2166 (FRAME_W32_CONSOLE_P): Remove macro.
2167
2168 * frame.c (Qw32_console): Remove variable.
2169 (Fframep): Remove references to it.
2170 (syms_of_frame): Ditto.
2171 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2172
2173 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2174 redefinition.
2175
7173eada
KH
21762001-01-20 Kenichi Handa <handa@etl.go.jp>
2177
2178 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2179
755b45ce
AI
21802001-01-19 Andrew Innes <andrewi@gnu.org>
2181
2182 * w32.c (init_environment): Add a version-independent site-lisp
2183 directory to EMACSLOADPATH, after the version dependent one.
2184
0a949811
GM
21852001-01-19 Gerd Moellmann <gerd@gnu.org>
2186
8501998a
GM
2187 * editfns.c (Fbuffer_substring): Doc fix.
2188
52283633
SM
2189 * xdisp.c (message_dolog, message2, message2_nolog):
2190 Rename parameter LEN to NBYTES.
0a949811 2191
e6ebcbbe
KH
21922001-01-19 Kenichi Handa <handa@etl.go.jp>
2193
200ecca2
KH
2194 * charset.c (strwidth): Use c_string_width.
2195 (c_string_width): New function.
2196 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2197 Caller changed.
2198
2199 * charset.h (c_string_width, lisp_string_width): Extern them.
2200
52283633 2201 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2202
e6ebcbbe
KH
2203 * indent.c (check_composition): Check validity of composition.
2204
200ecca2
KH
2205 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2206 characters by calling c_string_width.
2207 (x_consider_frame_title): Get byte length of frame tile string
2208 correctly.
2209 (display_mode_element): Pay attention to width of non-ASCII
2210 characters by calling strwidth.
2211
8692ca92
GM
22122001-01-18 Gerd Moellmann <gerd@gnu.org>
2213
8962e303
GM
2214 * xfns.c (Qcancel_timer): New variable.
2215 (syms_of_xfns): Initialize and staticpro it.
2216 (Fx_hide_tip, Fx_show_tip): Use it.
2217 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2218 the timer.
2219 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2220
91523be9
GM
2221 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2222
2223 * window.h (WINDOW_LIVE_P): New macro.
2224
b0b7ed0e
GM
2225 * window.c (window_size_fixed): New variable.
2226 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2227 the doc string.
2228
06bccf8e
GM
2229 * eval.c (specbind): If binding a per-buffer variable which
2230 doesn't have a buffer-local value in the current buffer, change
2231 the global value by changing the value of the symbol bound in all
2232 buffers not having their own value, to make it consistent with
2233 what happens with other buffer-local variables.
2234
8692ca92
GM
2235 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2236
2237 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2238 when searching for a newline.
2239
bb3a3b50
KH
22402001-01-18 Kenichi Handa <handa@etl.go.jp>
2241
2242 * xdisp.c (display_string): Fix previous change.
2243
c2cc16fa
JR
22442001-01-18 Jason Rumney <jasonr@gnu.org>
2245
2246 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2247 GLYPH_DEBUG is defined.
2248 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2249 true for images with `:ascent 100'.
2250 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2251 meantime, use face MOUSE_FACE_ID.
2252 If first glyph isn't a character glyph, use the ASCII NUL
2253 character to determine the face.
2254 (expose_area): Do not treat left margin specially.
2255 (note_mode_line_highlight): If no local_map, check global keymap.
2256 (note_mouse_highlight): Initialize overlay.
52283633 2257 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2258 (show_scroll_bars): Remove unused function.
2259 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2260 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2261 Clip to row.
52283633 2262 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2263 (x_free_frame_resources): Unload relief colors.
2264
9c11f79e
GM
22652001-01-17 Gerd Moellmann <gerd@gnu.org>
2266
3aec8722 2267 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2268 get_next_display_element when the newline is already found.
2269 This may change the iterator's position, when its current position is
3aec8722
GM
2270 equal to the iterator's stop_charpos.
2271
f3ffc2c3
GM
2272 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2273 zero, use this method only at the end of a line.
2274
52283633 2275 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2276 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2277 if SCALABLE_FONTS_P is set.
52283633 2278
d26d6fd9
GM
2279 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2280 so that scalable fonts are included.
2281
9c11f79e
GM
2282 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2283 In the cache, use a key containing the information if scalable
2284 fonts are included.
2285 (x_load_font): Adapt to change of keys in the font cache.
2286
22872001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2288
d26d6fd9
GM
2289 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2290 XListFonts to take advantage of font caching.
2291
9c11f79e
GM
2292 * xterm.c (x_list_fonts): Ensure caching font information when
2293 called for a null frame, which is the case frequently when Emacs
2294 starts.
2295
51446987
GM
22962001-01-17 Gerd Moellmann <gerd@gnu.org>
2297
f864120f
GM
2298 * xfns.c (QCconversion): Replaces QCalgorithm.
2299
2300 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2301
2302 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2303 of :algorithm.
52283633 2304
e37d1417
GM
2305 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2306 not everything could be displayed.
2307
51446987
GM
2308 * line.h, x-list-font.c: Files removed because unused.
2309
9ad4f3e5
AI
23102001-01-17 Andrew Innes <andrewi@gnu.org>
2311
2312 * dired.c (directory_files_internal): Convert result from readdir
2313 to a unibyte string initially, to avoid possible misinterpretation
2314 of some bytes as the internal form of Emacs characters.
2315
2eda09b5
KH
23162001-01-17 Kenichi Handa <handa@etl.go.jp>
2317
2318 * fns.c (concat): Be sure to avoid putting the same `composition'
2319 property on the adjacent regions.
2320
826f3788
GM
23212001-01-16 Gerd Moellmann <gerd@gnu.org>
2322
52283633 2323 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2324 (Fscroll_right, Fscroll_left): Set it here instead, if called
2325 interactively.
2326
d57b83b3
GM
2327 * buffer.c (Fset_buffer_modified_p): Set buffer's
2328 prevent_redisplay_optimizations_p flag.
2329
826f3788 2330 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2331 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2332 with additional arg.
2333
2334 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2335 Change prototype.
826f3788 2336
826f3788
GM
2337 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2338 FROM_WHERE, for debugging.
2339
261d788b
KH
23402001-01-16 Kenichi Handa <handa@etl.go.jp>
2341
2342 * ccl.c (Fregister_ccl_program): Handle the return value of
2343 resolve_symbol_ccl_program correctly.
52283633 2344 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2345
bccee4f2
GM
23462001-01-15 Gerd Moellmann <gerd@gnu.org>
2347
e4ded23c
GM
2348 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2349 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2350
2351 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2352 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2353 the display; we didn't open it.
2354
bccee4f2
GM
2355 * dispnew.c (save_or_restore_current_matrices): Function removed.
2356 (save_current_matrix, restore_current_matrix): New functions.
2357 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2358 restore the frame's current matrix. Due to the glyph pointer
2359 setup done in adjust_glyph_matrix, there is no easy way to make
2360 saving the current matrix in the desired matrix generally correct,
2361 so don't try it.
2362
ebeccffa
KH
23632001-01-15 Kenichi Handa <handa@etl.go.jp>
2364
2365 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2366 truncation glyphs.
2367 (display_line): Optimize for wide characters.
e4ded23c 2368 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2369 partially. On ttys, produce more than one truncation glyph for
2370 multi-column characters that don't fit on the line.
2371
64388126
KH
23722001-01-13 Kenichi Handa <handa@etl.go.jp>
2373
52283633
SM
2374 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2375 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2376
8edb0a6f
JR
23772001-01-13 Jason Rumney <jasonr@gnu.org>
2378
2379 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2380 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2381 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2382 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2383
52283633
SM
2384 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2385 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2386 (x_draw_image_glyph_string): Adapt to change of image margins.
2387
2388 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2389 variables.
2390
2391 * w32bdf.c (search_file_line, get_cached_font_char)
2392 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2393
2394 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2395
2396 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2397 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2398 (Fw32_send_sys_command): Remove unused variables.
2399 (w32_msg_pump): Add parentheses.
2400
2401 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2402 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2403 Add parentheses.
2404
4956d1ef
GM
24052001-01-12 Gerd Moellmann <gerd@gnu.org>
2406
b30623be
GM
2407 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2408 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2409 being a pair of margins.
2410 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2411 to DEFVAR_LISP. Extend doc.
2412
2413 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2414 margins.
2415 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2416 pair of integers `(X . Y)', use X for the horizontal and Y for the
2417 vertical margin.
2418 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2419 (parse_image_spec): Check it.
52283633
SM
2420 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2421 (tiff_format, gif_format, gs_format):
2422 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2423
52283633
SM
2424 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2425 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2426 (x_draw_image_glyph_string): Adapt to the change of image margins.
2427
2428 * dispextern.h (struct image): Replace member `margin' with
2429 `hmargin' and `vmargin'.
2430
4554cc79
GM
2431 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2432 and GLYPHS.
2433
2434 * dispnew.c (update_text_area): Put code which decrements the
2435 stop position when the row's face extends to the end of the
3bffc665 2436 line in #if 0.
4554cc79 2437
3cccce8d
GM
2438 * xfns.c (x_set_mouse_color): Fix color allocation.
2439
4956d1ef
GM
2440 * keyboard.c: Call get_local_map with new argument list.
2441
2442 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2443
2444 * intervals.h (enum map_property): Removed.
2445 (get_local_map): Change prototype.
2446
2447 * keymap.c: Call get_local_map with new argument list.
2448 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2449
2c2ff7f2
GM
24502001-01-11 Gerd Moellmann <gerd@gnu.org>
2451
a23887b9
GM
2452 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2453 of the size needed for the tool bar string. For the last image,
2454 use a `display' property that reaches to the end of the string.
2455
a7ee2d2e
GM
2456 * xselect.c (selection_request_dpyinfo): New variable.
2457 (x_handle_selection_request): Set it.
2458 (x_selection_request_lisp_error): Don't call
2459 x_decline_selection_request if selection request's display has
2460 been closed.
2461
52283633
SM
2462 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2463 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2464
457b792c
GM
24652001-01-10 Dave Love <fx@gnu.org>
2466
2467 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2468 ${SOME_MACHINE_LISP}, not ${lisp}.
2469
c1efd260
GM
24702001-01-10 Gerd Moellmann <gerd@gnu.org>
2471
52283633
SM
2472 * xdisp.c (display_line): On ttys, produce more than one truncation
2473 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2474
ac95a621
GM
2475 * xselect.c (x_reply_selection_request): Add a comment.
2476
c1efd260
GM
2477 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2478 XkbGetNames instead of XkbGetKeyboard.
2479
1bfb1345
DL
24802001-01-10 Dave Love <fx@gnu.org>
2481
2482 * sysdep.c (random): Revert the declaration.
2483
38119822
GM
24842001-01-09 Gerd Moellmann <gerd@gnu.org>
2485
52283633
SM
2486 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2487 Call function string_bytes.
35f464a7
GM
2488 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2489
2490 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2491 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2492 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2493 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2494 the current sblock.
2495 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2496 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2497 after sweeping strings, and at the end.
2498 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2499
38119822
GM
2500 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2501 ensure that pop_message is called.
2502
2503 * keyboard.c (Fexecute_extended_command): Use a
2504 record_unwind_protect to ensure that pop_message is called.
2505
2506 * lisp.h (push_message_unwind): Add prototype.
2507
2508 * xdisp.c (push_message_unwind): New function.
2509
2510 * fileio.c (do_auto_save_unwind): Do the pop_message here
2511 instead of in Fdo_auto_save.
2512 (Fdo_auto_save): Don't call pop_message.
2513
f47a9ec4
KR
25142001-01-08 Ken Raeburn <raeburn@gnu.org>
2515
2516 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2517 in inner block.
2518
a758f97d
GM
25192001-01-08 Gerd Moellmann <gerd@gnu.org>
2520
6d0afc03
GM
2521 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2522 when increasing window's vscroll.
2523
a758f97d
GM
2524 * macros.c (Qkbd_macro_termination_hook): New variable.
2525 (syms_of_macros): Initialize and staticpro it.
2526 (pop_kbd_macro): Run kbd-macro-termination-hook.
2527
2528 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2529
1bfb1345 25302001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2531
2532 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2533 arglist, for documentation's sake.
2534
0dac6924
AI
25352001-01-06 Andrew Innes <andrewi@gnu.org>
2536
2537 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2538 of *.pdb.
2539
8182406a
AI
25402001-01-05 Andrew Innes <andrewi@gnu.org>
2541
2542 * term.c (update_end): Don't check updating_frame; for some reason
2543 this can be 0 sometimes, such as after dismissing a popup menu,
2544 and isn't necessary given the explicit frame argument.
2545
3828218c
GM
25462001-01-05 Gerd Moellmann <gerd@gnu.org>
2547
2548 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2549 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2550
2f5ded21
GM
25512001-01-04 Gerd Moellmann <gerd@gnu.org>
2552
52283633 2553 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2554
2555 * xfns.c (x_create_tip_frame): Preserve the value of
2556 face_change_count around the creation of the tip frame.
52283633 2557
2f5ded21
GM
2558 * xfns.c (last_show_tip_args): New variable.
2559 (compute_tip_xy): New function.
2560 (Fx_show_tip): Reuse an existing tip frame, if possible.
2561 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2562
dfad65fa
DL
25632001-01-04 Dave Love <fx@gnu.org>
2564
64d4ec0f
DL
2565 * editfns.c (Fformat): Doc fix.
2566
dfad65fa
DL
2567 * systime.h (set_file_times): Prototype.
2568
2569 * widget.h (EmacsFrameSetCharSize_): Prototype.
2570
2571 * sysdep.c (random, srandom): Declare explicitly.
2572
2573 * dispextern.h (move_it_vertically_backward): Declare.
2574
85fe3b5e
GM
25752001-01-04 Gerd Moellmann <gerd@gnu.org>
2576
0f2ac578
GM
2577 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2578 like in Fx_create_frame.
2579
482cca61
GM
2580 * xfaces.c (set_font_frame_param): Don't do anything for
2581 non-graphical frames.
2582
85fe3b5e
GM
2583 * window.c (Fdelete_other_windows): Set window's window_end_valid
2584 to nil when changing the window's start. Don't change the
2585 window's start when its top position hasn't changed. If we do,
2586 this will set the window's optional_new_start, which act's like a
2587 force_start during redisplay with C-x 1 M-> under particular
2588 circumstances (see report from Per Starback to emacs-pretest-bug
2589 from 2000-12-13.).
2590
3e99d3b4
GM
25912001-01-03 Gerd Moellmann <gerd@gnu.org>
2592
a77dc1ec
GM
2593 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2594 short cut at the start of the function. Add an assertion.
2595 (reseat_at_next_visible_line_start): Add an assertion.
2596
2f3cad6c
GM
2597 * window.c (Frecenter): When changing the window start, set the
2598 window's window_end_valid to nil.
2599 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2600
2601 * dispextern.h (move_it_past_eol): Add prototype.
2602
2603 * xdisp.c (move_it_past_eol): New function.
2604
3e99d3b4
GM
2605 * window.c (Fwindow_end): Doc fix.
2606
26072001-01-03 Dave Love <fx@gnu.org>
2608
52283633 2609 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2610
bafb434c
GM
26112001-01-03 Gerd Moellmann <gerd@gnu.org>
2612
2613 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2614 the enabled_p flag of the glyph row at window_end_vpos to 0.
2615 (handle_single_display_prop): Fix last change.
2616
5297fb00
RS
26172001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2618
2619 * window.c (Frecenter): Doc fix.
2620
13d6a61c
AI
26212001-01-02 Andrew Innes <andrewi@gnu.org>
2622
2623 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2624
2625 * frame.h (output_method): Add output_w32_console method.
2626 (FRAME_W32_CONSOLE_P): New macro.
2627
2628 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2629 use output_w32_console method.
2630 (Qw32_console): New Lisp_Object.
2631 (Fframep): Return it.
2632 (syms_of_frame): Init it.
52283633 2633 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2634
2635 * xfaces.c (realize_default_face): Set face foreground and
2636 background to unspecified for w32_console frames.
2637 (realize_face): Realize face cache for w32_console frames.
2638 (realize_tty_face): Accept w32_console frames.
2639
52283633 2640 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2641 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2642 necessary, even if running interactively.
2643
2644 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2645 w32_console frames.
2646
52283633
SM
2647 * w32term.c (x_update_begin):
2648 (x_update_end):
2649 (x_clear_frame):
2650 (x_ins_del_lines):
2651 (x_change_line_highlight):
2652 (x_delete_glyphs):
2653 (w32_ring_bell):
2654 (x_update_begin):
2655 (x_update_end):
2656 (w32_reassert_line_highlight):
2657 (w32_frame_rehighlight):
13d6a61c
AI
2658 (w32_frame_raise_lower): Do nothing if not w32 frame.
2659
2660 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2661
2662 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2663 system doesn't tell us directly.
2664 (Fx_display_visual_class): Implement properly.
2665
d6bb0c0d
GM
26662001-01-02 Gerd Moellmann <gerd@gnu.org>
2667
2668 * window.c (Frecenter): Handle centering in graphical frames
2669 specially. Centering on the basis of line counts doesn't work
2670 reliably with variable-height lines.
52283633 2671
315f5865
EZ
26722001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2673
2674 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2675 and al[].
2676
52283633 2677 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2678 (update_compositions): Remove unused variable `hook'.
2679
2680 * intervals.c (get_local_map): Remove unused variable `tem'.
2681
2682 * doprnt.c (doprnt1): Remove unused variable `size'.
2683
2684 * fns.c (Flength): Remove unused variable `tail'.
2685 (Fdelete): Remove unused variable `size'.
2686
2687 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2688 and `gcpro2'.
2689
52283633 2690 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2691
2692 * data.c (find_symbol_value): Remove extra 3rd argument in the
2693 call to swap_in_symval_forwarding.
2694
52283633 2695 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2696
2697 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2698 (trivial_regexp_p): Remove unused variable `c'.
2699 (boyer_moore): Remove unused variable `k'.
2700
2701 * indent.c (current_column): Remove unused variable `stopchar'.
2702 (Fcompute_motion): Remove unused variable `contin'.
2703
2704 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2705
2706 * dired.c (directory_files_internal): Fix a typo in a comment.
2707 Remove an unused variable `handler'.
52283633 2708 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2709 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2710 on BSD4_2.
2711
52283633 2712 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2713
2714 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2715 and `buf'.
2716 (Fmarker_insertion_type): Remove unused variable `buf'.
2717
2718 * insdel.c (make_gap): Remove unused variable `result'.
2719
52283633 2720 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2721 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2722 (menu_bar_items): Remove unused function-scope variable `tem'.
2723
2724 * fontset.c (fontset_ref): Remove unused variable `i'.
2725 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2726 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2727 (make_fontset_for_ascii_face): Remove unused variable `name'.
2728 (fs_load_font): Remove unused variable `font_idx'.
52283633 2729 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2730 (list_fontsets): Remove unused variable `tail'.
2731 (Fnew_fontset): Remove unused variables `family' and `registry'.
2732 (accumulate_font_info): Remove unused variable `tmp'.
2733 (Ffontset_font): Remove unused variable `id'.
2734 (syms_of_fontset): Remove unused variable `i'.
2735
2736 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2737 to x_term_init.
2738 (lookup_image): Remove unused variable `file'.
2739 (xbm_load): Remove unused variables `bitmap_data', `height', and
2740 `width'. Remove function-local variable `i', leave the
2741 block-local one.
2742 (gif_load): Remove unused variable `inc'.
2743
52283633 2744 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2745 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2746 leave only the one in the inner block.
2747
2748 * xfaces.c (face_fontset, realize_default_face): Remove unused
2749 variable `fontset'.
2750 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2751
2752 * term.c (encode_terminal_code): Remove unused variable `c'.
2753
2754 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2755 char *' instead of `char *'.
2756
2757 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2758 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2759 (Fchar_category_set): Remove unused variables `val', `charset',
2760 `c1' and `c2'.
2761
52283633
SM
2762 * coding.c (detect_coding_iso2022, setup_coding_system):
2763 Remove unused variable `i'.
315f5865
EZ
2764 (detect_coding_mask): Remove unused variable `idx'.
2765 (detect_coding): Remove unused variable `i'.
2766 (ccl_coding_driver): Remove unused variable `result'.
2767 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2768 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2769 (encode_coding_string): Remove unused variables `gcpro1' and
2770 `saved_coding_symbol'.
2771 (Ffind_coding_systems_region_internal): Remove function-local
2772 variable args[], leave only the block-local one.
2773 (code_convert_region1): Remove unused variable `len'.
2774
2775 * charset.c (char_printable_p): Remove unused variable `chars'.
2776 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2777 (str_to_multibyte): Remove unused variable `c'.
2778
2779 * window.c (size_window): Remove block-local variable `min_size'.
2780
2781 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2782 `header_line_height'.
2783 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2784 enum display_element_type.
2785
1a8a9daf
GM
27862001-01-02 Gerd Moellmann <gerd@gnu.org>
2787
6dde6abc 2788 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2789 statements that call X. Save away the error message in a local copy.
2790
1883b2c6
GM
2791 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2792 the start.
2793
a13be207
GM
2794 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2795 in or at the start of invisible text.
2796
1a8a9daf
GM
2797 * dispnew.c (update_window): Don't check_current_matrix_flags.
2798
3608c0f9
JR
27992001-01-01 Jason Rumney <jasonr@gnu.org>
2800
2801 * w32fns.c (x_figure_window_size): Do not allow new_height and
2802 new_width of frame to override specified values.
2803
abb1acc4
KH
28042000-12-30 Kenichi Handa <handa@etl.go.jp>
2805
52283633 2806 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2807
762a68ec
GM
28082000-12-29 Gerd Moellmann <gerd@gnu.org>
2809
52283633 2810 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2811 (update_window) [GLYPH_DEBUG]: Call it.
2812 (scrolling_window): Prevent including current rows which are below
2813 what's displayed in the window.
2814
2815 * xdisp.c (try_window_reusing_current_matrix)
2816 <new start <= old start>: Disable rows in the current matrix
2817 which are below the window after scrolling.
52283633 2818
762a68ec
GM
2819 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2820 is zero. It's not worth the complexity.
2821 (invisible_text_between_p): Put in #if 0 because unused.
2822
2d5912c1
GM
28232000-12-28 Gerd Moellmann <gerd@gnu.org>
2824
46f6a258
GM
2825 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2826 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2827
89f93679
GM
2828 * keyboard.c (echo_char): If C is an integer, always call
2829 push_key_description. Former code could signal an invalid
2830 character error.
2831
2832 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2833 If set, print multibyte text.
2834 (Fsingle_key_description): Call push_key_description with
2835 FORCE_MULTIBYTE set.
2836 (describe_buffer_bindings): Likewise.
2837
2838 * lisp.h (push_key_description): Add prototype.
2839
c06017fb
GM
2840 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2841 around the call to redisplay_internal.
2842
f1d2ce7f
GM
2843 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2844
2d5912c1
GM
2845 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2846
9371f831
KH
28472000-12-28 Kenichi Handa <handa@etl.go.jp>
2848
2849 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2850 (ccl_driver): New local variable `extra_bytes'.
2851
2852 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2853
52283633
SM
2854 * coding.c (setup_coding_system):
2855 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2856 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2857
0c80628a
KH
28582000-12-28 Kenichi Handa <handa@etl.go.jp>
2859
2860 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2861 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2862 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2863 (decode_composition_emacs_mule): New function.
2864 (decode_coding_emacs_mule): Decode composition sequence by calling
2865 decode_composition_emacs_mule.
2866 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2867 (encode_coding_emacs_mule): Changed from macro to function.
2868 If a text contains compositions, encode them correctly.
0c80628a
KH
2869 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2870 that decoding and encoding are required.
2871
3e32cc27
GM
28722000-12-27 Gerd Moellmann <gerd@gnu.org>
2873
5e25feee
GM
2874 * xfaces.c (PT_PER_INCH): New macro.
2875 (xlfd_point_size): Compute real point size from font's pixel size.
2876 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2877 instead of 72.
2878
892d8fcd
GM
2879 * .gdbinit: Comment out the line pointing to the Lesstif source
2880 directory.
2881
12c8b416
GM
2882 * window.c (Frecenter): Use displayed_window_lines instead
2883 of window_internal_height.
2884
6061fbf0
GM
2885 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2886 instead of x-toolkit-scroll-bars-p.
2887 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2888
2889 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2890 instead of x-toolkit-scroll-bars-p.
2891 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2892
3e32cc27
GM
2893 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2894 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2895 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2896 New variables.
2897 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2898 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2899 (build_frame_matrix_from_leaf_window): Remove unused code.
2900 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2901 redisplay history.
2902 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2903 (update_window) [GLYPH_DEBUG]: Likewise.
2904 (syms_of_display): Defsubr dump-redisplay-history.
2905
31798cfe
GM
29062000-12-23 Gerd Moellmann <gerd@gnu.org>
2907
f717c2ba
GM
2908 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2909 the end of the prompt. Set echo_after_prompt to the offset
2910 of echoptr in echobuf.
2911
aeb2b8fc
GM
2912 * xdisp.c (init_from_display_pos): Pop until the iterator's
2913 stack is empty; there may be frames for stretch or images
2914 on the stack.
2915
31798cfe
GM
2916 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2917 (save_or_restore_current_matrix): New function for the same
2918 purpose, but more efficient.
2919 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2920
f8156156
EZ
29212000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2922
2923 * xdisp.c (syms_of_xdisp): Fix last change.
2924
bdd6d4e8
GM
29252000-12-23 Gerd Moellmann <gerd@gnu.org>
2926
2927 * xdisp.c (syms_of_xdisp): Doc fix.
2928
2929 * xdisp.c (redisplay_window): Remove label restore_buffers;
2930 use finish_scroll_bars instead to make sure that scroll bars
2931 are redeemed. If we don't do this, flickering can result from
2932 scroll bars being destroyed and recreated.
2933
9436cdf9
JR
29342000-12-22 Jason Rumney <jasonr@gnu.org>
2935
2936 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2937 in the wrong colors when the foreground is not black.
2938 (expose_window): Don't redraw the window that's currently being
2939 updated.
2940
951f9df5
GM
29412000-12-22 Gerd Moellmann <gerd@gnu.org>
2942
856ff7a7
GM
2943 * window.c (size_window): When setting the window's too_small_ok
2944 flag, compare old size with minimum size depending on WIDTH_P,
2945 don't compare with window_min_width.
52283633 2946
951f9df5
GM
2947 * window.c (delete_window): Simplify somewhat.
2948 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2949 freeing window matrices. The flag windows_or_buffers_changed is
2950 set, so the next redisplay will consider all windows; this should
2951 suffice.
2952
886bc933
KH
29532000-12-22 Kenichi Handa <handa@etl.go.jp>
2954
2955 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2956
2957 * ccl.h (struct ccl_program): New member cr_consumed.
2958
2959 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2960 (CCL_READ_CHAR): Handle EOL conversion here.
2961 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2962
177f4e88
GM
29632000-12-21 Gerd Moellmann <gerd@gnu.org>
2964
52283633 2965 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2966
2967 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2968 otherwise tabs of different size compare equal.
2969
2970 * callint.c (Fcall_interactively): Prevent a compiler warning.
2971
2972 * print.c (print_unwind): Return nil.
2973 (PRINTDECLARE): Initialize all local variables.
2974 (print_preprocess): Add a default case.
2975
8e15274f
GM
2976 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2977
2978 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2979
52283633 2980 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2981 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2982
2983 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2984
2985 * dispnew.c (ensure_frame_matrix): Removed.
2986 (save_frame_matrix, restore_frame_matrix): New functions.
2987 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2988
2989 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2990 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2991
99012074
AI
29922000-12-21 Andrew Innes <andrewi@gnu.org>
2993
2994 * w32term.c (x_update_begin): Regenerate the palette here, rather
2995 than for each window.
2996
2997 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2998 palette is NULL, since this corrupts memory! Also get
2999 display_info reference from frame.
3000
29ef7d2d
JR
30012000-12-21 Jason Rumney <jasonr@gnu.org>
3002
3003 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3004
3005 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3006 to avoid returning without releasing it.
3e27fa1f 3007
3f9d67a6
KH
30082000-12-21 Kenichi Handa <handa@etl.go.jp>
3009
587fc3f9
KH
3010 * keymap.c (push_key_description): Don't convert eight-bit-control
3011 and eight-bit-graphic to multibyte character.
3012
3f9d67a6
KH
3013 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3014 generic character and CODE1 is nil, return the smallest character
3015 in CHARSET.
3016
774ba8c9
DL
30172000-12-20 Dave Love <fx@gnu.org>
3018
3019 * s/osf5-0.h (NSIG): Don't redefine.
3020
88416888
SM
30212000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3022
3023 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3024 excluding menu-bar and tool-bar.
3025 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3026 (menu_item_p): Remove.
3027 (where_is_internal_1): Don't ignore menu-items.
3028
a6426c6f
GM
30292000-12-20 Gerd Moellmann <gerd@gnu.org>
3030
03ff8aab
GM
3031 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3032 into account.
3033
3034 * window.c (make_window): Initialize window's min_hscroll.
3035 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3036 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3037 to zero.
3038 (struct saved_window): New member min_hscroll.
3039 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3040 (Fset_window_configuration): Set window's min_hscroll.
3041 (save_window_save): Save window's min_hscroll.
3042 (compare_window_configurations): Compare min_hscroll values.
3043
3044 * window.h (struct window): New member min_hscroll.
3045
3046 * keyboard.c (echo_prompt): Prevent a compiler warning.
3047
8de4aaf8
GM
3048 * xdisp.c (try_cursor_movement): Fix last change. The real
3049 condition is that PT is at the end of the row, and should
3050 be displayed at the start of the next row.
52283633 3051
3f7e3031
GM
3052 * xdisp.c (try_cursor_movement): If we end on a partially
3053 visible line, end we already decided to scroll, return -1.
3054
a6426c6f
GM
3055 * dispextern.h (ensure_frame_matrix): Add prototype.
3056
3057 * window.c (delete_window, Fsplit_window)
3058 (Fset_window_configuration): Call ensure_frame_matrix.
3059
52283633
SM
3060 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3061 New functions.
a6426c6f
GM
3062 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3063 completed, call fake_current_matrices instead of marking frame
3064 garbaged.
3065
57fa2774
JR
30662000-12-20 Jason Rumney <jasonr@gnu.org>
3067
3068 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3069
d925df90
EZ
30702000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3071
3072 * fns.c (Frequire): Doc fix.
3073
7b93a85b
GM
30742000-12-19 Gerd Moellmann <gerd@gnu.org>
3075
52283633 3076 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3077
c74e645b
GM
3078 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3079 currently displaying a message.
3080
7b93a85b
GM
3081 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3082 xterm.h.
3083 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3084
90d97e64
AI
30852000-12-18 Andrew Innes <andrewi@gnu.org>
3086
3087 * w32.c (w32_strerror): New function.
3088
3089 * w32.h (w32_strerror): New extern.
3090
3091 * w32fns.c (Fw32_shell_execute): Use it.
3092
91c9e6ce
GM
30932000-12-18 Gerd Moellmann <gerd@gnu.org>
3094
3095 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3096
6f4745e2
EZ
30972000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3098
3099 * msdos.c (IT_set_face): Obey inverse_video.
3100
c9e088ce
KH
31012000-12-18 Kenichi Handa <handa@etl.go.jp>
3102
3103 * dired.c (directory_files_internal): Always return decoded filenames.
3104
c3695f5f
GM
31052000-12-18 Gerd Moellmann <gerd@gnu.org>
3106
52d8e4ff
GM
3107 * xterm.c (x_connection_closed): Prevent being called recursively
3108 because of an error condition in XtCloseDisplay.
52283633 3109
62be9979
GM
3110 * xdisp.c (init_iterator): If noninteractive, and the frame's
3111 face cache is null, make one.
3112
52283633 3113 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3114
c3695f5f
GM
3115 * process.c (wait_reading_process_input): Check for pending
3116 input when running timers.
3117
78555fbe
EZ
31182000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3119
52283633 3120 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3121
b2b36264
KH
31222000-12-18 Kenichi Handa <handa@etl.go.jp>
3123
3124 * process.c (read_process_output): Don't run a filter if the code
3125 decoder produces nothing but carryover.
3126
9c543fbf
AI
31272000-12-17 Andrew Innes <andrewi@gnu.org>
3128
3129 * w32.c (sys_rename): Only check errno against EEXIST, and not
3130 EACCES, when determining whether rename failed because the target
3131 exists. This was resulting in indefinite looping on Windows 9x if
3132 the source file was locked by another process.
3133
3134 * w32fns.c (Ffile_system_info): New function.
3135 (syms_of_w32fns): Defsubr it.
3136
10c2b5a8
GM
31372000-12-17 Gerd Moellmann <gerd@gnu.org>
3138
b0228ace
GM
3139 * window.c (coordinates_in_window): Fix computation for
3140 position on vertical line between mode lines.
3141
10c2b5a8
GM
3142 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3143 Don't alter tip_frame or tip_window.
3144 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3145 was deleted.
3146
c844a81a
GM
3147 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3148 Don't alter tip_frame or tip_window.
3149 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3150 was deleted.
3151
6c825f8e
EZ
31522000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3153
3154 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3155 be consistent with the doc string. Reported by NAKAJIMA Mikio
3156 <minakaji@osaka.email.ne.jp>.
3157
af4bb4c8
KH
31582000-12-16 Kenichi Handa <handa@etl.go.jp>
3159
3160 * xfaces.c (Vface_ignored_fonts): New variable.
3161 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3162 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3163
8062e53a
GM
31642000-12-15 Gerd Moellmann <gerd@gnu.org>
3165
e87b8809
GM
3166 * dispnew.c (update_window): Detect pending input every nth line
3167 updated, i.e. do it depending on real work done, and not on the
3168 vpos of the line.
3169
3170 * xterm.c (expose_window): Don't redraw the window that's
3171 currently being updated.
3172
a6768cc5
GM
3173 * window.c (Fset_window_point): Remove test for
3174 cursor_in_non_selected_windows.
3175
4ea7fdca
GM
3176 * lread.c (read1): Recognize end of file after `\\'.
3177
8062e53a
GM
3178 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3179 not unwind_create_frame.
3180
bb7959c1
GM
31812000-12-15 Dave Love <fx@gnu.org>
3182
3183 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3184 bcopy & al.
3185
3186 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3187
ced04c42
KH
31882000-12-15 Kenichi Handa <handa@etl.go.jp>
3189
c5443913
KH
3190 * coding.c (setup_coding_system): Clear all members of the struct
3191 coding_system at first.
bc137305
KH
3192 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3193 argument.
3194 (code_convert_region): Don't override coding->src_multibyte and
3195 coding->dst_multibyte.
c5443913 3196
ced04c42
KH
3197 * fns.c (Fmd5): Docstring improved.
3198
c2d7f289
MB
31992000-12-15 Miles Bader <miles@gnu.org>
3200
3201 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3202 are actually marked as mode-lines; otherwise use
3203 estimate_mode_line_height.
3204
9d7d9263
GM
32052000-12-14 Gerd Moellmann <gerd@gnu.org>
3206
3207 * editfns.c (Fformat): Prevent a buffer overrun when the format
3208 specifies a precision.
3209
7cf0153a
EZ
32102000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3211
3212 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3213 argument is outside the range [2..3].
3214
1de0f662
AI
32152000-12-14 Andrew Innes <andrewi@gnu.org>
3216
3217 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3218 nothing to do. Bind inhibit-quit.
3219 (tip_frame): Make it a Lisp_Object.
3220 (x_create_tip_frame): Set tip_frame after it has been added to
3221 Vframe_list.
3222 (Fx_show_tip): Don't set tip_frame here.
52283633 3223 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3224 (unwind_create_frame, unwind_create_tip_frame): New functions.
3225 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3226 while a frame is only partially constructed.
3227
3228 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3229 (x_free_frame_resources): New function.
3230 (x_destroy_window): Use it.
3231
02387dcc
GM
32322000-12-14 Gerd Moellmann <gerd@gnu.org>
3233
3234 * xfns.c (Fx_backspace_delete_keys_p): New function.
3235 (syms_of_xfns): Defsubr it.
3236
3237 * config.in (HAVE_XKBGETKEYBOARD): Add.
3238
0544ef49
KH
32392000-12-14 Kenichi Handa <handa@etl.go.jp>
3240
98d62747
KH
3241 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3242 Always store string in multibyte representation in echobuf.
3243 (echo_char): Always store string in multibyte representation in
3244 echobuf.
3245 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3246 (read_key_sequence): Adjusted for the change of echo_prompt.
3247
a20193cd
KH
3248 * fns.c (Fmd5): Docstring improved.
3249
191b83b6
KH
3250 * lisp.h (detect_coding_system): Prototype adjusted.
3251
0544ef49
KH
3252 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3253 (detect_coding_emacs_mule, detect_coding_iso2022,)
3254 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3255 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3256 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3257 (detect_coding_mask, detect_coding_system): New argument
3258 MULTIBYTEP. Callers changed.
1da1bb05
KH
3259 (decode_coding_string): Set coding->src_multibyte and
3260 coding->dst_multibyte before calling detect_coding and detect_eol.
3261 Update them after some coding system is detected.
52283633 3262
d5b3eb1b
SM
32632000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3264
3265 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3266
3267 * keyboard.c (menu_bar_items, tool_bar_items):
3268 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3269
f7f8bb69
GM
32702000-12-13 Gerd Moellmann <gerd@gnu.org>
3271
52283633 3272 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3273 New variables.
3274 (unwind_create_frame, unwind_create_tip_frame): New functions.
3275 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3276 while a frame is only partially constructed.
3277
3278 * xterm.h (x_free_frame_resources): Declare.
3279
3280 * xterm.c (x_free_frame_resources): New function.
3281 (x_destroy_window): Use it.
3282
e10da507
GM
3283 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3284 don't interrupt the update for pending input initially, i.e.
3285 update at least some lines.
3286
3287 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3288
d5b3eb1b 3289 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3290
3291 * xfns.c (gray_bitmap_bits): Declare `char *'.
3292
90aa2856
GM
32932000-12-12 Gerd Moellmann <gerd@gnu.org>
3294
3295 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3296 lines start with a relief line.
3297
a308c9cd
DL
32982000-12-12 Dave Love <fx@gnu.org>
3299
3300 * window.c (Fdisplay_buffer): Doc fix.
3301 (Fwindow_list): Remove unused var.
3302
3303 * buffer.h (mmap_set_vars): Declare.
3304
3305 * window.h (Fset_window_point): Declare.
3306
d575011f
EZ
33072000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3308
bf6282d2 3309 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3310 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3311 variable `area'. When looking for a row under (X,Y), give up if some
3312 of the previous rows is not enabled.
d575011f 3313
ecf4d726
GM
33142000-12-12 Gerd Moellmann <gerd@gnu.org>
3315
2ebf6139
GM
3316 * window.c (Fset_window_point): If displaying cursors in windows
3317 other than the selected window, make sure redisplay updates
3318 other windows to show the new value of point in the window.
3319
3320 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3321
bfdb75ee
GM
3322 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3323 the buffer is the sole visible buffer when in the mini-buffer.
3324
52283633 3325 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3326 Bind `inhibit-read-only' to t.
3327 (unwind_with_echo_area_buffer): Use AREF.
3328
c0006262
GM
3329 * xfns.c (Fx_hide_tip): Simplified.
3330
52283633
SM
3331 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3332 instead of `1'.
e9a59cad 3333
ecf4d726
GM
3334 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3335
e5959a9a
GM
33362000-12-11 Gerd Moellmann <gerd@gnu.org>
3337
a3642e49 3338 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3339
44b5a125
GM
3340 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3341 nothing to do. Bind inhibit-quit.
3342 (tip_frame): Make it a Lisp_Object.
3343 (x_create_tip_frame): Set tip_frame after it has been added to
3344 Vframe_list.
3345 (Fx_show_tip): Don't set tip_frame here.
3346
3347 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3348
3349 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3350 Lisp_Object.
3351
3352 * dispextern.h: Change external declaration of tip_frame.
3353
d990421f
GM
3354 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3355 return an empty string.
3356
4db87380
GM
3357 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3358 of the window's update_mode_line flag, since the former is set by
3359 force-mode-line-update, not the latter. This makes
3360 column-number-mode slightly faster.
52283633 3361
e5959a9a
GM
3362 * xdisp.c (try_window_id) <all changes above window start>:
3363 Set the cursor.
3364
169fe44e
GM
33652000-12-11 Paul Eggert <eggert@twinsun.com>
3366
3367 * config.in (HAVE_FTELLO): Remove.
3368 (HAVE_FSEEKO): Add.
3369 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3370 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3371 HAVE_FTELLO.
3372 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3373 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3374
59ec59ae
MB
33752000-12-11 Miles Bader <miles@gnu.org>
3376
3377 * window.c (displayed_window_lines): Don't round up when
3378 converting empty space at bottom to lines.
ff904dd6
MB
3379 Handle non-newline-terminated final lines properly.
3380 (Fwindow_text_height): New function (used to be in lisp).
3381 (syms_of_window): Initialize it.
59ec59ae 3382
42ebfa31
SM
33832000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3384
3385 * syntax.c (scan_lists): Check that the right quote char has the
3386 right Sstring syntax when jumping over strings.
3387 (init_syntax_once): Use Smax rather than 13.
3388
5cdb3cf3
MB
33892000-12-09 Miles Bader <miles@gnu.org>
3390
3391 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3392 with PARTIALLY, inverting the sense.
3393 (window_scroll_pixel_based): Scroll partially visible lines into
3394 place if we hit the beginning or end of the buffer.
a12167c5
MB
3395 (displayed_window_lines): Don't include partially visible lines.
3396 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3397
842b2a94
GM
33982000-12-08 Gerd Moellmann <gerd@gnu.org>
3399
3400 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3401
3402 * tparam.c (tparam1): Change the way buffers are reallocated to be
3403 portable and less obfuscated.
3404
3405 * termcap.c (tgetent): Change the way buffers are reallocated to
3406 be portable and less obfuscated.
3407
3408 * macros.c (store_kbd_macro_char): Change the way buffers are
3409 reallocated to be portable and less obfuscated.
3410
3411 * lread.c (read1): Change the way buffers are reallocated to be
3412 portable and less obfuscated.
3413
3414 * doc.c (Fsubstitute_command_keys): Change the way buffers
3415 are reallocated so that it is portable.
3416
137cad7c
EZ
34172000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3418
3419 * dosfns.c (Ffile_system_info): New function.
3420 (syms_of_dosfns): Defsubr it.
3421
5c7f629c
SM
34222000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3423
3424 * alloc.c (gc_sweep): Add comment.
3425
959e647d
GM
34262000-12-07 Gerd Moellmann <gerd@gnu.org>
3427
52283633
SM
3428 * sound.c (vox_configure): Change order of ioctls.
3429 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3430 Ignore errors when changing volume.
3431 (vox_close): Don't reset the device.
3432
926b7e5e
GM
3433 * process.c (read_process_output): Make sure the process marker's
3434 position is valid when the process buffer is changed in
3435 after-change functions. W3 does that.
52283633 3436
959e647d
GM
3437 * xfns.c (x_free_gcs): New function.
3438
3439 * xterm.h (x_free_gcs): Add prototype.
3440
3441 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3442 freeing GCs here.
3443
3444 * xterm.c (x_destroy_window): Call x_free_gcs so that
3445 resources of non-toolkit X windows will be freed.
3446
478ea067
AI
34472000-12-07 Andrew Innes <andrewi@gnu.org>
3448
3449 * w32fns.c (xlfd_charset_of_font): Fix last change.
3450
fbee3231
DL
34512000-12-06 Dave Love <fx@gnu.org>
3452
67292061
DL
3453 * md5.h (__P): Don't define -- it comes from config.h.
3454
fbee3231
DL
3455 * strftime.c: Change some #if foo to #ifdef foo.
3456
4ee87dbb
AI
34572000-12-06 Andrew Innes <andrewi@gnu.org>
3458
3459 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3460
52283633 3461 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3462 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3463 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3464
9765b4a4
GM
34652000-12-06 Gerd Moellmann <gerd@gnu.org>
3466
d285b373
GM
3467 * alloc.c (gc_sweep): Prevent symbols read during loadup
3468 from being freed.
3469
384333ee
GM
3470 * xdisp.c (underlying_face_id): New function.
3471 (handle_face_prop, face_before_or_after_it_pos): Use it
3472 to determine the face ``under'' a string. Let strings inherit
3473 the face of the buffer under them.
3474
3475 * xfaces.c (face_at_string_position): Update function comment.
52283633 3476
d4b72d58
GM
3477 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3478 matrix if the window's left position has changed; we need to
3479 redraw it in this case.
3480
3481 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3482
e1d05387
GM
3483 * window.c (coordinates_in_window): Check mouse on mode-line or
3484 header-line first.
3485
eb1b0c74
GM
3486 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3487 advertized by the function documentation.
3488
d94d636f
GM
3489 * window.c (syms_of_window): Doc fix.
3490
3887b449
GM
3491 * sound.c (vox_configure): Set volume for left and right channel.
3492 (sound_cleanup): Return nil.
3493
efc8f57a
GM
3494 * xdisp.c (move_it_by_lines): Fix paren typo.
3495
9765b4a4
GM
3496 * xterm.c (x_load_font): Don't use the font's max_bounds for
3497 computing the height of the font. If max_bounds' ascent or
3498 descent are greater than the font's ascent or descent, this means
3499 glyphs overlap, which should be handled now by redisplay.
3500
6529ed87
GM
3501 * window.c (Veven_window_heights): New variable.
3502 (syms_of_window): DEFVAR_LISP it.
3503 (Fdisplay_buffer): Check Veven_window_heights before evening the
3504 window heights.
52283633 3505
0eb2ecde
MB
35062000-12-06 Miles Bader <miles@gnu.org>
3507
3508 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3509 update `default-frame-alist' instead of setting no frame parameters.
3510
03d7a167
KH
35112000-12-06 Kenichi Handa <handa@etl.go.jp>
3512
3513 * composite.c (update_compositions): Fix typo (use the correct
3514 variable).
3515
5f8803c2
JR
35162000-12-05 Jason Rumney <jasonr@gnu.org>
3517
3518 * md5.h: Remove underscores from function declarations.
3519 (__attribute__, __alignof__) [!__GNUC__]: Define.
3520
3521 * md5.c: Delay include of md5.h until after namespace cleaning.
3522
c28a075b
JR
3523 * makefile.w32-in (fns.o): Depend on md5.h
3524 (md5.o): New target.
3525 (sunfns.o): Remove.
3526
3527 * makefile.nt: Likewise.
3528
ff3c7056
JR
35292000-12-05 Jason Rumney <jasonr@altavista.net>
3530
3531 * w32term.c (expose_area): Complete last change.
3532
0c21eeeb
KR
35332000-12-05 Ken Raeburn <raeburn@gnu.org>
3534
3535 * minibuf.c: Include intervals.h.
3536
f201d732
JR
35372000-12-05 Jason Rumney <jasonr@gnu.org>
3538
3539 * w32term.c (x_produce_glyphs): If a font for a component of
3540 a composition is not found, use 1 pixel dot ascent and 0 dot
3541 descent value to avoid displaying terribly tall empty boxes.
3542 (expose_area): Pass x-coordinate relative to the exposed
3543 area to x_draw_glyphs instead of a window-relative coordinate.
3544
21999ab9
GM
35452000-12-05 Gerd Moellmann <gerd@gnu.org>
3546
4d2036e4
GM
3547 * xdisp.c (next_element_from_ellipsis): Save face before selective
3548 display in saved_face_id, and set face_before_selective_p.
3549 (reseat_1): Reset face_before_selective_p.
3550 (append_space, extend_face_to_end_of_line): If iterator's
3551 face_before_selective_p is set, use the face from saved_face_id.
3552 (extend_face_to_end_of_line): For tty frames, make sure to
3553 use the right face id when producing spaces at the end of
3554 the line.
3555
3556 * dispextern.h (struct it): Add face_before_selective_p.
3557
52be17cc
GM
3558 * keyboard.c (record_char): Don't record identical help-echo
3559 events in recent_keys.
3560
8a4f36cc
GM
3561 * xterm.c [USE_X_TOOLKIT]: Close the display.
3562 (xim_close_dpy): Handle case that the display has been closed.
3563
57d6e381
GM
3564 * xterm.c (x_destroy_window): Reset the frame's X window after
3565 destroying it.
3566
21999ab9
GM
3567 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3568 variable window_width.
3569 (line_draw_cost): Fix code skipping over spaces at the end of the
3570 line when must_write_spaces is not set.
3571 (scrolling_window): Fix code inserting runs in list of all runs.
3572
91372bb7
KH
35732000-12-05 Kenichi Handa <handa@etl.go.jp>
3574
3575 * coding.c (setup_coding_system): Be sure to initialize
3576 coding->category_idx.
3577
6c083b4c
GM
35782000-12-04 Gerd Moellmann <gerd@gnu.org>
3579
0c68ce6f 3580 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3581
6452929e
GM
3582 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3583 area to x_draw_glyphs instead of a window-relative coordinate.
3584
d7f31e22
GM
3585 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3586 error in the message.
3587
ae18aa3b
GM
3588 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3589 timer after having read a key. It's not good for code reading
3590 several keys in a loop, like an input method.
3591
caa15ef7
GM
3592 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3593 record undo information for format-decode.
3594
3595 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3596 current buffer is read-only, not if it isn't.
3597
6c083b4c
GM
3598 * keyboard.c (record_char): Record `help-echo' input events
3599 in recent_keys only if they display some help. Don't record
3600 `help-echo' events as macro char.
3601
caa15ef7
GM
36022000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3603
3604 * editfns.c (save_excursion_restore): Don't move point
3605 in another window if it is showing the wrong buffer.
3606 Avoid the call to Fwindow_live_p, for speed.
3607
5a13529b
KH
36082000-12-04 Kenichi Handa <handa@etl.go.jp>
3609
e225faa7
KH
3610 * xfaces.c (struct font_name): New member registry_priority.
3611 (split_font_name): Initialize the above member to zero.
3612 (concat_font_list): New function.
3613 (font_list): Include fonts of all alternative registries.
3614 (FONT_POINT_SIZE_QUANTUM): New macro.
3615 (better_font_p): Ignore point size difference less than
3616 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3617
e89648b4
KH
3618 * xterm.c (x_produce_glyphs): If a font for a component of
3619 a composition is not found, use 1 pixel dot ascent and 0 dot
3620 descent value to avoid displaying terribly tall empty boxes.
3621
5a13529b
KH
3622 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3623
d7935eb6
KR
36242000-12-03 Ken Raeburn <raeburn@gnu.org>
3625
3626 * coding.h (code_convert_string1): Declare.
3627
3628 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3629
52283633 3630 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3631
0dd5e255
JR
36322000-12-02 Jason Rumney <jasonr@gnu.org>
3633
3634 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3635 correctly for single byte character case.
3636 (w32_per_char_metric): Do not try to make any assumptions about
3637 the metrics of BDF fonts.
250cfece 3638 (x_estimate_mode_line_height): If `mode-line' face
52283633 3639 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3640 (note_mouse_highlight): Change the cursor shape on the vertical
3641 border between windows [not enabled].
3642
3643 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3644
3645 * w32fns.c (Fx_create_frame): Reintroduce the call to
3646 face-set-after-frame-defaults.
3647 (Vx_window_horizontal_drag_shape): New variable.
3648 (syms_of_xfns): DEFVAR_LISP it.
3649 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3650 enabled].
0dd5e255 3651
b5d8d2ca
GM
36522000-12-02 Simon Josefsson <simon@josefsson.org>
3653
3654 * fns.c (Fmd5): Use a different logic to decide the coding system
3655 to use.
3656
3657 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3658
fbb87147
EZ
36592000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3660
52283633 3661 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3662
447e9da0
GM
36632000-12-01 Gerd Moellmann <gerd@gnu.org>
3664
7708ced0
GM
3665 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3666 height for YNegative.
3667 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3668 height; also see comment there.
3669
447e9da0
GM
3670 * window.c (coordinates_in_window): Handle computations for
3671 positions on the vertical bar and fringes differently for
3672 window-system frames. Consider some pixels near the vertical bar
3673 as on the bar if the frame doesn't have vertical scroll bars.
3674 Associate positions between mode or header lines with the
3675 right window, the left one.
3676
86d1db20
JR
36772000-12-01 Jason Rumney <jasonr@gnu.org>
3678
3679 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3680
3681 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3682 invalid frame.
3683
a1d58e5b
GM
36842000-12-01 Gerd Moellmann <gerd@gnu.org>
3685
52283633 3686 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3687 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3688 (save_window_save, Fset_window_configuration): Save/restore
3689 window's orig_top and orig_height.
3690
89c609af
JR
36912000-12-01 Jason Rumney <jasonr@gnu.org>
3692
4d177746 3693 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3694
89c609af
JR
3695 * w32fns.c (x_set_cursor_color): Fix last change.
3696
eccc05db
GM
36972000-11-30 Gerd Moellmann <gerd@gnu.org>
3698
31b6671b
GM
3699 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3700 sure that the next redisplay displays the minibuffer, so that
3701 the cursor will be replaced with what the minibuffer wants.
3702
eccc05db
GM
3703 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3704 #ifndef instead of using #if.
3705 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3706 USE_TOOLKIT_SCROLL_BARS is defined.
3707
162de750
JR
37082000-11-30 Jason Rumney <jasonr@gnu.org>
3709
3710 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3711 x_display_cursor.
3712
693c4692
GM
37132000-11-30 Gerd Moellmann <gerd@gnu.org>
3714
3715 * fns.c (Fmd5): Doc fix.
3716
b5d8d2ca 37172000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3718
3719 * fns.c (Fmd5): New function.
3720 (syms_of_fns): Defsubr md5.
3721
3722 * Makefile.in (obj): Add md5.o
3723
b02cd40b
GM
37242000-11-30 Gerd Moellmann <gerd@gnu.org>
3725
edfb795e
GM
3726 * md5.h, md5.c: New files, taken from glibc.
3727
df3aedcf
GM
3728 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3729
b02cd40b 3730 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3731 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3732
8b5176cd
SM
37332000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3734
3735 * eval.c (Frun_hooks): Allow 0 arguments.
3736
346598f1
GM
37372000-11-29 Gerd Moellmann <gerd@gnu.org>
3738
f9396e03
GM
3739 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3740 is over the menu bar widget, say it's not on the frame.
3741
4a967a9b
GM
3742 * xfns.c (Fx_create_frame): Reintroduce the call to
3743 face-set-after-frame-defaults.
3744
346598f1
GM
3745 * eval.c (Fsignal): Reset handling_signal.
3746
222456a1
JR
37472000-11-28 Jason Rumney <jasonr@gnu.org>
3748
3749 * w32menu.c (add_menu_item): Reset menu item text when changing
3750 type to radio button.
3751
8049ddc0
GM
37522000-11-28 Gerd Moellmann <gerd@gnu.org>
3753
346598f1 3754 * xselect.c: Update copyright.
f4f4ee4d 3755
bebe4a2c
GM
3756 * window.c (coordinates_in_window): If on a mode or header line,
3757 but sufficiently close to its start, return ``on vertical
3758 border''. This gives us a way to drag windows horizontally when
3759 using toolkit scroll bars.
3760
3761 * xterm.c (note_mouse_highlight): Change the cursor shape
3762 on the vertical border between windows.
3763
3764 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3765
3766 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3767 (syms_of_xfns): DEFVAR_LISP it.
3768 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3769
8d2c2642
GM
3770 * textprop.c (text_read_only): New function.
3771 (verify_interval_modification): Use it instead of signaling
3772 `text-read-only'. This makes it easier to catch this error
52283633 3773 with a breakpoint.:
8d2c2642 3774
52283633 3775 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3776 not end of line, which includes CR.
3777
5a2bae6c
KH
37782000-11-28 Kenichi Handa <handa@etl.go.jp>
3779
3780 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3781 include no-conversion.
3782
ae31f84d
JR
37832000-11-27 Jason Rumney <jasonr@gnu.org>
3784
3785 * w32fns.c (w32_load_system_font): Always mark font as double byte
3786 if codepage is unicode.
3787
67f1cf4c
GM
37882000-11-27 Gerd Moellmann <gerd@gnu.org>
3789
4a74d071 3790 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3791 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3792
902ae620
GM
3793 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3794 `vertical-line', `mode-line' and `header-line' events.
3795
3796 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3797 of a character, a TAB for instance. This is easier than to set
3798 up the iterator exactly, and it's not a frequent case, so the
3799 additional effort wouldn't really pay off.
3800
c1e279c2
AC
38012000-11-26 Andrew Choi <akochoi@i-cable.com>
3802
67f1cf4c 3803 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3804 init_window_once.
3805
a609568a
JR
38062000-11-25 Jason Rumney <jasonr@gnu.org>
3807
52283633
SM
3808 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3809 Args to window_from_coordinates should be pixel coordinates.
48b21762 3810
a609568a
JR
3811 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3812 redisplay handles them properly.
3813
a658d039
MB
38142000-11-25 Miles Bader <miles@gnu.org>
3815
3816 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3817
d3416cca
JR
38182000-11-24 Jason Rumney <jasonr@gnu.org>
3819
3820 * w32.c (init_environment): Set LANG environment variable based on
3821 locale settings, if not set.
3822
3823 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3824 making tool bar smaller. When clearing the frame, also
3825 clear current matrices. Clear frame when tool bar disappears.
3826 Don't use more lines for the tool-bar than is available.
3827 (x_change_window_heights): New function.
3828
ba193890
GM
38292000-11-24 Gerd Moellmann <gerd@gnu.org>
3830
2be8f184
GM
3831 * xdisp.c (init_from_display_pos): If POS says we're already after
3832 an overlay string ending at POS, make sure to pop the iterator
3833 because it will be in front of that overlay string. When POS is
3834 ZV, we've thereby also ``processed'' overlay strings at ZV.
3835
ba193890
GM
3836 * xfaces.c (lface_from_face_name): Function comment fix.
3837
1862a24e
MB
38382000-11-24 Miles Bader <miles@gnu.org>
3839
3840 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3841 apply `mode-line-inverse-video' -- zero means force display using
3842 the default face, non-zero means display using the specialized face.
3843 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3844
f07fa1b8
KH
38452000-11-23 Kenichi Handa <handa@etl.go.jp>
3846
3847 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3848 hard coded `4'.
3849
2bcdf662
EZ
38502000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3851
3852 * coding.c (decode_coding_emacs_mule): Fix the case of
3853 CODING_EOL_LF, which used uninitialized value of c.
3854
ba8299ff
SM
38552000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3856
3857 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3858
f4117c4d
GM
38592000-11-22 Gerd Moellmann <gerd@gnu.org>
3860
03e757c1
GM
3861 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3862 buffer object.
3863
f4117c4d
GM
3864 * frame.h (struct frame): Replace desired_tool_bar_items,
3865 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3866 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3867
3868 * frame.c (make_frame): Change initialization of tool bar
3869 items accordingly.
3870
3871 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3872 Change references to members deleted from struct frame to use the
f4117c4d
GM
3873 new ones.
3874
3875 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3876 references to members deleted from struct frame to use the new ones.
f4117c4d 3877
52283633 3878 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3879
3880 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3881
3882 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3883 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3884 from struct frame to use the new ones.
3885
f8e2f3f2
MB
38862000-11-23 Miles Bader <miles@gnu.org>
3887
3888 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3889 the face's inverse-video attribute, rather than overriding it.
3890
60e8e0a5
GM
38912000-11-22 Gerd Moellmann <gerd@gnu.org>
3892
3893 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3894 making tool bar smaller.
3895
92dd1b29
DL
38962000-11-22 Dave Love <fx@gnu.org>
3897
3898 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3899
e672fdce
MB
39002000-11-22 Miles Bader <miles@gnu.org>
3901
3a17d6cc
MB
3902 * keyboard.c (Vminibuffer_message_timeout): New variable.
3903 (command_loop_1): Use it to determine message timeout.
3904 (syms_of_keyboard): Initialize it.
3905
60e8e0a5 3906 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3907
e9655d81
KH
39082000-11-22 Kenichi Handa <handa@etl.go.jp>
3909
3910 * sysdep.c: Move the code for declaring h_errno after #include
3911 <netdb.h>.
3912
77270fac
GM
39132000-11-21 Gerd Moellmann <gerd@gnu.org>
3914
cd913aae
GM
3915 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3916 the menu bar when the tooltip is unmapped.
3917
77270fac
GM
3918 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3919 sole visible buffer when we're currently in the mini-buffer, and
3920 give up if so.
52283633 3921
556635d6
JR
39222000-11-21 Jason Rumney <jasonr@gnu.org>
3923
3924 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3925 put on the clipboard.
3926 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3927 copy of what Emacs last put there. If they are the same, do not
52283633 3928 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3929
5b7bde64
MB
39302000-11-22 Miles Bader <miles@gnu.org>
3931
3932 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3933 (syms_of_minibuf): Initialize it.
3934 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3935 to prompt, don't make read-only.
3936
ff23e1dd
GM
39372000-11-21 Gerd Moellmann <gerd@gnu.org>
3938
52283633
SM
3939 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3940 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3941
7aaf4388
GM
3942 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3943
f5f47add 3944 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3945
ff23e1dd
GM
3946 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3947
37c35586
KH
39482000-11-21 Kenichi Handa <handa@etl.go.jp>
3949
3950 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3951 ... #endif scope.
3952
ff9ab414
GM
39532000-11-20 Gerd Moellmann <gerd@gnu.org>
3954
52283633 3955 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3956 screen supports it.
3957
29a01b72
GM
3958 * s/gnu-linux.h: Don't use `#cpu'.
3959
09dfdf85
GM
3960 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3961 not defined in mman.h.
3962
52283633 3963 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3964 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3965 and store an index in the XClientMessageEvent. Storing a
3966 Lisp_Object or pointer can fail on a 64 bit system, since X only
3967 transfers 32 bits.
52283633
SM
3968 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3969
81459ac9
DL
39702000-11-20 Dave Love <fx@gnu.org>
3971
3972 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3973
56c13ae6
GM
39742000-11-20 Gerd Moellmann <gerd@gnu.org>
3975
3976 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3977
495a6df3
KH
39782000-11-20 Kenichi Handa <handa@etl.go.jp>
3979
2bcf3714
KH
3980 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3981 by WIDTH.
3982
495a6df3
KH
3983 * alloc.c (make_string): Fix previous change. Be sure to make
3984 unibyte string correctly.
3985
6d950f4c
GM
39862000-11-19 Gerd Moellmann <gerd@gnu.org>
3987
39b39373
GM
3988 * window.c (Fwindow_list): Change parameter list to be XEmacs
3989 compatible.
3990 (window_list_1): New function.
3991 (window_loop): Use it instead of Fwindow_list.
3992
b95b34e5
GM
3993 * sysdep.c (emacs_ospeed): New variable.
3994 (toplevel): Don't declare ospeed extern.
3995 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3996
3997 * termcap.c (ospeed): Remove.
3998 (tputs) [!emacs]: Remove unused code.
3999 (tgetent): Avoid a compiler warning.
4000
e83dc917
GM
4001 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4002 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4003 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4004
4005 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4006 removed.
4007 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4008 Take the X display as additional argument.
4009 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4010 `Widget' is a pointer type that's not easily stored in Lisp_Object
4011 form in a portable way.
52283633 4012
6d950f4c
GM
4013 * dispnew.c (update_text_area): Fix last change.
4014
e47306e6
GM
40152000-11-18 Gerd Moellmann <gerd@gnu.org>
4016
fb3cd89b
GM
4017 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4018
4019 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4020 clear current matrices.
4021
edaa9aed
GM
4022 * buffer.c (mmap_enlarge): Don't print a message on stderr
4023 if mapping new memory at the end of the existing region fails.
4024
e47306e6
GM
4025 * dispnew.c (update_text_area): Don't skip over equal glyphs
4026 when the last current glyph overlaps the glyph to its right.
4027
509633e3
MB
40282000-11-18 Miles Bader <miles@gnu.org>
4029
4030 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4031 lines that *end* with "..." too (that's the most common case!).
4032
d392e9c5
GM
40332000-11-18 Gerd Moellmann <gerd@gnu.org>
4034
67988445
GM
4035 * xdisp.c (resize_mini_window): Temporarily change to the
4036 mini-window's buffer if necessary.
1bfdbe43 4037
d392e9c5
GM
4038 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4039 the tooltip obscures less text under it.
4040
40412000-11-17 Gerd Moellmann <gerd@gnu.org>
4042
4043 * puresize.h (BASE_PURESIZE): Increase to 700000.
4044
92bb977f
JR
40452000-11-18 Jason Rumney <jasonr@gnu.org>
4046
4047 * w32term.c (w32_draw_bitmap): Use face to set colors.
4048
26fbf20b
DL
40492000-11-17 Dave Love <fx@gnu.org>
4050
4051 * lread.c (Fload): Fix #ifdef for pcc.
4052
100b593b
GM
40532000-11-17 Gerd Moellmann <gerd@gnu.org>
4054
4055 * xdisp.c (pos_visible_p): Compute the default character height
4056 differently.
4057
a288d0d1
GM
40582000-11-16 Gerd Moellmann <gerd@gnu.org>
4059
cac94de6 4060 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4061 knowing the line's height; use the default font's height in that case.
cac94de6 4062
a288d0d1
GM
4063 * xfaces.c (weight_table): Add `demi' with the same meaning as
4064 `demibold'.
4065
981fb6f6
KH
40662000-11-16 Kenichi Handa <handa@etl.go.jp>
4067
2cca872d 4068 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4069 (clear_glyph_row): Delete local static variable null_row.
4070
e5fa381b
JR
40712000-11-15 Jason Rumney <jasonr@gnu.org>
4072
4073 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4074 (w32_alloc_lighter_color): Use new brightness calculations from
4075 xterm.c. Scale delta to be in the range expected by W32.
4076 (w32_draw_relief_rect): Use frame relief colors.
4077
8e42f043
GM
40782000-11-15 Gerd Moellmann <gerd@gnu.org>
4079
6d133d1f
GM
4080 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4081 (Qinhibit_default_face_x_resources): New variable.
4082 (syms_of_frame): Initialize it.
4083 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4084
4085 * xdisp.c (pos_visible_p): Improve function comment.
4086
4087 * lisp.h (BINDING_STACK_SIZE): New macro.
4088
8e42f043
GM
4089 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4090 reading the directory if readdir returns null and errno is EAGAIN
4091 or EINTR.
4092
e8c87124
SM
40932000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4094
4095 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4096 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4097 Set amount_to_scroll to max of dx and scroll_step so that
4098 scroll-conservatively doesn't defeat scroll-step>1.
4099 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4100 scroll-conservatively for line-at-a-time scrolling.
4101
5f0c971d
GM
41022000-11-14 Gerd Moellmann <gerd@gnu.org>
4103
4104 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4105 extra argument.
4106
4107 * xdisp.c (current_mode_line_height, current_header_line_height):
4108 New variables.
4109 (init_xdisp): Initialize them.
4110 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4111 and use exact mode line heights if it is set.
4112
4113 * lisp.h (pos_visible_p): Change prototype.
4114
4115 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4116 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4117 and current_header_line_height first.
52283633
SM
4118 (current_mode_line_height, current_header_line_height):
4119 Declare extern.
5f0c971d 4120
d7361edf
MB
41212000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4122
4123 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4124 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4125 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4126
ee5e440a
MB
41272000-11-14 Miles Bader <miles@gnu.org>
4128
4129 * xterm.c (x_alloc_lighter_color): Include an additive component
4130 too for dark colors, because FACTOR isn't enough.
4131 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4132 New macros.
4133
5ca020fc
GM
41342000-11-13 Gerd Moellmann <gerd@gnu.org>
4135
4136 * keyboard.c (show_help_echo): Call message3_nolog with number of
4137 bytes in the help string as 2nd parameter, instead of the number
4138 of characters.
4139
9d348294
MB
41402000-11-13 Miles Bader <miles@gnu.org>
4141
4142 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4143 (Fload): Use new openp return protocol.
4144 Don't try to use Vload_source_file_function to load .elc files.
4145 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4146 openp return protocol.
4147 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4148
1729bb9a
KH
41492000-11-11 Kenichi Handa <handa@etl.go.jp>
4150
4e677396
KH
4151 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4152
4153 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4154 Defined these macros.
4155 (NLIST_STRUCT): Avoid re-defining it.
4156
1729bb9a
KH
4157 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4158 -I/usr/contrib/X11R6/include.
4159 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4160
a82fe213
JR
41612000-11-10 Jason Rumney <jasonr@gnu.org>
4162
4163 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4164
4165 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4166 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4167
4168 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4169 (Qw32_charset_vietnamese): New symbol.
4170 (xlfd_charset_of_font): New function.
4171 (w32_load_system_font): Use it.
4172 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4173 when Vw32_charset_info_alist is nil to ensure default face always
4174 has font. Use Fcar and Fcdr for safety.
4175 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4176 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4177 pseudo-codepages for special cases.
4178 (w32_to_x_font): New parameter to allow charset portion to be
4179 specified where there is many to one mapping. Callers changed.
4180 (w32_list_fonts): Avoid listing fonts that won't display.
4181
52d89894
GM
41822000-11-10 Gerd Moellmann <gerd@gnu.org>
4183
4184 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4185 (font_list_1): Renamed from font_list.
4186 (font_list): New function, trying alternative registries from
4187 Vface_alternative_font_registry_alist.
4188 (Finternal_set_alternative_font_registry_alist): New function.
4189 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4190 Vface_alternative_font_registry_alist.
4191 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4192
651cd3da
KR
41932000-11-09 Ken Raeburn <raeburn@gnu.org>
4194
4195 * lisp.h (Flooking_at): Declare.
4196
388ac098
GM
41972000-11-09 Gerd Moellmann <gerd@gnu.org>
4198
778fbc46 4199 * dired.c (directory_files_internal): Fix a braino.
52283633 4200
388ac098
GM
4201 * dired.c (directory_files_internal): Add missing GCPRO's.
4202 Some cleanup.
4203
ecaedde1
GM
42042000-11-08 Gerd Moellmann <gerd@gnu.org>
4205
f7eb32aa
GM
4206 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4207 (resize_mini_window): Return quickly if Vresize_mini_window is
4208 nil. Don't return if Vmax_mini_window_height is nil.
4209
4210 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4211 (syms_of_xdisp): Initialize them.
4212 (resize_mini_window): Act according to the setting of
4213 Vresize_mini_window.
4214 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4215
ecaedde1
GM
4216 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4217 scroll bar widget after configuring it, so that it will appear at
4218 the right position from the start.
4219 (XTredeem_scroll_bar): Cleaned up.
4220
3747ef2c
KH
42212000-11-08 Kenichi Handa <handa@etl.go.jp>
4222
4223 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4224 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4225 division by two.
4226
4227 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4228
03391420
DL
42292000-11-07 Dave Love <fx@gnu.org>
4230
7758f1c1 4231 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4232
4233 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4234
b5de343d
GM
42352000-11-07 Gerd Moellmann <gerd@gnu.org>
4236
acad3c0b
GM
4237 * window.c (Fset_window_configuration): Don't try to preserve
4238 point in the current buffer, if that buffer is displayed in more
4239 than one window.
4240
b5de343d
GM
4241 * xfaces.c (lookup_named_face): If default face isn't realized,
4242 try to realize it. Return -1 if not successful.
4243 (Fx_list_fonts): Handle case that face cannot be determined.
4244 (Fface_font): Likewise.
4245
cdb1fe49
GM
42462000-11-06 Gerd Moellmann <gerd@gnu.org>
4247
4248 * window.c (displayed_window_lines): Detect partially
4249 visible lines at the bottom correctly.
4250
d3a67486
SM
42512000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4252
4253 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4254 when ensuring we don't do visit in indirect buffer.
4255
ff8dd5d5
KH
42562000-11-06 Kenichi Handa <handa@etl.go.jp>
4257
4258 * composite.h (compose_chars_in_text): Add prototype.
4259
4260 * composite.c (Vcomposition_function_table): New variable.
4261 (Qcomposition_function_table): New variable.
4262 (run_composition_function): Call
4263 Vcompose_chars_after_function with three arguments.
4264 (compose_chars_in_text): New function.
4265 (syms_of_composite): Modified the doc-string of
4266 Vcompose_chars_after_function. Declare composition-function-table
4267 as a lisp variable, and initialize it.
4268
4269 * xfns.c (x_encode_text): Suppress producing escape sequences for
4270 composition.
4271
4272 * xselect.c: Include composite.h.
4273 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4274
d1145f85
AI
42752000-11-05 Andrew Innes <andrewi@gnu.org>
4276
4277 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4278
4279 * sysdep.c (read_input_waiting): Remove extraneous argument to
4280 read_socket_hook.
4281
4282 * w32fns.c (Fx_server_version): Include w32_build_number in the
4283 return list.
4284
4285 * w32heap.c (w32_build_number): New variable.
4286 (cache_system_info): Set it.
4287
4288 * w32heap.h (w32_build_number): Add extern.
4289
4290 * emacs.c (syms_of_emacs): Update docstring for
4291 system-configuration, to reflect the actual usage on MS-Windows.
4292
e85ee976
GM
42932000-10-31 Gerd Moellmann <gerd@gnu.org>
4294
26dcb81b
GM
4295 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4296 process idle timers while waiting for another event.
4297
52283633 4298 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4299 the default face are colored.
4300
e85ee976
GM
4301 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4302 window height hasn't changed.
4303
01b220b6
JR
43042000-10-31 Jason Rumney <jasonr@gnu.org>
4305
4306 * w32term.c (x_produce_glyphs): Handle composite characters.
4307 (x_draw_glyph_string_foreground)
4308 (x_draw_composite_glyph_string_foreground): Restore old font.
4309
4e6b7204
MB
43102000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4311
4312 * minibuf.c (read_minibuf): Reset the undo history just before
4313 starting the recursive-edit.
4314
d4358b37
GM
43152000-10-30 Gerd Moellmann <gerd@gnu.org>
4316
563f68f1
GM
4317 * xfaces.c (menu_face_change_count): New variable.
4318 (Finternal_set_lisp_face_attribute): Increment it for changes
4319 of the `menu' face.
4320 (realize_basic_faces): Reflect changes in the `menu' faces
4321 in menu bars.
4322
82e274d1
GM
4323 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4324 dy obtained from the iterator's y-position after moving from
4325 scroll_margin_pos to PT; see comment there.
52283633 4326
0dbf9fd2
GM
4327 * xdisp.c (safe_eval_handler): Call add_to_log.
4328
906b3b14
GM
4329 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4330 is not a symbol or string.
4331
d4358b37
GM
4332 * xdisp.c (echo_area_display): Don't perform a display update from
4333 inside redisplay. The update will happen anyway at the end of
4334 redisplay, and it can confuse redisplay (GC messages while
4335 redisplaying, for instance.)
4336
70c825df
SM
43372000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4338
cf9b4b0b
SM
4339 * xrdb.c (x_load_resources): Use the class name in the defaults.
4340
70c825df
SM
4341 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4342 (regex_compile): Catch bogus \(\1\).
4343
a1d34b1e
GM
43442000-10-30 Gerd Moellmann <gerd@gnu.org>
4345
cae71efe
GM
4346 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4347 RGB values.
52283633 4348
35efe0a1
GM
4349 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4350 we have a color cache, check that the cached color equals the
4351 allocated color. If not, clear the color cache.
4352
1d3baf74
GM
4353 * window.c (displayed_window_lines): Change buffers if necessary.
4354 Fix computation of displayed lines.
4355
a1d34b1e
GM
4356 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4357 update_menu_bindings to DEFVAR_BOOL.
4358
70737ea9
KH
43592000-10-30 Kenichi Handa <handa@etl.go.jp>
4360
70c825df 4361 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4362
fa0cb51d
KH
4363 * puresize.h (BASE_PURESIZE): Increase to 680000.
4364
70737ea9
KH
4365 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4366
0e4c08e8
JR
43672000-10-29 Jason Rumney <jasonr@gnu.org>
4368
4369 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4370
4371 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4372 (w32_cache_char_metrics): Handle possibility that 'x' does not
4373 exist in a BDF font.
4374 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4375
4376 * w32bdf.h (bdffont): Add nchars.
4377
4378 * w32bdf.c (set_bdf_font_info): Set it.
4379 (w32_BDF_TextOut): Swap byte order of double byte characters.
4380 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4381
45b84006
EZ
43822000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4383
4384 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4385 don't override the colors in frame's param_alist, unless they are
4386 unspecified.
4387
4388 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4389 reverse the effect of the highlight flag.
4390
caf9deee
KR
43912000-10-27 Ken Raeburn <raeburn@gnu.org>
4392
4393 * window.h (Fwindow_live_p): Declare.
4394
ae0b9b46
KR
4395 * undo.c (record_delete): Check that last_undo_buffer is really a
4396 buffer before applying XBUFFER to it.
4397
4398 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4399 Faref.
4400
02067692
SM
44012000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4402
4403 * lisp.h (KEYMAPP): New macro.
4404 (get_keymap): Remove.
4405 (get_keymap_1): Rename get_keymap.
4406
4407 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4408
4409 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4410
4411 * xmenu.c (single_submenu): Use KEYMAPP.
4412 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4413 Use KEYMAPP rather than Fkeymapp.
4414
4415 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4416
4417 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4418 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4419 Use KEYMAPP rather than Fkeymapp.
4420 (single_submenu): Use KEYMAPP.
4421 (w32_menu_show, w32_dialog_show): Use TRUE.
4422
4423 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4424
4425 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4426 (Fkeymapp): Use KEYMAPP.
4427 (get_keymap): Rename from get_keymap_1. Remove old def.
4428 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4429 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4430 (Fminor_mode_key_binding): Don't raise an error if the binding
4431 is not a keymap.
4432 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4433 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4434
4435 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4436 Allow Vspecial_event_map to be autoloaded.
4437 (menu_bar_items): Fetch the keymap rather than using keymapp.
4438 (menu_bar_one_keymap): No need to follow func-indirect any more.
4439 (parse_menu_item): get_keymap_1 -> get_keymap.
4440 (tool_bar_items): Fetch the keymap rather than using keymapp.
4441 (read_key_sequence): Use KEYMAPP.
4442
4443 * intervals.c (get_local_map): Use get_keymap rather than following
4444 function-indirections explicitly.
4445
4446 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4447
f9d80af3
JR
44482000-10-27 Jason Rumney <jasonr@gnu.org>
4449
4450 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4451 point, as Windows has oversized fonts.
4452
4453 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4454
a3ba27da
GM
44552000-10-27 Gerd Moellmann <gerd@gnu.org>
4456
4457 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4458 (freehook, reallochook): Handle null pointer arguments.
4459 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4460
aa3b80cc
SM
44612000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4462
4463 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4464 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4465 Giving in to popular pressure to shut up the compiler with casts.
4466
e24e84cc
GM
44672000-10-27 Gerd Moellmann <gerd@gnu.org>
4468
4469 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4470 signed value, and use a default value computed from the font's
4471 maximum descent.
4472
05ea7ef2
MB
44732000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4474
4475 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4476 that specify a negative underline position can still use underlines.
4477
4478 * window.c (Fpos_visible_in_window_p): Make POS default to
4479 WINDOW's point, not the current buffer's point.
4480
0b95284b
DL
44812000-10-26 Dave Love <fx@gnu.org>
4482
4483 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4484 when it's necessary.
4485
6c5b90af
GM
44862000-10-26 Gerd Moellmann <gerd@gnu.org>
4487
8b6d9dc9
GM
4488 * window.c (size_window): Compute size difference from sum of old
4489 child window sizes instead of from parent's size.
4490
6bc92b2e
GM
4491 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4492 Handle obscured lines at the top of the window.
4493
4494 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4495 down after the last error condition check.
4496
6c5b90af
GM
4497 * frame.c (Fdelete_frame): Run delete-frame-hook.
4498
42f92d4d
KH
44992000-10-26 Kenichi Handa <handa@etl.go.jp>
4500
4501 * coding.c (decode_coding): Fix previous change (check also
4502 CODING_MODE_LAST_BLOCK).
4503
d97151cb
SM
45042000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4505
e7efc503
SM
4506 * regex.c: More `unsigned char' -> `re_char' changes.
4507 Also change several `int' into `re_wchar_t'.
4508 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4509 (PUSH_FAILURE_POINTER): Don't cast any more.
4510 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4511 We want GCC to complain, since this piece of code makes
4512 re_match non-reentrant, which *should* be fixed.
4513 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4514 (EXTEND_BUFFER): Use RETALLOC.
4515 (SET_LIST_BIT): Don't cast.
4516 (re_wchar_t): New type.
4517 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4518 that those two functions will always properly return.
4519 (IMMEDIATE_QUIT_CHECK): Cast to void.
4520 (analyse_first): Use recursion rather than an explicit stack.
4521 (re_compile_fastmap): Can't fail anymore.
4522 (re_search_2): Don't check re_compile_fastmap for failure.
4523 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4524 Now also sets the new value (passed in a new argument).
4525 (re_match_2_internal): Use it.
4526 Also, use a new var `reg' of type size_t when looping through regs
4527 rather than reuse the inappropriate `mcnt'.
4528
d97151cb
SM
4529 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4530 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4531 (where_is_internal): Renamed from Fwhere_is_internal.
4532 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4533 (Fwhere_is_internal): New function wrapping where_is_internal.
4534 (where_is_internal_1): Handle the case where we're filling the cache.
4535 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4536
d5789b65
MB
45372000-10-25 Miles Bader <miles@gnu.org>
4538
4539 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4540
4ecda532
GM
45412000-10-25 Gerd Moellmann <gerd@gnu.org>
4542
4543 * window.c (pos_fully_visible_p): Removed.
4544 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4545 if position is visible and/or fully visible.
4546
4547 * lisp.h (pos_visible_p): Add prototype.
4548
4549 * xdisp.c (pos_visible_p): New function.
4550
68c3a137
KH
45512000-10-25 Kenichi Handa <handa@etl.go.jp>
4552
4553 * process.c (send_process): If OBJECT is t, it means that the data
4554 is from C string, but we should encode it. Before calling
4555 setup_raw_text_coding_system, be sure to flush out data by the
4556 previous coding system.
4557
7ae1c032
MB
45582000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4559
ff4dcd4b
MB
4560 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4561 assignment of startpos to prev when startpos == pos.
4562
7ae1c032
MB
4563 * editfns.c (find_field): Set the field stickiness correctly from
4564 overlay fields. Use renamed `text_property_stickiness'.
4565 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4566 Only check text properties, not overlays.
7ae1c032
MB
4567 * textprop.c (get_char_property_and_overlay): New function.
4568 (Fget_char_property): Use it.
4569 * intervals.h (get_char_property_and_overlay): Add declaration.
4570
49801145
SM
45712000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4572
4573 * keymap.c: Use AREF, ASET and ASIZE macros.
4574 (Fmake_sparse_keymap): Docstring fix.
4575 (synkey): Remove.
4576 (shadow_lookup): Move up.
4577 Handle the case where lookup-key returns an integer.
4578 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4579 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4580 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4581 Simplify/rewrite the keymap-finding code.
4582 Add check for command shadowing, using shadow_lookup.
4583
39e776cd
SM
45842000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4585
4586 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4587 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4588 a symbol.
4589
2488aba5
AI
45902000-10-24 Andrew Innes <andrewi@gnu.org>
4591
4592 * dired.c (directory_files_internal_unwind): New function.
4593 (directory_files_internal): Use it to ensure closedir is called
4594 even if expand-file-name or file-attributes throw, eg. because of
4595 a user interrupt. Also enable immediate_quit while calling
4596 re_search, so that matching can be interrupted as well.
4597
b94fdf61
AI
45982000-10-24 Andrew Innes <andrewi@gnu.org>
4599
4600 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4601 NT-Emacs only.
4602 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4603 so that re_search functions only quit when callers expect them to.
4604
46052000-10-24 Kenichi Handa <handa@etl.go.jp>
4606
4607 * regex.c (regex_compile): Change the way of handling a range from
4608 a char less than 256 to a char not less than 256.
4609
1946f901
GM
46102000-10-24 Gerd Moellmann <gerd@gnu.org>
4611
7ae2f10f
GM
4612 * window.c (size_window): Prevent setting window's width or
4613 height to a negative value (esp. with XSETFASTINT).
4614
5dcab13e
GM
4615 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4616 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4617 (protect_malloc_state) [GC_MALLOC_CHECK &&
4618 GC_PROTECT_MALLOC_STATE]: New function.
4619 (PROTECT_MALLOC_STATE): New macro.
4620 (__malloc_initialize, morecore, _malloc_internal)
4621 (_free_internal) _realloc_internal): Use it to make _heapinfo
4622 read-only outside of gmalloc.
4623
63e1b552
GM
4624 * keymap.c: Update copyright.
4625
1946f901
GM
4626 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4627 a symbol.
4628
4fa09beb
GM
46292000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4630
4631 * filelock.c (unlock_all_files): Use unlock_file to expand each
4632 buffer's file_truename before trying remove its lock file.
4633
23afac01
EZ
46342000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4635
4636 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4637 or CRLF, decode EOLs.
4638
04448b95
KH
46392000-10-24 Kenichi Handa <handa@etl.go.jp>
4640
4641 * window.c (Fdisplay_buffer): Fix doc.
4642
3090a5a5
JR
46432000-10-23 Jason Rumney <jasonr@gnu.org>
4644
4645 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4646 ASCII font of default fontset on Windows.
4647
4648 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4649 xterm.c comment below).
4650
4651 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4652
a83fee2c
GM
46532000-10-23 Gerd Moellmann <gerd@gnu.org>
4654
4655 * xterm.c (x_connection_closed): Reset handling_signal.
4656
52283633 4657 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4658
6ffdb539
MB
46592000-10-23 Miles Bader <miles@gnu.org>
4660
4661 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4662 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4663 maintain old behavior.
4664 * minibuf.c (Fminibuffer_complete): Likewise.
4665
7f1c969b
MB
46662000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4667
4668 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4669 that when a font can't be exactly centered, it errs up rather than
4670 down.
4671
23afac01 46722000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4673
52283633 4674 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4675
1a578e9b
AC
46762000-10-23 Andrew Choi <akochoi@i-cable.com>
4677
4678 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4679
4680 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4681 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4682
4683 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4684 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4685 syms_of_search, x_term_init, and init_keyboard before calling
4686 init_window_once. Also, call syms_of_xmenu.
4687
4688 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4689 default fontset to Monaco.
4690
4691 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4692 NewMacWindow and DisposeMacWindow.
4693 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4694 instead of calling NewMacWindow and setting fields of
4695 f->output_data.mac directly. Call init_frame_faces.
4696 (Fdelete_frame) [macintosh]: Remove unused code.
4697 (Fmodify_frame_parameters) [macintosh]: Call
4698 x_set_frame_parameters instead of mac_set_frame_parameters.
4699
4700 * frame.h [macintosh]: Define menu_bar_lines field in struct
4701 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4702
4703 * keyboard.c [macintosh]: Include macterm.h.
4704 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4705 and menu_bar_activate_event type events as for X and NT.
4706 (make_lispy_event) [macintosh]: Construct lisp events of type
4707 MENU_BAR_EVENT as for X and NT.
4708
4709 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4710 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4711 (sys_subshell) [macintosh]: Remove definition entirely.
4712 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4713 Vwindow_system_version here. Remove initialization of
4714 Vx_bitmap_file_path.
4715 (read_input_waiting): Correct the number of parameters passed to
4716 read_socket_hook.
4717 Move all Macintosh functions to mac/mac.c.
4718
4719 * term.c [macintosh]: Include macterm.h.
4720
4721 * window.c [macintosh]: Include macterm.h.
4722
4723 * xdisp.c [macintosh]: Include macterm.h. Declare
4724 set_frame_menubar and pending_menu_activation.
4725 (echo_area_display) [macintosh]: Do not return if terminal frame
4726 is the selected frame.
4727 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4728 Allow only the selected frame to set menu bar.
4729 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4730 calling FRAME_EXTERNAL_MENU_BAR (f).
4731 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4732
4733 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4734 and check_x. Declare XCreateGC. Define x_create_gc and
4735 x_free_gc. Initialize font_sort_order.
4736 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4737 but call x_list_fonts instead of w32_list_fonts.
4738 (Finternal_face_x_get_resource) [macintosh]: Do not call
4739 display_x_get_resource.
4740 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4741 (realize_x_face) [macintosh]: Load the font if it is specified in
4742 ATTRS.
52283633 4743 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4744
1ffbabe3
SM
47452000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4746
4747 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4748 is nil: since we go to the end of submap anyway, we'd end up
4749 setting nil to nil.
4750 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4751 doesn't obey autoload.
4752
bed43f1d
EZ
47532000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4754
1ffbabe3 4755 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4756
ea4233a7
JR
47572000-10-21 Jason Rumney <jasonr@gnu.org>
4758
4759 * w32term.c (w32_cache_char_metrics): Double check that font is
4760 really fixed pitch before trusting tmPitchAndFamily.
4761
f3d3c491
AI
47622000-10-21 Andrew Innes <andrewi@gnu.org>
4763
4764 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4765
4766 * w32term.h: Extern decl for w32_cache_char_metrics.
4767
4768 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4769
4770 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4771 (w32_unload_font): Free per_char array if present.
4772
4773 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4774 cached information in emulated XFontStruct to handle common cases
4775 quickly. Do not allocate XCharStruct for return.
4776 (w32_native_per_char_metric): New function.
4777 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4778 allocating one.
4779 (x_produce_glyphs): Don't get an HDC. Change calls to
4780 w32_per_char_metric to match arg change above. Remove calls to
4781 free results.
4782 (w32_get_glyph_overhangs): Ditto.
4783 (w32_cache_char_metrics): New function.
4784
4785 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4786 ($(BLD)/casefiddle.$(O)): Remove compile command.
4787 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4788 ($(BLD)/dispnew.obj):
4789 ($(BLD)/keyboard.obj):
4790 ($(BLD)/w32inevt.obj):
4791 ($(BLD)/w32bdf.obj):
4792 ($(BLD)/alloc.obj):
4793 ($(BLD)/buffer.obj):
4794 ($(BLD)/editfns.obj):
4795 ($(BLD)/emacs.obj):
4796 ($(BLD)/fileio.obj):
4797 ($(BLD)/fns.obj):
4798 ($(BLD)/indent.obj):
4799 ($(BLD)/insdel.obj):
4800 ($(BLD)/intervals.obj):
4801 ($(BLD)/minibuf.obj):
4802 ($(BLD)/print.obj):
4803 ($(BLD)/scroll.obj):
4804 ($(BLD)/sysdep.obj):
4805 ($(BLD)/textprop.obj):
4806 ($(BLD)/widget.obj):
f3d3c491
AI
4807 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4808 ($(BLD)/term.obj): Add dependency on dispextern.h.
4809
52283633
SM
4810 * makefile.nt ($(BLD)\dispnew.obj):
4811 ($(BLD)\keyboard.obj):
4812 ($(BLD)\w32inevt.obj):
4813 ($(BLD)\w32bdf.obj):
4814 ($(BLD)\alloc.obj):
4815 ($(BLD)\buffer.obj):
4816 ($(BLD)\editfns.obj):
4817 ($(BLD)\emacs.obj):
4818 ($(BLD)\fileio.obj):
4819 ($(BLD)\fns.obj):
4820 ($(BLD)\indent.obj):
4821 ($(BLD)\insdel.obj):
4822 ($(BLD)\intervals.obj):
4823 ($(BLD)\minibuf.obj):
4824 ($(BLD)\print.obj):
4825 ($(BLD)\scroll.obj):
4826 ($(BLD)\sysdep.obj):
4827 ($(BLD)\textprop.obj):
4828 ($(BLD)\widget.obj):
f3d3c491
AI
4829 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4830 ($(BLD)\term.obj): Add dependency on dispextern.h
4831
18ad4821
EZ
48322000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4833
4834 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4835 with an additional argument of Qt.
4836
de54681a
MB
48372000-10-21 Miles Bader <miles@gnu.org>
4838
4839 * window.c (pos_fully_visible_in_window_p): New function.
4840 (Fpos_visible_in_window_p): Add FULLY argument.
4841 Use pos_fully_visible_in_window_p.
4842 (window_scroll_pixel_based, window_scroll_line_based): Update
4843 calls to Fpos_visible_in_window_p.
4844 * lisp.h (Fpos_visible_in_window_p): Update prototype
4845
13c844fb
GM
48462000-10-20 Gerd Moellmann <gerd@gnu.org>
4847
4848 * alloc.c (toplevel): Conditionalize compilation of mem_*
4849 functions differently.
52283633 4850
d9506268
JR
48512000-10-20 Jason Rumney <jasonr@gnu.org>
4852
4853 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4854 mem_init where it used to be. mem_z etc not defined otherwise.
4855
8094989b
GM
48562000-10-20 Gerd Moellmann <gerd@gnu.org>
4857
4858 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4859 GC_MALLOC_CHECK.
4860 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4861 structure definition and related variabled to the top of the file.
4862 Include this code when GC_MALLOC_CHECK is defined.
4863 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4864 register/unregister allocated region.
4865 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4866 which isn't allocated.
4867 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4868 something which is already in use.
4869 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4870 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4871 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4872 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4873
4874 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4875 _malloc_internal instead of malloc.
4876 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4877 of free.
4878
ea456eb4
AI
48792000-10-20 Andrew Innes <andrewi@gnu.org>
4880
4881 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4882 Windows.
4883 (my_strftime) <macro>: Don't use macro arg list when redefining as
4884 _strftime_copytm.
4885 (my_strftime) <function>: Supply 0 as ut argument.
4886
e64c3a75
JR
48872000-10-19 Jason Rumney <jasonr@altavista.net>
4888
4889 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4890 including dispextern.h, as it stops faces from working.
4891
4892 * w32fns.c (Fx_create_frame): Don't bother calling
4893 face-set-after-frame-default since the caller does it for us
4894 anyway. Clean up calls to x_get_arg to be consistent with X.
4895
4896 * w32term.c (x_produce_glyphs): Handle
4897 unibyte_display_via_language_environment correctly.
4898 (w32_draw_box_rect): Fix the calculation of width and height.
4899
4900 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4901 as it has stopped working.
4902 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4903 menu-bar.
4904
17401c97
GM
49052000-10-19 Gerd Moellmann <gerd@gnu.org>
4906
4907 * eval.c (skip_debugger): Prevent a compiler warning.
4908 (Fcondition_case): Likewise.
4909 (Fbacktrace_frame): Use a null interactive spec.
4910
773272d8
KH
49112000-10-19 Kenichi Handa <handa@etl.go.jp>
4912
4913 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4914
a42943e9
GM
49152000-10-18 Gerd Moellmann <gerd@gnu.org>
4916
e50517d9
GM
4917 * strftime.c: Sync with glibc, file version 1.78.
4918 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4919 should no longer be used according to ISO 8601.
4920
9035a35a
GM
4921 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4922 no map for meta_prefix_char, don't try to use it as a keymap.
4923 Instead, if T_OK is non-zero, look up a default binding, if any,
4924 otherwise, if T_OK is zero, return nil.
4925
a42943e9
GM
4926 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4927 (x_to_xcolors, png_load): Use x_query_color.
4928
52283633
SM
4929 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4930 New functions.
a42943e9
GM
4931 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4932 which can be slow.
4933 (x_copy_color, x_alloc_lighter_color): Likewise.
4934
4935 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4936 (x_query_color, x_query_colors): Add prototype.
4937
4938 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4939 check_string_bytes only if not noninteractive, increase count to 50.
4940
00de2987
MB
49412000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4942
4943 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4944 markers correctly.
4945
54918e2b
GM
49462000-10-17 Gerd Moellmann <gerd@gnu.org>
4947
1f0b3fd2
GM
4948 * alloc.c (pure_bytes_used): Renamed from pureptr.
4949 (ALIGN): New macro.
4950 (pure_alloc): New function.
4951 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4952 Use it.
4953 (Fpurecopy): Use PURE_POINTER_P.
4954
68c5d1db
GM
4955 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4956 PT has moved backward.
52283633 4957
9a038881
GM
4958 * xdisp.c (cursor_row_p): Take continued lines into account.
4959
361b097f
GM
4960 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4961 string's size_byte.
4962 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4963 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4964 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4965 string allocated.
4966
54918e2b
GM
4967 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4968 of selective display off while searching for the next line start.
4969
03ed0806
KH
49702000-10-17 Kenichi Handa <handa@etl.go.jp>
4971
4972 * Makefile.in (term.o): Depend on dispextern.h.
4973
7e05cdaf
SM
49742000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4975
4976 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4977
a6801fd1
GM
49782000-10-16 Gerd Moellmann <gerd@gnu.org>
4979
483de32b
GM
4980 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4981 the iterator at the beginning, so that they can be set later on,
4982 for instance in reseat_at_next_visible_line_start, without being
4983 overwritten.
4984
a6801fd1
GM
4985 * xfns.c (pbm_format): Add :foreground and :background keywords.
4986 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4987 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4988
dbf1fcc1
EZ
49892000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4990
4991 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4992
52283633 4993 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4994
4995 * msdos.c (IT_set_face): Compare highlighted face with the default
4996 face, and invert colors if these faces' colors are identical.
4997 (Fmsdos_remember_default_colors): Don't swap foreground and
4998 background colors in initial_colors[].
4999 (IT_set_frame_parameters): Don't swap frame's foreground and
5000 background pixels. If ALIST includes "(reverse . t)", swap
5001 foreground-color and background-color properties in frame's
5002 param_alist. If the original frame's param_alist doesn't specify
5003 the colors, store unspecified-fg and unspecified-bg, reversed if
5004 required.
5005
5006 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5007 the colors are unspecified and reversed, reverse fore- and back-
5008 ground in the returned value.
5009 (Fframe_parameter): Ditto.
5010
b41fe2c3 50112000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5012
3a6b59d9
GM
5013 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5014 get_last_unchanged_at_beg_row.
5015 (find_first_unchanged_at_end_row): Renamed from
5016 get_first_unchanged_at_end_row.
5017 (find_first_unchanged_at_end_row): Convert assertions to
5018 unconditional tests which abort. When looking for a row in
5019 unchanged text, don't go further back than first_text_row.
5020
b41fe2c3
GM
5021 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5022 Don't add in the last line's height when deciding if the new
5023 position is below the scroll margin.
9d1af64f 5024
b41fe2c3 50252000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5026
5027 * editfns.c (Fconstrain_to_field): Check carefully for field
5028 boundaries if either OLD_POS or NEW_POS has a non-nil field
5029 property, even if they're the same.
5030
c412cb7b
KH
50312000-10-16 Kenichi Handa <handa@etl.go.jp>
5032
5033 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5034 height for XFillRectangle.
5035
5586f3eb
SM
50362000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5037
5038 * syntax.c (Fstring_to_syntax): New function extracted from
5039 Fmodify_syntax_entry.
5040 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5041 (skip_chars, Fforward_comment): Remove unused variables.
5042 (syms_of_syntax): Add defsubr for string-to-syntax.
5043 (describe_syntax): Add code for comment and string fences.
5044
db785038
SM
50452000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5046
5047 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5048 Do the meta->esc mapping. Call get_keyelt before returning.
5049 Start scanning from the second element (the first is always `keymap')
5050 to make it easier to detect when we reach a parent map.
5051 Handle the case of inheriting from a symbol whose function is a map.
5052 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5053 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5054 (get_keyelt, Flookup_key): Update call to access_keymap.
5055 Remove the meta->esc mappings.
5056 (define_as_prefix): Delete old disabled code.
5057 (menu_item_p): New function.
5058 (where_is_internal_1): Skip over the few remaining menu items.
5059 * lisp.h (access_keymap): Update prototype.
5060 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5061 Update call to access_keymap.
5062 (follow_key, read_key_sequence): Update calls to access_keymap.
5063 Remove the meta->esc mappings.
5064
cafafe0b
GM
50652000-10-13 Gerd Moellmann <gerd@gnu.org>
5066
a2e2a7f6
GM
5067 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5068 with additional argument.
5069
cafafe0b
GM
5070 * xdisp.c (cursor_row_p): New function.
5071 (try_cursor_movement, display_line): Use it.
52283633 5072
cafafe0b
GM
5073 * xdisp.c (append_space): Also save/restore iterator's current
5074 character and its length.
5075
5076 * xdisp.c (init_from_display_pos): Add an assertion.
5077 (handle_stop): Don't set iterator's add_overlay_start.
5078 (handle_invisible_prop): Likewise.
5079 (load_overlay_strings): If text under an overlay is invisible,
5080 take both before- and after-strings into account when the iterator
5081 is positioned either at the start or at the end of the overlay.
5082 (forward_to_next_line_start): Rewritten.
5083 (reseat_at_next_visible_line_start): Rewritten.
5084 (set_iterator_to_next): Add parameter RESEAT_P.
5085
5086 * dispextern.h (struct it): Remove member add_overlay_start.
5087 (set_iterator_to_next): Change prototype.
5088
c744452b
KH
50892000-10-13 Kenichi Handa <handa@etl.go.jp>
5090
5091 * coding.c (code_convert_region): Be sure to initialize
5092 coding->category_idx.
e4a3f4e1
KH
5093 (decode_coding_string): Set coding->src_multibyte and
5094 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5095 (encode_coding_string): Set coding->src_multibyte and
5096 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5097
321fd26f
SM
50982000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5099
5100 * xfns.c (Fx_create_frame): Don't bother calling
5101 face-set-after-frame-default since the caller does it for us anyway.
5102
76832439
EZ
51032000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5104
5105 * window.c (coordinates_in_window): Fix detection of vertical line
5106 on character terminals.
5107
2483cf58
GM
51082000-10-12 Gerd Moellmann <gerd@gnu.org>
5109
5110 * editfns.c (save_excursion_save): Additionally record the
5111 selected window.
5112 (save_excursion_restore): If buffer was visible in a window, and a
5113 different window was selected, and the old selected window is
5114 still live, restore point in that window.
5115
eb991b25
KH
51162000-10-12 Kenichi Handa <handa@etl.go.jp>
5117
8a0eba09
KH
5118 * xterm.c (x_produce_glyphs): Handle
5119 unibyte_display_via_language_environment correctly.
5120
20401fcc
KH
5121 * regex.c (regex_compile): Change the way of handling a range from
5122 unibyte char to multibyte char.
5123
5124 * syntax.c (skip_chars): Change the way of handling a range from
5125 unibyte char to multibyte char.
5126
eb991b25
KH
5127 * process.c (read_process_output): Cancel previous change.
5128
365dd325
EZ
51292000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5130
c1b096cb
EZ
5131 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5132
365dd325
EZ
5133 * charset.c (Ffind_charset_string): Doc fix.
5134 (Ffind_charset_region): Doc fix.
5135
eb483c2b
KH
51362000-10-11 Kenichi Handa <handa@mule.m17n.org>
5137
5138 * process.c (read_process_output): Fix previous change. Adjust
5139 multibyteness of text to insert in a buffer by
52283633 5140 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5141
b40bfb99
AS
51422000-10-10 Andreas Schwab <schwab@suse.de>
5143
5144 * alloc.c (mark_object): Remove all workarounds installed on
5145 1993-08-08.
5146
caff31d4
KH
51472000-10-10 Kenichi Handa <handa@etl.go.jp>
5148
52283633 5149 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5150 (base64_encode_1): Make it work for a text of multibyte form.
5151 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5152 case. Don't call str_to_multibyte because base64_decode_1
5153 produces correct multibyte form for eight-bit codes.
52283633 5154 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5155 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5156 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5157 codes.
5158
5159 * charset.h (CHAR_STRING): Optimized for single byte characters.
5160
cba026ef
AS
51612000-10-09 Andreas Schwab <schwab@suse.de>
5162
5163 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5164 -1 after socket is closed, to fall through to error processing.
5165
1e21fe48
EZ
51662000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5167
5168 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5169 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5170 background-color, change also the colors of the default face for
5171 this frame.
5172
a640322e
EZ
51732000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5174
5175 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5176 them extern (they are defined on xfaces.c).
5177 (syms_of_msdos): Don't intern and don't staticpro
5178 Qbackground_color and Qforeground_color.
5179
a115794c
EZ
51802000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5181
5182 * frame.c (Fframe_parameter): For non-windowed frames, if
5183 f->param_alist says foreground or background color is unspecified,
5184 call tty_color_name to return the color name computed from the
5185 frame's current colors.
5186
f5533b63
DL
51872000-10-06 Dave Love <fx@gnu.org>
5188
5189 * terminfo.c (ospeed): Don't declare.
5190
5191 * sysdep.c: Don't include string.h.
5192 (h_errno): Declare conditional also on TRY_AGAIN.
5193
5194 * charset.c (Ffind_charset_string): Doc fix.
5195
52283633 5196 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5197 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5198 error messages.
5199
2b06561a
DL
52002000-10-05 Dave Love <fx@gnu.org>
5201
5202 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5203 position like menu-bar.
5204
ca839c85
GM
52052000-10-05 Gerd Moellmann <gerd@gnu.org>
5206
5207 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5208
5209 * xdisp.c (handle_single_display_prop): Use safe_call1.
5210 (safe_call): Renamed from call_function.
5211 (safe_call1): New function.
5212 (handle_fontified_prop): Use safe_call1 instead of call1.
5213 (safe_eval): Renamed from eval_form.
5214 (safe_eval_handler): Renamed from eval_handler.
5215 (handle_single_display_prop, display_mode_element): Use safe_eval
5216 instead of eval_form.
5217
5218 * xfaces.c (merge_face_heights): Use safe_call instead of
5219 call_function.
5220
5221 * keyboard.c (show_help_echo): Use safe_call instead of
5222 call_function; use safe_eval instead of eval_form.
5223
5224 * lisp.h (safe_call): Renamed from call_function.
5225 (safe_eval): Renamed from eval_form.
5226 (safe_call1): Add prototype.
5227
a3489ece
MB
52282000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5229
5230 * xfns.c (image_ascent): Rearrange ascent calculation for the
5231 has-a-font case.
5232
35810b6f
SM
52332000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5234
5235 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5236 (where_is_internal_1): Don't bother ignoring menu-items any more.
5237
3dc78168
GM
52382000-10-04 Gerd Moellmann <gerd@gnu.org>
5239
5240 * keyboard.c (update_menu_bindings): New variable.
5241 (parse_menu_item): Use AREF. If update_menu_bindings
5242 is 0, don't update menu bindings.
5243 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5244
1efc2bb9
EZ
52452000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5246
5247 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5248 to `mark_object'.
5249
3f679f55
SM
52502000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5251
5252 * syntax.c (forw_comment): Match nestedness of ender/starter.
5253 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5254 (prev_char_comstart_first): Remove.
5255 (back_comment): Check two-char comment markers more carefully
5256 to better handle overlapping cases like *//* or /* */* */ ...
5257 Match nestedness of ender/starter.
5258
2021ab61
DL
52592000-10-02 Dave Love <fx@gnu.org>
5260
5261 * config.in (HAVE_GAI_STRERROR): Add undef.
5262
5263 * process.c (Fopen_network_stream): Use it.
5264
5265 * m/alpha.h (NO_REMAP): Don't define.
5266
64e6cc18
GM
52672000-10-02 Gerd Moellmann <gerd@gnu.org>
5268
5269 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5270 return with a string converted to an integer or vice versa when
5271 Vmocklisp_arguments is t.
5272 (Fsignal): Likewise. The function can return for `quit'.
5273 (struct gcpro): Declare member `var' to point to a volatile
5274 Lisp_Object.
5275
5276 * eval.c (error): Prevent compiler warning.
5277
b1904cd9
SM
52782000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5279
5280 * keymap.c (keymap_memberp): New function.
5281 (Fset_keymap_parent): Use it.
5282 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5283 Use keymap_memberp to avoid creating cycles.
5284 (access_keymap): Use KEYMAPP.
5285
71c9ec51
GM
52862000-09-30 Gerd Moellmann <gerd@gnu.org>
5287
5288 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5289 gai_strerror. Make sure xerrno is set if connect fails. Improve
5290 error recovery.
71c9ec51 5291
c70c6b58
JR
52922000-09-29 Jason Rumney <jasonr@gnu.org>
5293
5294 * w32term.c (w32_char_font_type, w32_encode_char)
5295 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5296 (w32_bdf_per_char_metric): New function.
5297 (w32_per_char_metric): Use it.
5298 (x_draw_glyph_string_background): Always draw background for BDF
5299 glyphs.
5300
5301 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5302 GDI object which is a scarce resource.
5303
5304 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5305 (get_quoted_string): Fix limit on memchr search.
5306 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5307 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5308 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5309 (get_cached_font_char, cache_char_offset): Use macro
5310 BDF_CODEPOINT_RANGE_COVER_P.
5311 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5312 (clear_cached_bitmap_slots): New function.
5313 (GET_HEX_VALUE): G-Z, g-z are not hex.
5314 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5315 (get_bitmap_with_cache): Use new cache implementation.
5316 (create_offscreen_bitmap): New function.
5317 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5318
5319 * w32term.c (x_produce_glyphs): If the distance from the current
5320 position to the next tab stop is less than a canonical character
5321 width, use the tab stop after that.
5322 (x_draw_glyphs): Handle case START and END are out of bounds more
5323 carefully.
5324 (x_clear_mouse_face): Block/unblock input.
5325 (x_display_and_set_cursor): Don't show a hollow box cursor for
5326 buffers whose cursor_type is nil.
5327
fe01239f
GM
53282000-09-29 Gerd Moellmann <gerd@gnu.org>
5329
52283633 5330 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5331
5332 * dispextern.h (updating_frame): Declare extern.
5333
e7c52f1f
AS
53342000-09-29 Andreas Schwab <schwab@suse.de>
5335
5336 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5337
de6e1f7c
GM
53382000-09-29 Gerd Moellmann <gerd@gnu.org>
5339
25126faa
GM
5340 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5341 use its function definition.
5342 (tool_bar_items): Likewise.
5343
de6e1f7c 5344 * lisp.h (fatal): Declare NO_RETURN.
52283633 5345
454ee39b
KH
53462000-09-29 Kenichi Handa <handa@etl.go.jp>
5347
5348 * keymap.c: Remove the line "#undef NULL".
5349
96301c5f
GM
53502000-09-28 Gerd Moellmann <gerd@gnu.org>
5351
52283633 5352 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5353
efffeeb4
DL
53542000-09-28 Dave Love <fx@gnu.org>
5355
ecb8b666
DL
5356 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5357
dc3cd20f
DL
5358 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5359
5360 * .gdbinit (xreload): Note its need on GNU/Linux.
5361
efffeeb4
DL
5362 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5363 r_alloc, r_alloc_free.
5364
8610d903
KH
53652000-09-28 Kenichi Handa <handa@etl.go.jp>
5366
5367 * syntax.c (skip_chars): Handle negation correctly.
5368
8901d1ac
GM
53692000-09-27 Gerd Moellmann <gerd@gnu.org>
5370
6f22f1ad
GM
5371 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5372 with non-zero FORCE_P argument.
5373
52283633 5374 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5375 Add assertions.
5376
5377 * xdisp.c (window_box_height): Add an assertion.
5378
5379 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5380 tool-bar than is available.
5381 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5382
36f1966f
DL
53832000-09-27 Dave Love <fx@gnu.org>
5384
efffeeb4 5385 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5386
31d929e5
GM
53872000-09-26 Gerd Moellmann <gerd@gnu.org>
5388
c98863bf
GM
5389 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5390 instead of BITS_PER_INT.
5391 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5392 EMACS_UINT, respectively.
5393 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5394
5395 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5396
5397 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5398
77072ab1
GM
5399 * window.c (freeze_window_starts): Construct last argument for
5400 foreach_window differently.
5401
5402 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5403
5404 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5405 EMACS_UINT instead of `int' and `unsigned int'.
5406 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5407
5408 * frame.h (struct frame): Make the `nothing' member of union
5409 output_data an EMACS_INT.
5410
52283633 5411 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5412 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5413 size in the sdata structure.
5414 (SDATA_NBYTES, SDATA_DATA): New macros.
5415 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5416 differently for the different layout of the sdata structure.
5417 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5418 in sdata.
5419 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5420 Check that size recorded in the string size and size recorded in
5421 the sdata structure agree.
5422
3e60b029
DL
54232000-09-25 Dave Love <fx@gnu.org>
5424
5425 * buffer.c: Include stdio.h.
5426
5427 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5428
3e60b029
DL
5429 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5430
5431 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5432 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5433 (__malloc_extra_blocks): Declare as __malloc_size_t.
5434
8ff16b4e
GM
54352000-09-25 Gerd Moellmann <gerd@gnu.org>
5436
755a2ccd
GM
5437 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5438
d8b4516f
GM
5439 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5440 (read_char): If help-echo is showing, preserve the echo area
5441 when redisplaying.
5442
5443 * xdisp.c (help_echo_showing_p): New variable.
5444 (set_message): Reset it to 0.
5445 (init_xdisp): Initialize help_echo_showing_p.
5446
5447 * dispextern.h (help_echo_showing_p): Declare extern.
5448
5449 * config.in: Fix typo in __GNUC_MINOR__.
5450
5451 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5452
b11af2dd
GM
5453 * s/freebsd.h (POSIX_SIGNALS): Define.
5454
8ff16b4e
GM
5455 * xterm.c (x_clear_mouse_face): Block/unblock input.
5456
844eb643
DL
54572000-09-24 Dave Love <fx@gnu.org>
5458
5459 * fns.c (base64_encode_1): Fix last change.
5460
b30ab1b3
GM
54612000-09-22 Gerd Moellmann <gerd@gnu.org>
5462
5463 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5464
5465 * xdisp.c (try_window_reusing_current_matrix): More fixes
5466 for the case window has a header-line.
5467
c6cbe5f0
DL
54682000-09-22 Dave Love <fx@gnu.org>
5469
4c7c1f3f
DL
5470 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5471 a doc string.
5472
5473 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5474
c6cbe5f0
DL
5475 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5476
550a625e
GM
54772000-09-21 Gerd Moellmann <gerd@gnu.org>
5478
4c7c1f3f 5479 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5480 for GCC >= 2.5.
5481
52283633
SM
5482 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5483 Declare NO_RETURN.
fca99116 5484
80d26f99
GM
5485 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5486 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5487 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5488 warnings.
52283633 5489
80d26f99
GM
5490 * marker.c (byte_char_debug_check): Return void.
5491
623a0aae
GM
5492 * xfns.c (Fx_create_frame): Set default frame parameter value
5493 for tool-bar-lines to 1.
5494
5495 * dispnew.c (scrolling_window): Compare y-positions of rows
5496 equal at the start. Some simplification.
5497
5498 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5499 reused rows' y-position in the case window has a header-line, and
5500 new window start is greater than old window start.
5501
42ac0ae5
GM
5502 * process.c (process_sent_to): New variable.
5503 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5504 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5505 Declare more parameters volatile.
5506
550a625e
GM
5507 * lread.c (Vrecursive_load_depth_limit): New variable.
5508 (Fload): Check recursive loads whose recursion depth exceeds
5509 Vrecursive_load_depth_limit.
5510 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5511
8320414c
GM
55122000-09-20 Gerd Moellmann <gerd@gnu.org>
5513
f46c275e
GM
5514 * fileio.c (Fread_file_name): Doc fix.
5515
5516 * editfns.c (Fmessage_or_box): Doc fix.
5517
5518 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5519
b7e11c5b 5520 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5521
8320414c
GM
5522 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5523 symbols are specified, add color translations to the cache.
52283633 5524 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5525 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5526 xpm_cache_color.
5527 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5528 structures to xpm_init_color_cache.
5529
da1608d9
GM
55302000-09-19 Gerd Moellmann <gerd@gnu.org>
5531
52283633 5532 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5533
6badfa25
AI
55342000-09-19 Andrew Innes <andrewi@gnu.org>
5535
5536 * makefile.nt (bootstrap-emacs): Don't change directory.
5537
3a5f42bb
KH
55382000-09-19 Kenichi Handa <handa@etl.go.jp>
5539
1b7649bd
KH
5540 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5541
3a5f42bb
KH
5542 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5543 If output buffer is too small, signal an appropriated error.
5544
9f83cf0b
DL
55452000-09-18 Dave Love <fx@gnu.org>
5546
52283633 5547 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5548 (current_active_maps): Remove redundant get_local_map call.
5549
28c7826c
GM
55502000-09-18 Gerd Moellmann <gerd@gnu.org>
5551
5cefa566
GM
5552 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5553 cursor for buffers whose cursor_type is nil.
52283633 5554
6fed3546
GM
5555 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5556 a feature to implement that is already implemented.
5557 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5558 warnings.
5559
5560 * xfns.c (x_clear_image_1): New function.
5561 (x_clear_image): Use it.
52283633 5562 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5563
05b1f851
GM
5564 * dispnew.c (update_window): Move test for invisible lines
5565 at the top to update_window_line.
5566 (update_window_line): Handle invisible lines here.
5567
f4779de9
GM
5568 * xfns.c (clear_image_cache): Clear current matrices of all
5569 frames sharing an image cache. Block input while freeing
5570 images. Fix timestamp comparison.
5571 (x_clear_image): Also free the mask.
5572
28c7826c
GM
5573 * xfns.c (lookup_image): Block input while loading the image so
5574 that we won't get interrupted in a state where the image isn't yet
5575 set up completely.
5576 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5577 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5578 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5579 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5580
b7412313
GM
55812000-09-16 Gerd Moellmann <gerd@gnu.org>
5582
5583 * dispnew.c (update_window): Make sure to make desired rows
5584 current even if they are completely invisible at the top
5585 of a window.
5586
47e351a3
GM
55872000-09-15 Gerd Moellmann <gerd@gnu.org>
5588
7f8f1edc
GM
5589 * xfns.c (lookup_image): Build mask before applying an algorithm.
5590 Recognize algorithm `disabled'.
5591 (cross_disabled_images): New variable.
5592 (COLOR_INTENSITY): New macro.
5593 (x_detect_edges): Use COLOR_INTENSITY.
5594 (x_disable_image): New function.
5595 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5596
5597 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5598 disabled state, don't apply an image transformation algorithm if
5599 the user specified an image for the disabled state. Use
28c7826c 5600 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5601 user hasn't specified an image.
5602
ebb8f116
GM
5603 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5604 allocation functions with the XPM lib.
5605 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5606 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5607 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5608 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5609 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5610 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5611 functions, if possible, because these handle color allocation
5612 failure more gracefully.
5613 (Fimage_mask_p): New function.
5614
47e351a3
GM
5615 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5616 (Qedge_detection, Qheuristic): New symbols.
5617 (syms_of_xfns): Initialize new symbols.
5618 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5619 `algorithm (edge-detection ...)'.
5620 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5621 (tiff_format, gif_format, gs_format): Add `:mask'.
5622 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5623 (GIF_MASK, GS_MASK): New enumerators.
5624 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5625 (emboss_matrix, laplace_matrix): New variables.
5626 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5627 (x_edge_detection): New functions.
5628 (x_laplace): Rewritten in terms of x_detect_edges.
5629 (x_build_heuristic_mask): If image has a mask, free it.
5630
fe83b953
AI
56312000-09-14 Andrew Innes <andrewi@gnu.org>
5632
5633 * makefile.w32-in: Revert to Unix line endings.
5634
3021e816
AI
56352000-09-14 Andrew Innes <andrewi@gnu.org>
5636
5637 * makefile.w32-in: Standardize indentation somewhat.
5638 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5639 cater for differences between shells.
5640
5641 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5642
2a32b5ea
GM
56432000-09-14 Gerd Moellmann <gerd@gnu.org>
5644
5645 * xterm.c (x_produce_glyphs): If the distance from the current
5646 position to the next tab stop is less than a canonical character
5647 width, use the tab stop after that.
5648
b4331e96
DL
56492000-09-14 Dave Love <fx@gnu.org>
5650
5651 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5652
ef9e4345
GM
56532000-09-14 Gerd Moellmann <gerd@gnu.org>
5654
085536c2
GM
5655 * xdisp.c (handle_fontified_prop): While running fontification
5656 functions, bind `fontification-functions' and
5657 `after-change-functions' to nil.
5658
ef9e4345
GM
5659 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5660 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5661
5662 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5663
5664 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5665 USE_MMAP_FOR_BUFFERS.
5666
5667 * insdel.c (make_gap): Use enlarge_buffer_text.
5668
5669 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5670 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5671 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5672 from former r_alloc_* functions in ralloc.c.
52283633 5673 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5674 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5675 (mmap_init) [REL_ALLOC_MMAP]: New function.
5676 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5677 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5678 BUFFER_FREE.
5679
5680 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5681 (enlarge_buffer_text): Add prototype.
5682
5683 * ralloc.c: Remove everything having to do with the use of mmap.
5684
f8608968
GM
56852000-09-13 Gerd Moellmann <gerd@gnu.org>
5686
2a494b2d
GM
5687 * sound.c (Fplay_sound): Doc fix.
5688
8c907a56
GM
5689 * keyboard.c: Avoid some more compiler warnings.
5690 (parse_tool_bar_item): Ignore cached key bindings.
5691
f8608968
GM
5692 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5693 and allocation of Lisp data.
5694
6ab70e9a
GM
56952000-09-12 Gerd Moellmann <gerd@gnu.org>
5696
d12d0a9b
GM
5697 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5698 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5699 defaults first.
5700
6ab70e9a
GM
5701 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5702
63c36c3c
KH
57032000-09-12 Miyashita Hisashi <himi@meadowy.org>
5704
5705 * ccl.c: Comment fixed.
5706 (MAX_MAP_SET_LEVEL): Increased to 30.
5707 (PUSH_MAPPING_STACK): Enclose with do-while block.
5708 (POP_MAPPING_STACK): Likewise.
5709 (stack_idx_of_map_multiple): New variable.
5710 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5711 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5712 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5713 (ccl_driver) <CCL_MapSingle>: Likewise.
5714 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5715 with the case where looking up process reaches to the end of
5716 map-set, and call CCL programs as the above change.
5717
7ee3bd7b
GM
57182000-09-11 Gerd Moellmann <gerd@gnu.org>
5719
8ec8a5ec
GM
5720 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5721 that might be clobbered by longjmp.
5722 (check_x_display_info, x_decode_color, create_frame_xic)
5723 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5724 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5725
f74b0705
GM
5726 * lread.c (init_lread): Set Vloads_in_progress to nil.
5727 (Fload): Show list of recursively loaded files, when signaling an
5728 error.
5729
7ee3bd7b
GM
5730 * lread.c (Vloads_in_progress): New variable.
5731 (record_load_unwind): New function.
5732 (Fload): Check for recursive loads.
5733 (syms_of_lread): Initialize Vloads_in_progress.
5734 (read_integer, read1): Avoid some compiler warnings.
5735
5736 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5737 compiler warnings.
5738
974e1e5b
MB
57392000-09-11 Miles Bader <miles@gnu.org>
5740
5741 * editfns.c (Fbuffer_string): Doc fix.
5742
9824c4e3
GM
57432000-09-10 Gerd Moellmann <gerd@gnu.org>
5744
5745 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5746
6a72fdd1
KR
57472000-09-09 Ken Raeburn <raeburn@gnu.org>
5748
5749 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5750 whether to include other header files.
5751
28e6fb66
GM
57522000-09-09 Gerd Moellmann <gerd@gnu.org>
5753
52283633 5754 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5755 by Fmemq as a boolean.
28e6fb66 5756
7f8b6551
SM
57572000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5758
5759 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5760
a8710abf
GM
57612000-09-08 Gerd Moellmann <gerd@gnu.org>
5762
d1a02881
GM
5763 * ralloc.c (mmap_fd): Remove initializer which can make it
5764 read-only in a dumped Emacs.
5765 (mmap_fd_1): New variable.
5766 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5767 restore it from there.
5768 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5769 unconditionally so that mmap_fd can be initialized there.
5770 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5771 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5772 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5773
c454aac1
GM
5774 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5775
5776 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5777 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5778
fc653ef2
GM
5779 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5780
3015eec0
GM
5781 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5782 inheritance.
5783
bfe0ee88
GM
5784 * xdisp.c (try_window_id): When trying to locate cursor in
5785 unchanged rows at the top, handle the case that we can't find it.
5786
a8710abf
GM
5787 * xterm.c (x_draw_glyphs): Handle case START and END are out
5788 of bounds more carefully.
5789
6b7d4ae4
DL
57902000-09-08 Dave Love <fx@gnu.org>
5791
423193c5
DL
5792 * s/sol2.h (REL_ALLOC_MMAP): Define.
5793 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5794
5795 * ralloc.c: Don't include string.h (redundant).
5796 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5797 [!MAP_ANON]: Include fcntl.h.
5798 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5799 (r_alloc, r_re_alloc, r_alloc_free)
5800 (mmap_enlarge, mmap_set_vars): Use it.
5801 (r_alloc_init_fd): New function.
5802 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5803 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5804 malloc type.
5805
5806 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5807 Remove vm-limit.o.
5808
6b7d4ae4
DL
5809 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5810 change to __NetBSD__.
5811
44d31981
KH
58122000-09-08 Kenichi Handa <handa@etl.go.jp>
5813
5814 * search.c (compile_pattern): Check the multibyteness of cached
5815 string and PATTERN.
5816
aad40737
MB
58172000-09-08 Miles Bader <miles@gnu.org>
5818
5819 * xfaces.c (default_face_vector): Function removed.
5820 (Finternal_merge_in_global_face): Restore old global/local
5821 attribute override order. Use inline loop instead of calling
5822 default_face_vector.
5823
91a211b5
GM
58242000-09-07 Gerd Moellmann <gerd@gnu.org>
5825
5826 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5827 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5828 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5829 where necessary, in case POINTER_TYPE is `void'.
5830
03419440
EZ
58312000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5832
5833 * frame.c (make_terminal_frame): Initialize frame foreground and
5834 background colors to unspecified, for the initial instance of an
5835 MSDOS frame.
5836
f46f845b
GM
58372000-09-07 Gerd Moellmann <gerd@gnu.org>
5838
24f76fbf
GM
5839 * ralloc.c (mmap_find): Fix overlap computation.
5840 (mmap_enlarge): Compute nbytes before trying to find an
5841 overlapping region.
5842
f46f845b
GM
5843 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5844 instead of `!='.
5845
5846 * lread.c (syms_of_lread): Change value of regexp
5847 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5848
5849 * xmenu.c (xdialog_show): When looking up the selection in
5850 menu_items, take `quote' boundaries into account; this corresponds
5851 to a nil ITEM in x-popup-dialog.
5852
3c014385
KH
58532000-09-07 Kenichi Handa <handa@etl.go.jp>
5854
fd6f711b
KH
5855 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5856 not 0x81.
5857 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5858
3c014385 5859 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5860 encoding, not decoding. Fix the handling of latin-jisx0201.
5861 Check for the charset katakana-jisx0201 too.
3c014385 5862 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5863 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5864
0da3ecef
GM
58652000-09-07 Gerd Moellmann <gerd@gnu.org>
5866
ab0ee409
GM
5867 * xfaces.c (Vparam_value_alist): New variable.
5868 (syms_of_xfaces): Initialize it.
5869 (Finternal_set_lisp_face_attribute): Avoid more consing.
5870
5871 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5872 specially.
5873 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5874 (Qbackground_mode): New variable.
5875 (syms_of_frame_1): Initialize Qbackground_mode.
5876
5877 * lisp.h (Qdisplay): Declare extern.
1091dd67 5878
0da3ecef
GM
5879 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5880 change face on all frames, and change the default for new frames.
5881
b14654b9
DL
58822000-09-07 Dave Love <fx@gnu.org>
5883
5884 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5885
d24fd56f
KH
58862000-09-07 Kenichi Handa <handa@etl.go.jp>
5887
794f3670
KH
5888 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5889
0fddd0dc
KH
5890 * charset.c: Include composite.h
5891 (lisp_string_width): New function.
5892 (Fstring_width): Call lisp_string_width instead of strwidth.
5893
5894 * Makefile.in (charset.o): Depends on composite.h.
5895
d24fd56f
KH
5896 * process.c (read_process_output): Before inserting the decoded
5897 text in the buffer, adjust the multibyteness.
5898
fa0b693c
GM
58992000-09-06 Gerd Moellmann <gerd@gnu.org>
5900
52283633 5901 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5902 buffer's text buffer is null, map new memory.
5903
0a58f946
GM
5904 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5905 POINTER_TYPE and size_t.
5906 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5907 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5908 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5909 [REL_ALLOC_MMAP]: New macros.
5910 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5911 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5912 [REL_ALLOC_MMAP]: New functions.
5913
5914 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5915 before and after unexec.
5916
5917 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5918 text buffers if necessary.
5919
5920 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5921 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5922 in prototypes.
5923
fa0b693c
GM
5924 * config.in (HAVE_MMAP): Add #undef.
5925
877055f6
GM
59262000-09-05 Gerd Moellmann <gerd@gnu.org>
5927
08ba3862
GM
5928 * frame.c (Qdisplay_type): New variable.
5929 (syms_of_frame_1): Initialize it.
5930 (Fframe_parameter): New function that avoids consing.
5931 (syms_of_frame): Defsubr it.
5932
66ffe51c
GM
5933 * buffer.c (Fother_buffer): Consider buffers as invisible when
5934 they are displayed in a window on an invisible frame.
5935
877055f6
GM
5936 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5937 get-largest-window always return nil.
5938
bb970e67
GM
59392000-09-04 Gerd Moellmann <gerd@gnu.org>
5940
5941 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5942 variable; recognize Emacs 19 elc files.
5943
7a3d0e0e
MB
59442000-09-04 Miles Bader <miles@gnu.org>
5945
5946 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5947 before initially popping up the menu, so the menu doesn't flash
52283633 5948 when the face settings are significantly different from the defaults.
7a3d0e0e 5949
14473664
SM
59502000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5951
5952 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5953 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5954 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5955 (BIT_UNIBYTE): Remove.
5956 (re_match_2_internal): Delete corresponding code and streamline the
5957 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5958 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5959 (re_wctype_t): New type.
5960 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5961 (regex_compile): Use them and fix handling of overly long char classes.
5962
c1174479
AI
59632000-09-03 Andrew Innes <andrewi@gnu.org>
5964
f8803e97
AI
5965 * makefile.w32-in: Change to DOS line endings.
5966
c1174479
AI
5967 * s/ms-w32.h (ORDINARY_LINK): New define.
5968
5969 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5970 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5971
5972 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5973 (distclean): Delete them here instead.
5974
44ef7cf6
AI
5975 * w32proc.c (compare_env): Convert to uppercase for comparison,
5976 not lowercase, to match how the native Windows shell works.
5977
49b3bd82
JR
59782000-09-03 Jason Rumney <jasonr@gnu.org>
5979
5980 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5981 CVS changes the line-ends when checking in/out on DOS/Windows.
5982
5983 * makefile.nt (emacs): Do not change directory to run temacs, as
5984 the load-path is set relative to current directory.
5985
a3d35a39
MB
59862000-09-03 Miles Bader <miles@gnu.org>
5987
5988 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5989
d276b0cf
GM
59902000-09-02 Gerd Moellmann <gerd@gnu.org>
5991
715e84c9
GM
5992 * xdisp.c (redisplay_mode_lines): New function.
5993 (display_mode_lines): Return number of mode lines displayed.
5994 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5995 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5996
8892f40b
GM
5997 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5998 string.h and strings.h.
5999 (index) [HAVE_INDEX]: Add prototype.
6000
d276b0cf
GM
6001 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6002 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6003
6004 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6005 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6006
38404229
GM
60072000-09-01 Gerd Moellmann <gerd@gnu.org>
6008
6009 * lread.c (read1): Accept `?' as symbol constituent, for
6010 compatiblity with XEmacs.
6011
c0f9ea08
SM
60122000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6013
6014 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6015 (struct re_pattern_buffer): Remove newline_anchor.
6016 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6017 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6018 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6019 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6020 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6021 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6022 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6023 Get rid of references to newline_anchor.
6024 (regcomp): Allocate and precompute a fastmap.
6025
8c0f83fe
GM
60262000-08-31 Gerd Moellmann <gerd@gnu.org>
6027
6028 * lread.c (openp): GCPRO local variable `filename'.
6029
4bb91c68
SM
60302000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6031
6032 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6033
6034 * regex.c: Merge some changes from GNU libc. Add prototypes.
6035 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6036 Use memcmp and memcpy instead of bcopy and bcmp.
6037 (init_syntax_once): Use ISALNUM.
6038 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6039 (REG_UNSET_VALUE): Remove. Use NULL instead.
6040 (REG_UNSET, re_match_2_internal): Use NULL.
6041 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6042 New macros.
6043 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6044 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6045 (regex_compile): In handle_interval, return an error rather than try to
6046 unfetch the interval if we can't find the closing brace.
6047 Obey the RE_NO_GNU_OPS syntax bit.
6048 (TOLOWER): New macro.
6049 (regcomp): Use it.
6050 (regexec): Allocate regs.start and regs.end as one block.
6051
5226a931
GM
60522000-08-30 Gerd Moellmann <gerd@gnu.org>
6053
868dd24b
GM
6054 * xdisp.c (echo_area_display): Check display_completed instead
6055 of calling detect_input_pending.
6056
6057 * dispnew.c (update_frame): Only set display_completed here; move
6058 the update_begin and update_end calls here from update_frame_1.
6059 (update_frame_1): Don't set display_completed here, don't call
6060 update_begin/update_end.
6061
5226a931
GM
6062 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6063 instead of store_frame_param.
6064
2a8bd25f
GM
60652000-08-29 Gerd Moellmann <gerd@gnu.org>
6066
6067 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6068 desired window matrix hasn't been displayed, use the current row
6069 instead. Make sure that only those frame rows are updated for
6070 which there exists a corresponding enabled desired row.
52283633 6071
ba3478d9
MB
60722000-08-29 Miles Bader <miles@gnu.org>
6073
6074 * xfaces.c (default_face_vector): New function.
6075 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6076
87d0f685
GM
60772000-08-29 Gerd Moellmann <gerd@gnu.org>
6078
6079 * lread.c (openp): Prevent temporary string passed to
6080 Ffile_readable_p from being garbage collected.
6081
6fa86045
DL
60822000-08-28 Dave Love <fx@gnu.org>
6083
6084 * keymap.c (store_in_keymap): Add `static' to declaration.
6085
bb17930d
GM
60862000-08-28 Gerd Moellmann <gerd@gnu.org>
6087
6088 * emacs.c, callint.c, doc.c, editfns.c
6089 (toplevel) [HAVE_STRING_H]: Include string.h.
6090 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6091 (index): Remove prototypes which might conflict with non-standard
6092 definitions of index/strchr.
6093
6094 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6095 (rindex): Define only if !HAVE_RINDEX.
6096
6097 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6098
6099 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6100
87188200
MB
61012000-08-28 Miles Bader <miles@gnu.org>
6102
6103 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6104 made inconsistent by a font-related attribute in FROM.
6105 (merge_face_inheritance): Add function comment.
6106
41a68aef
KH
61072000-08-28 Kenichi Handa <handa@etl.go.jp>
6108
6109 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6110 the 4th arg (PREV_EVENT) Qt to suppress input method.
6111
f7c436c1
SM
61122000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6113
0b32bf0e
SM
6114 * regex.c: Indent cpp directives and remove parens after `defined'.
6115 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6116 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6117 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6118 (re_compile_pattern): Use size_t for length.
6119 (init_syntax_once): Move to a better place.
6120 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6121 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6122
f7c436c1
SM
6123 * syntax.c (back_comment): Detect cases where a comment-starter is
6124 actually inside another comment as in: /* a // b */ c // d \n.
6125 Make it clear that `comstart_pos' is unused for nested comments.
6126
6127 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6128 (KEYMAPP): New macro.
6129 (Fkeymap_parent, Fset_keymap_parent): Use it.
6130 (fix_submap_inheritance): Mark it static.
6131 (define_as_prefix, describe_buffer_bindings, describe_command)
6132 (describe_translation, describe_map): Complete prototypes.
6133
6134 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6135
6136 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6137 to better match the key-lookup behavior.
6138
6288c62f
GM
61392000-08-27 Gerd Moellmann <gerd@gnu.org>
6140
6141 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6142 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6143
e931344e
EZ
61442000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6145
6146 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6147 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6148 (xterm.o): Depend on coding.h
6149
d10dfeef
KH
61502000-08-26 Kenichi Handa <handa@etl.go.jp>
6151
6152 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6153 the corresponding '#endif'.
6154
2d73e8d3
MB
61552000-08-26 Miles Bader <miles@gnu.org>
6156
6157 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6158 * xfaces.c (QCinherit): New variable.
6159 (syms_of_xfaces): Initialize it.
6160 (LFACE_INHERIT): New macro.
6161 (Finternal_get_lisp_face_attribute)
52283633 6162 (merge_face_vector_with_property)
2d73e8d3
MB
6163 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6164 (check_lface_attrs): Allow new types of face height. Check
6165 inherit attribute.
6166 (CYCLE_CHECK): New macro.
6167 (merge_face_inheritance): New function.
6168 (merge_face_vectors): Merge inherited faces too. Add F and
6169 CYCLE_CHECK arguments.
6170 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6171 (lookup_named_face, lookup_derived_face, realize_named_face)
6172 (face_at_string_position, face_at_buffer_position): Supply
6173 new F and CYCLE_CHECK arguments to merge_face_vectors.
6174 (merge_face_heights): New function.
52283633 6175 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6176 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6177 handle relative face heights.
6178 (lface_same_font_attributes_p): Compare heights using EQ.
6179
6ce974d4
KH
61802000-08-26 Kenichi Handa <handa@etl.go.jp>
6181
6182 * charset.c (char_to_string): Check the character validity.
52283633 6183 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6184
dc1e502d
SM
61852000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6186
6187 * regex.c (PUSH_FAILURE_COUNT): New macro.
6188 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6189 Handle popping of a register's or a counter's data.
6190 (POP_FAILURE_POINT): Use the new name.
6191 (re_match_2_internal): Push counter data on the stack for succeed_n,
6192 jump_n and set_number_at and remove misleading dead code in succeed_n.
6193
bd9d0f3f
GM
61942000-08-25 Gerd Moellmann <gerd@gnu.org>
6195
6196 * xdisp.c (redisplay_internal): If considering all windows on all
6197 frames, update the display for each frame as soon as possible,
6198 instead of first building all desired matrices for all frames, and
6199 then updating them all.
6200 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6201
aa5b8e15
GM
62022000-08-24 Gerd Moellmann <gerd@gnu.org>
6203
17494071
GM
6204 * bytecode.c (mark_byte_stack): Add a comment.
6205
52283633
SM
6206 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6207 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6208 a graphical frame.
6209
c543db81
KH
62102000-08-24 Kenichi Handa <handa@etl.go.jp>
6211
d246d5f5
KH
6212 * minibuf.c (do_completion): Always use compare-string, not
6213 string-equal because the latter doesn't pay attention to
6214 multibyteness of strings.
6215
c543db81
KH
6216 * process.c (create_process): Don't setup raw-text coding here.
6217 (Fopen_network_stream): Don't set coding->src_multibyte and
6218 coding->dst_multibyte here.
6219 (read_process_output): For process filter, return unibyte string
6220 if default-enable-multibyte-characters is nil.
6221 (send_process): If OBJECT is multibyte text, be sure to encoded it
6222 by the specified coding system for the process. Otherwise, setup
6223 raw-text coding.
52283633 6224 (init_process): Don't initialize default-process-coding-system here.
c543db81 6225
9b47cfe0
EZ
62262000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6227
6228 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6229 <scroll-down-aggressively>: Likewise.
6230
f5a36960
KH
62312000-08-23 Kenichi Handa <handa@etl.go.jp>
6232
6233 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6234 zero. Set coding->produced_char correctly.
6235
69a7ffa7
AI
62362000-08-22 Andrew Innes <andrewi@gnu.org>
6237
6238 * makefile.w32-in: New file.
6239
6240 * unexw32.c (unexec): Ignore old_name, and use the actual location
6241 of the current executable instead. Base new_name on this.
6242
6243 * w32proc.c (create_child): Remove reference to security
6244 descriptor, which isn't needed and doesn't compile with mingw32.
6245
6246 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6247 up dllimport attributes.
6248 (x_update_window_end): Update prototype.
6249
6250 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6251 extern, which screws up dllimport attributes.
6252
6253 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6254 up dllimport attributes.
6255
6256 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6257 screws up dllimport attributes.
6258
6259 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6260 up dllimport attributes.
6261 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6262 screws up dllimport attributes.
6263
6264 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6265 up dllimport attributes.
6266
6267 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6268 screws up dllimport attributes.
6269
6270 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6271 screws up dllimport attributes.
6272
6273 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6274 up dllimport attributes.
6275
6276 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6277 unnecessary extern, which screws up dllimport attributes.
6278 (main): Ditto.
6279
6280 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6281 up dllimport attributes.
6282
6283 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6284 unnecessary extern, which screws up dllimport attributes.
6285
6286 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6287 screws up dllimport attributes.
6288
6289 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6290 up dllimport attributes.
6291
6292 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6293
52283633
SM
6294 * w32bdf.c (search_file_line):
6295 (set_bdf_font_info):
6296 (seek_char):
6297 (w32_get_bdf_glyph):
69a7ffa7
AI
6298 (w32_BDF_to_x_font): Fix compile warnings.
6299
52283633 6300 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6301
6302 * w32select.c: Include keyboard.h before frame.h.
6303
6304 * w32fns.c (max): Define macro.
6305 (JOHAB_CHARSET): Define if not known.
6306 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6307 (Fx_show_tip): Synch with X version.
6308
6309 * w32xfns.c: Include keyboard.h before frame.h.
6310
6311 * w32fns.c: Include keyboard.h before frame.h.
6312
6313 * w32term.c: Include keyboard.h before frame.h.
6314
6315 * fontset.c: Include keyboard.h before frame.h.
6316
6317 * w32inevt.c: Include keyboard.h before frame.h.
6318 (MOUSE_MOVED): Define if not known.
6319
6320 * minibuf.c: Include keyboard.h before frame.h.
6321
6322 * keyboard.c: Include keyboard.h before frame.h.
6323
6324 * indent.c: Include keyboard.h before frame.h.
6325
6326 * dispnew.c: Include keyboard.h before frame.h.
6327
6328 * buffer.c: Include keyboard.h before frame.h.
6329
6330 * alloc.c: Include keyboard.h before frame.h.
6331
6332 * print.c: Include keyboard.h before frame.h.
6333
6334 * process.c: Include keyboard.h before frame.h.
6335
6336 * scroll.c: Include keyboard.h before frame.h.
6337
6338 * sysdep.c: Include keyboard.h before frame.h.
6339
6340 * term.c: Include keyboard.h before frame.h.
6341
6342 * window.c: Include keyboard.h before frame.h.
6343
6344 * xdisp.c: Include keyboard.h before frame.h.
6345 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6346
6347 * frame.c: Include keyboard.h before frame.h.
6348
6349 * w32heap.h: Undefine min, max.
6350
6351 * w32gui.h: Undefine min, max.
6352
6353 * unexw32.c: Change PUCHAR to PCHAR.
6354 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6355 (relocate_offset):
6356 (get_section_info):
69a7ffa7
AI
6357 (copy_executable_and_dump_data): Remove unnecessary static defs.
6358 (copy_executable_and_dump_data): Fix compile warnings.
6359
6360 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6361
6362 * w32console.c (min): Define macro.
6363 (clear_frame, write_glyphs): Fix compile warning.
6364
52283633 6365 * w32proc.c (compare_env):
69a7ffa7
AI
6366 (find_child_console): Fix compile warning.
6367
6368 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6369 sys_errlist instead of _sys_errlist.
6370 (get_emacs_configuration_options): New function.
6371
6372 * s/ms-w32.h (sys_nerr): Provide default definition.
6373 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6374 name with _ prepended.
6375 (NSIG): Define if not known.
6376 (get_emacs_configuration): Provide extern declaration.
6377 (get_emacs_configuration_options): Provide extern declaration.
6378 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6379
6380 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6381 (map_w32_filename):
69a7ffa7
AI
6382 (read_unc_volume): Fix compile warning.
6383
6384 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6385 definitions from being used.
6386
6387 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6388
52283633 6389 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6390 (open_unc_volume): Make arg const.
6391
6392 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6393 (read_input_waiting): Remove excess parameter.
6394
6395 * w32.c (init_environment): Call _access.
6396 (check_windows_init_file): Call _close.
6397 (init_user_info): Call _putenv.
6398 (init_environment): Call _putenv and _strdup.
6399 (init_ntproc): Reset volume info cache on startup.
6400
6401 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6402 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6403 cannot override the CRT malloc.
6404
6405 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6406 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6407
6408 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6409 unless we are linking with a static CRT.
6410 (RVA_TO_PTR): Cast result to unsigned char*.
6411
6412 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6413 (add_volume_info): Use xstrdup.
6414
25060080
SM
64152000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6416
6417 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6418 (do_completion, Fminibuffer_complete_word): Use it.
6419 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6420 var so it can take non-boolean values.
6421
6917e6bb
GM
64222000-08-21 Gerd Moellmann <gerd@gnu.org>
6423
acb7cc89 6424 * editfns.c (find_field): Formatting changes.
52283633 6425 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6426 changed to prototypes, some new protypes added, some functions
6427 made static.
6428
6429 * lisp.h (set_time_zone_rule): Add prototype.
6430 (use_dialog_box): External declaration.
6431
0bbfdc25
GM
6432 * keyboard.c (gen_help_event): Add parameter SIZE.
6433 (kbd_buffer_events_waiting): Slightly rewritten.
6434 (clear_event): New function.
6435 (kbd_buffer_get_event): Use it, and clear the input_events of
6436 HELP_EVENTs.
6437 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6438 don't fill the newly created array with nils.
6439 (toplevel): Convert some old-style function forward declarations
6440 to prototypes.
6441
6442 * keyboard.h (gen_help_event): Change prototype.
6443
6444 * xterm.c (XTread_socket): Change calls to gen_help_event.
6445
6446 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6447
6917e6bb
GM
6448 * eval.c (Fmacroexpand): Doc fix.
6449
e5cd3d11
JR
64502000-08-20 Jason Rumney <jasonr@gnu.org>
6451
6452 * w32term.h (x_display_info_for_display): Remove as this function
6453 does not exist on W32.
6454
6455 * w32term.c (help_echo_window): New variable.
6456 (syms_of_w32term): staticpro it.
6457 (note_mode_line_highlight): Set it.
6458 (XTextExtents16): Removed as there is no equivalent on W32.
6459 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6460 the X way of doing this will not work for W32.
6461 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6462 (x_draw_image_foreground): Avoid drawing outside of the clip area
6463 when image doesn't have a mask.
6464 (note_mouse_highlight): Process overlays in the right order of
6465 priority. Set help_echo_window.
6466 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6467 because that's more visible for large images.
6468
6469 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6470 name to single_keymap_panes.
6471 (w32_menu_show): Set wv->title when dealing with titles.
6472 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6473
6e69ab8c
MB
64742000-08-21 Miles Bader <miles@gnu.org>
6475
6476 * minibuf.c (do_completion): Try again if we rewrite the input
6477 string, but no completion was done, so that any completion message
6478 will be correct.
6479
511bd4eb
GM
64802000-08-20 Gerd Moellmann <gerd@gnu.org>
6481
6482 * xfaces.c (lface_equal_p): Compare strings differently.
6483 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6484 (realize_tty_face): Use them.
6485 (syms_of_xfaces): Initialize new variables.
6486 (map_tty_color): New function, extracted from realize_tty_face.
6487 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6488 foreground or background color, store the new color name in the
6489 realized face; previous code trying to do this had no effect.
6490 (realize_tty_face): Use map_tty_color.
6491 (Fclear_face_cache): Set face_change_count and ensure thorough
6492 redisplay.
6493
1433385f
GM
64942000-08-19 Gerd Moellmann <gerd@gnu.org>
6495
511bd4eb
GM
6496 * undo.c (record_first_change, record_marker_adjustment): Don't
6497 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6498
419ac0a2
KH
64992000-08-18 Kenichi Handa <handa@etl.go.jp>
6500
6501 * coding.c (decode_coding_string): Set members consumed,
6502 consumed_char, produced, produced_char of *coding correctly. If
6503 decode_coding doesn't consume any byte, don't try anymore.
6504 (encode_coding_string): Likewise.
6505
7eb9e30d
GM
65062000-08-18 Gerd Moellmann <gerd@gnu.org>
6507
511bd4eb
GM
6508 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6509 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6510
6511 * xdisp.c (redisplay_internal): Compare windows for equality with
6512 EQ, instead of applying XWINDOW to something that might not
6513 be a window.
52283633 6514
dd34a735
KH
65152000-08-18 Kenichi Handa <handa@etl.go.jp>
6516
6517 * fontset.c (Finternal_char_font): Search only the selected frame
6518 for a window of the current buffer.
6519
385ff9e3
GM
65202000-08-18 Gerd Moellmann <gerd@gnu.org>
6521
511bd4eb 6522 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6523 Lisp_Objects.
6524
385ff9e3
GM
6525 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6526 second half of a HELP_EVENT is found at the start of kbd_buffer.
6527
d6abb4c7
MB
65282000-08-18 Miles Bader <miles@gnu.org>
6529
4618074a
MB
6530 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6531
d6abb4c7
MB
6532 * editfns.c (save_restriction_save): Rewrite to use markers.
6533 (save_restriction_restore): Rewrite to understand new form of data
6534 saved by save_restriction_save.
6535 (Fsave_restriction): Remove cautionary note in doc-string.
6536
a7b28523
GM
65372000-08-17 Gerd Moellmann <gerd@gnu.org>
6538
6539 * fileio.c (build_annotations): Add a comment explaining the
6540 return value of format-annotate-function. Replace a spurious call
6541 to Flength with a CONSP test. Call format-annotate-function with
6542 a fifth arg specifying how many times the function is been called
6543 in a row, to let it choose temporary buffers appropriately.
6544
03c9ed77
DL
65452000-08-17 Dave Love <fx@gnu.org>
6546
6547 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6548 declare make_temp_name twice.
6549
52283633 6550 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6551 (unreadpure): Give it an arg.
6552
6553 * unexalpha.c: Prototype fatal_unexec, mark_x,
6554 update_dynamic_symbols. Declare unexec as void.
6555
6556 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6557 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6558
6559 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6560 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6561
6562 * alloca.c: Use #error.
6563 [POINTER_TYPE]: Use it.
6564
6565 * eval.c (Fdefvar): Doc fix.
6566
6567 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6568 INITIALIZE_INTERVAL.
6569
6570 * buffer.h: Avoid DECLARE_INTERVALS.
6571
6572 * config.in: Add size_t.
6573
aae41d97
EZ
65742000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6575
6576 * w16select.c (set_clipboard_data): If there's not enough memory
6577 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6578 expects. In case of other failures, return 3.
6579 (system_error_msg): New error message.
6580 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6581 system_error_msg.
6582
65aa5e85
GM
65832000-08-16 Gerd Moellmann <gerd@gnu.org>
6584
6585 * term.c (write_glyphs): Also turn off inverse video after turning
6586 off other appearances in case TS_exit_attribute_mode is not equal
6587 to TS_end_standout_mode.
6588 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6589 with the same face.
6590 (turn_off_face): Reset standout_mode only if
6591 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6592 is equal to TS_end_standout_mode.
6593
ece23901
KH
65942000-08-16 Kenichi Handa <handa@etl.go.jp>
6595
9d7bcb2e
KH
6596 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6597 sequence at the end of the source block.
6598
ece23901
KH
6599 * ccl.c (Fccl_program_p): Docstring modified.
6600 (Fccl_execute): Likewise.
6601 (Fccl_execute_on_string): Likewise.
6602
5e30eaa2
EZ
66032000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6604
6605 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6606
290602fd
KH
66072000-08-16 Kenichi Handa <handa@etl.go.jp>
6608
6609 The following changes are mainly to fix bugs of
6610 encode/decode-coding-string failing if encoding/decoding return
6611 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6612 variable conversion_buffer.
6613
6614 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6615 decrement dst_end to avoid buffer overflow in the later call of
6616 string_as_multibyte
6617
6618 * coding.h (conversion_buffer_size, conversion_buffer)
6619 (get_conversion_buffer): Extern deleted.
6620
6621 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6622 (conversion_buffer, conversion_buffer_size): Variables deleted.
6623 (get_conversion_buffer): Function deleted.
6624 (struct conversion_buffer): New structure.
6625 (MAX_ALLOCA): New macro.
6626 (allocate_conversion_buffer): New macro.
6627 (extend_conversion_buffer, free_conversion_buffer): New functions.
6628 (ccl_coding_driver): Set coding->result.
6629 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6630 this is the last block of source.
6631 (encode_coding): Likewise. Handle the source block as the last
6632 one only when the whole source text is consumed.
6633 (decode_coding_string): Handle the case that the output buffer is
6634 too small to decode the whole source text. Use
6635 allocate_conversion_buffer, extend_conversion_buffer and
6636 free_conversion_buffer, not get_conversion_buffer.
6637 (encode_coding_string): Likewise.
6638 (init_coding): Function deleted.
52283633 6639 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6640
6641 * emacs.c (main): Don't call init_coding.
6642
52283633 6643 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6644
6645 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6646 (insert_glyphs): Likewise.
6647
6648 * w32console.c (write_glyphs): Use a locally declared
6649 conversion_buffer.
6650
b9f80d41
EZ
66512000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6652
6653 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6654 member of display_info is NULL.
6655
32dc52f7
GM
66562000-08-15 Gerd Moellmann <gerd@gnu.org>
6657
52283633 6658 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6659
32dc52f7 6660 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6661 appearances with capability `me'.
32dc52f7
GM
6662 (write_glyphs): Switch on inverse video before each face change.
6663
4eb22d33
DL
66642000-08-14 Dave Love <fx@gnu.org>
6665
6666 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6667 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6668 (lisp_free): Declare and make static.
6669
6670 * window.c: Fix embedded comment.
6671 (syms_of_window): Fix doc string.
6672
90cbf47e
GM
66732000-08-14 Gerd Moellmann <gerd@gnu.org>
6674
52283633 6675 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6676 make sure to print `C-' before `M-', like in the manual.
6677
440fc135
GM
66782000-08-11 Gerd Moellmann <gerd@gnu.org>
6679
6680 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6681 since they aren't relocated anymore.
52283633 6682 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6683
6684 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6685 partially visible line which is smaller than the window's height.
440fc135 6686
6e264fad
KH
66872000-08-11 Kenichi Handa <handa@etl.go.jp>
6688
6689 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6690 the multibyte form of eight-bit-control characters.
6e264fad
KH
6691 (Fccl_execute_on_string): Initialize ccl->multibyte.
6692
6693 * ccl.h (struct ccl_program): New member multibyte.
6694
6695 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6696
c371f69a
KH
66972000-08-11 Kenichi Handa <handa@etl.go.jp>
6698
6699 * regex.c (regex_compile) <normal_char>: Pay attention to
6700 multibyteness.
6701 (analyse_first) <exactn>: Setup fastmap correctly for
6702 eight-bit-control characters.
6703
67042000-08-11 Kenichi Handa <handa@etl.go.jp>
6705
52283633 6706 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6707
6708 * keyboard.c (make_lispy_event): Handle the new event type
6709 multibyte_char_keystroke.
6710
6711 * xterm.c: Include coding.h.
6712 (XTread_socket): Work around a bug of XmbLookupString. If the
6713 input is from XIM, decode it according to the current locale. In
6714 that case, generate multibyte_char_keystroke events.
6715
b8ddbe71
KH
67162000-08-11 Kenichi Handa <handa@etl.go.jp>
6717
6718 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6719 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6720
47589c8c
GM
67212000-08-10 Gerd Moellmann <gerd@gnu.org>
6722
6723 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6724 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6725 (move_it_in_display_line_to): Record iterator's ascent and descent
6726 before producing glyphs, and restore them when we know the glyph
6727 doesn't fit on the line.
6728 (move_it_to): Restructured so that it's easier to debug. If
6729 moving to a vpos, and not moving to an x or character position,
6730 stop as soon as the specified vpos is reached; don't move further
6731 into that line because that might change the computed line height.
6732 (try_cursor_movement): New function, extracted from the cursor
6733 movement branch of redisplay_window. If ending on a partially
6734 visible line, don't try to scroll if the cursor line is taller
6735 than the window.
6736 (redisplay_window): Use try_cursor_movement.
6737
6738 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6739 because that function doesn't cope with variable-height lines.
6740
6741 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6742 box cursor because that's better visible for large images.
52283633 6743
c51bacd6
MB
67442000-08-10 Miles Bader <miles@gnu.org>
6745
6746 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6747
bea56df7
GM
67482000-08-10 Gerd Moellmann <gerd@gnu.org>
6749
6750 * xdisp.c (Vmessages_buffer_name): New variable.
6751 (message_dolog): Use it.
6752 (syms_of_xdisp): Initialize it.
6753
99cd7364
EZ
67542000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6755
52283633 6756 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6757 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6758 redundant now that keyboard.h is included.
6759
7d093d56
EZ
67602000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6761
6762 * keyboard.c (kbd_buffer_events_waiting): New function.
6763
6764 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6765
6766 * msdos.c: Include keyboard.h.
6767 (XMenuActivate): Empty no_event events from the event buffer. If
6768 no events are left after that, call clear_input_pending.
6769 (mouse_clear_clicks): New function, code moved from mouse_init.
6770 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6771 mouse driver to ``forget'' any past clicks.
6772
6773 * Makefile.in (msdos.o): Depend on keyboard.h.
6774
41e757a6
GM
67752000-08-09 Gerd Moellmann <gerd@gnu.org>
6776
8e7bd231
GM
6777 * lisp.h (input_pending): External declaration.
6778
6779 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6780
8e7bd231
GM
6781 * xdisp.c (echo_area_display): Display thoroughly if input is
6782 pending. Bind redisplay-dont-pause to t during the redisplay.
6783 in case input is pending.
6784
6785 * dispnew.c (Qredisplay_dont_pause): New variable.
6786 (syms_of_display): Initialize and staticpro it.
6787 (update_frame_1): Don't interrupt the display for pending input if
6788 redisplay_dont_pause is set.
52283633 6789
43028b7e
GM
6790 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6791
41e757a6
GM
6792 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6793
2f2174fa
KH
67942000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6795
6796 * callproc.c (Fcall_process): Terminate the unwind-protect around
6797 the post-read-conversion of coding system.
6798
0a6fd67e
MB
6799 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6800 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6801 * buffer.h (overlays_at): Update prototype.
6802 * xdisp.c (next_overlay_change): Update call to overlays_at.
6803 * xfaces.c (face_at_buffer_position): Likewise.
6804 * textprop.c (Fget_char_property): Likewise.
6805 * xterm.c (note_mouse_highlight): Likewise.
6806
0c80756e
MB
6807 * minibuf.c (do_completion): Don't consider a simple change of
6808 case as `completion'.
6809
975f250a
KR
68102000-08-08 Ken Raeburn <raeburn@gnu.org>
6811
52283633 6812 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6813 * undo.c (record_delete): Make sure last_point_position_buffer is
6814 a buffer before comparing pointers.
6815
6816 * coding.h (decode_coding_string): Declare.
6817
6818 * intervals.h (Fprevious_single_char_property_change): Declare.
6819
6820 * textprop.c (Fprevious_single_char_property_change): Don't do
6821 arithmetic directly on lisp objects.
6822
52283633 6823 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6824
6825 * keyboard.h (menu_item_eval_property): Declare.
6826
6827 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6828 reuse as buffer name, instead of recreating (and discarding) every
6829 time a message is logged.
6830 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6831 (current_message_1, truncate_message_1, set_message_1)
6832 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6833 (current_message, truncate_echo_area, display_echo_area)
6834 (resize_echo_area_axactly): Changed calls.
b347b3fd 6835
975f250a 6836 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6837 Lisp object.
975f250a 6838 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6839 must be an integer, not a Lisp object.
975f250a 6840
46dc9912
KH
68412000-08-08 Kenichi Handa <handa@etl.go.jp>
6842
6843 * charset.c (Fchar_width): Doc fix.
6844
9f6d1a6c
GM
68452000-08-08 Gerd Moellmann <gerd@gnu.org>
6846
6847 * charset.c (Fstring_width): Doc fix.
6848
ff3d9573
GM
68492000-08-07 Gerd Moellmann <gerd@gnu.org>
6850
41e757a6 6851 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6852 line, clear ascent and descent members of the iterator structure;
6853 the height of the continued line does not affect the height of the
6854 continuation line.
6855 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6856 line taller than the window.
6857 (redisplay_window) <forced window start>: Handle case that the
6858 middle of the window is not found in any row.
6859 (dump_glyph_row): Show more information.
6860 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6861 first text line in a glyph matrix.
6862
6863 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6864 of the clip area when image doesn't have a mask.
6865
70fc58b3
GM
6866 * fns.c (sweep_weak_table): Fix survival conditions for
6867 key-or-value and key-and-value weakness.
6868
6869 * .gdbinit (xhashtable): New command.
6870
ac0e96ee
GM
6871 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6872 tables out of the list of all weak hash tables.
6873
ff3d9573
GM
6874 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6875 a new buffer is created, make sure echo_area_buffer[] references
6876 the new buffer.
6877
e0d8827b
EZ
68782000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6879
6880 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6881 the doc string.
6882
c6f35378
KH
68832000-08-07 Kenichi Handa <handa@etl.go.jp>
6884
6885 * syntax.c (skip_chars): Fix previous change. Make the handling
6886 of unibyte string consistent with that of regex search.
6887
1fd4c450
GM
68882000-08-05 Gerd Moellmann <gerd@gnu.org>
6889
e49aa397
GM
6890 * xmenu.c (popup_get_selection): Use xfree instead of free.
6891
6892 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6893
6894 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6895
6896 * callproc.c (child_setup): Use xfree instead of free.
6897
6898 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6899 instead of malloc.
6900 (run_mac_command, closedir): Use `xfree' instead of `free'.
6901
6902 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6903
6904 * eval.c (error): Use xfree instead of free.
6905
1fd4c450
GM
6906 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6907
6908 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6909 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6910
82d497fc
KH
69112000-08-05 Kenichi Handa <handa@etl.go.jp>
6912
6913 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6914 conversion.
6915
59f953a2
NF
69162000-08-04 Noah Friedman <friedman@splode.com>
6917
6918 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6919 docstring.
6920
688351f2
GM
69212000-08-04 Gerd Moellmann <gerd@gnu.org>
6922
6923 * syntax.c (skip_chars): Fix typo in error message.
6924
2dad51cc
AS
69252000-08-04 Andreas Schwab <schwab@suse.de>
6926
6927 * m/ia64.h: Moved from s/ia64.h.
6928
99bb2c60
KH
69292000-08-04 Kenichi Handa <handa@etl.go.jp>
6930
082a1df2
KH
6931 * process.c (read_process_output): Big simplification. Handle
6932 composition and post-read-conversion of coding system correctly.
6933 (send_process): Handle composition correctly.
6934
6935 * callproc.c (Fcall_process): Handle post-read-conversion of
6936 coding system if any.
6937
99bb2c60
KH
6938 * coding.c (decode_coding_iso2022): More strict check for handling
6939 single shifting.
082a1df2
KH
6940 (coding_restore_composition): Pay attention to the case that
6941 cmp_data is not set properly (because of invalid code in the
6942 source text).
6943 (run_pre_post_conversion_on_str): Include text properties in the
6944 resulting string.
6945 (decode_coding_string): Set members of coding correctly.
99bb2c60 6946
f4988be7
GM
69472000-08-03 Gerd Moellmann <gerd@gnu.org>
6948
6949 * s/ia64.h: New file.
6950
6951 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6952 Use NULL instead of 0 at the end of variable argument list of
6953 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6954 sizeof (int) < sizeof (void *).
6955
6956 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6957 of variable argument lists of XtVaGetValues and XtVaSetValues.
6958
6959 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6960 variable argument lists of XtVaGetValues and XtVaSetValues.
6961
ead53494
GM
69622000-08-02 Gerd Moellmann <gerd@gnu.org>
6963
6964 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6965 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6966
6967 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6968 prototype.
6969
6970 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6971 in call to Fsingle_key_description.
6972
6973 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6974 Callers changed.
6975
69762000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6977
6978 * window.c (display_buffer_reuse_frames): New variable.
6979 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6980 frames displaying BUFFER.
52283633 6981 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6982
10b0f752
MB
69832000-08-01 Miles Bader <miles@gnu.org>
6984
6985 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6986 when to constrain NEW_POS (they were pretty screwed up before).
6987
16425c4a
EZ
69882000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6989
6990 * msdos.c (run_msdos_command): Save and restore the master
6991 environment, for the case that child_setup signals an error.
6992 When mirroring slashes in DOS shell commands, don't fail when
6993 argv[2] has embedded blanks.
da288c14
EZ
6994 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6995 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6996 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6997
6998 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6999 using alloca; free it after run_msdos_command returns.
7000
27f73852
DL
70012000-07-27 Dave Love <fx@gnu.org>
7002
52283633
SM
7003 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7004 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7005
7006 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7007
c0261b5e
EZ
70082000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7009
7010 * editfns.c (lisp_time_argument): Fix last change.
7011
b548072f
GM
70122000-07-27 Gerd Moellmann <gerd@gnu.org>
7013
3ab82477
GM
7014 * fns.c (Fdelete): Make it work on vectors and strings in addition
7015 to lists.
7016
b548072f
GM
7017 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7018 (syms_of_fns): Initialize new variables.
52283633 7019 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7020 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7021 weakness, with t meaning the same as `key-and-value'.
7022
91ae8751
KH
70232000-07-27 Kenichi Handa <handa@etl.go.jp>
7024
7025 * coding.h (struct coding_system): Member safe_charset deleted.
7026
7027 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7028 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7029 New variables.
91ae8751
KH
7030 (coding_safe_chars): New function.
7031 (CODING_SAFE_CHAR_P): New macro.
7032 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7033 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7034 (detect_coding_iso2022): New local variable safe_chars.
7035 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7036 safe_charsets member of the coding system.
7037 (decode_coding_iso2022): New local variable safe_chars.
7038 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7039 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7040 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7041 (ENCODE_UNSAFE_CHARACTER): New macro.
7042 (encode_coding_iso2022): New local variable safe_chars. Check
7043 unsafe chars.
7044 (setup_coding_system): Delete the code to initialize
7045 coding->safe_charses
7046 (intersection, find_safe_codings): New functions.
7047 (Ffind_coding_systems_region_internal): New function.
7048 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7049 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7050 variable and initialize it.
7051
7052 * fns.c (char_table_ref_and_index): New function.
7053
7054 * lisp.h (char_table_ref_and_index): Add prototype.
7055
34a7a267
SS
70562000-07-26 Sam Steingold <sds@gnu.org>
7057
7058 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7059 (Ffloat_time): New built-in Lisp function.
34a7a267 7060
a95cb10a
GM
70612000-07-26 Gerd Moellmann <gerd@gnu.org>
7062
3353ef5a
GM
7063 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7064 for the character code.
7065
7066 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7067 GNU/Linux.
7068
a95cb10a
GM
7069 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7070 if called for a popup menu.
7071 (xmenu_show): Store help string in widget values.
7072
b4a12321
DL
70732000-07-26 Dave Love <fx@gnu.org>
7074
7075 * syswait.h: Move some definitions.
7076 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7077 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7078 perspicuous definitions.
7079 (WTERMSIG): Fix bit pattern used.
7080
13f5ad37
KH
70812000-07-26 Kenichi Handa <handa@etl.go.jp>
7082
7083 * print.c (print_object): If vector printing is truncated, print
7084 "..." to indicate it as well as the case of list printing.
7085
070fe99c
GM
70862000-07-25 Gerd Moellmann <gerd@gnu.org>
7087
969065c3
GM
7088 * xdisp.c (next_element_from_display_vector): Improve comments.
7089
7090 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7091 for the character code, and the rest for the face id as in 20.x.
7092 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7093
7094 * window.c (window_display_table): Cleaned up.
7095
070fe99c
GM
7096 * syntax.c (Fforward_word): Add last arg nil in call of
7097 Fconstrain_to_field.
7098
bad77ef7
EZ
70992000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7100
969065c3 7101 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7102 identical but for the letter-case, don't call
7103 barf_or_query_if_file_exists.
bad77ef7 7104
c28da489
MB
71052000-07-25 Miles Bader <miles@gnu.org>
7106
7107 * editfns.c (find_field): Honor special `boundary' fields.
7108 (Qboundary): New variables.
7109 (syms_of_editfns): Initialize Qboundary.
7110 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7111 Use scan_buffer instead of find_before_next_newline, because it
7112 allows us to detect the boundary case where there's a newline at
7113 the search limit.
7114 * lisp.h (Fconstrain_to_field): Update external declaration.
7115
e3c31fd5
GM
71162000-07-24 Gerd Moellmann <gerd@gnu.org>
7117
7118 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7119 if that is nil.
c28da489 7120
c66c29a2
DL
71212000-07-24 Dave Love <fx@gnu.org>
7122
7123 * s/sunos4-0.h, s/sol2.h:
7124 (LIBS_TERMCAP): Move from m/sparc.h.
7125
7126 * m/sparc.h (TERMINFO): Moved to system files (probably only
7127 relevant for sunos4 judging by its vintage).
7128 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7129 __arch64__.
7130
fbe0a958
EZ
71312000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7132
7133 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7134 name to single_keymap_panes.
7135
7d88e5c9
AS
71362000-07-24 Andreas Schwab <schwab@suse.de>
7137
7138 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7139
e024b101
GM
71402000-07-24 Gerd Moellmann <gerd@gnu.org>
7141
7142 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7143 parameters instead of using int parameters. Expect FN to accept
7144 EMACS_INT parameters.
7145 (display_echo_area, resize_echo_area_axactly, current_message)
7146 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7147 with new argument list.
7148 (resize_mini_window_1): New callback function.
7149 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7150 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7151
25c1a9ce
KH
71522000-07-24 Kenichi Handa <handa@etl.go.jp>
7153
7154 * fontset.c (fontset_ref): Remove INLINE declaration.
7155 (fontset_ref_via_base): Likewise.
7156 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7157 to downcase.
7158
7f987ac0
EZ
71592000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7160
7161 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7162 correct order of priority. If help echo was found in an overlay,
7163 use that overlay as the object in which the help echo was found.
7164
e2db3069
MB
71652000-07-22 Miles Bader <miles@gnu.org>
7166
7167 * textprop.c (Fprevious_single_char_property_change): The initial
7168 property value should be from the position preceding POSITION, not
7169 following it.
7170
5e3203e4
EZ
71712000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7172
7173 * coding.c (syms_of_coding): Doc fix for
7174 inhibit-iso-escape-detection.
7175
62145073
GM
71762000-07-21 Gerd Moellmann <gerd@gnu.org>
7177
c20aeb83
GM
7178 * xterm.c (note_mouse_highlight): Process overlays in the right
7179 order of priority.
34a7a267 7180
743934db
GM
7181 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7182
7183 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7184 overlay, use that overlay as the object in which the help was found.
743934db 7185
d1dc7e43 7186 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7187
62145073
GM
7188 * window.c (foreach_window): Instead of a fake variable argument
7189 list, take one USER_DATA argument.
7190 (foreach_window_1): Likewise, and call callback functions with two
7191 args, the window and USER_DATA.
7192 (struct check_window_data): New struct.
7193 (check_window_containing): Use it.
7194 (window_from_coordinates): Set up a struct check_window_data for
7195 foreach_window.
7196 (add_window_to_list, freeze_window_start): Change parameters
7197 according to new calling convention.
7198
7199 * window.h (foreach_window): Change prototype.
7200
7201 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7202
72032000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7204
7205 * xmenu.c (menu_help_callback): Call show_help_echo with
7206 additional arguments OBJECT and POS.
7207
11270583
KH
72082000-07-21 Kenichi Handa <handa@etl.go.jp>
7209
07b14857
KH
7210 * data.c (Faset): Allow storing any multibyte character in a
7211 string. Convert unibyte string to multibyte if necessary.
7212
11270583
KH
7213 * xfns.c (x_encode_text): New function.
7214 (x_set_name): Use x_encode_text.
7215 (x_set_title): Likewise.
7216
7217 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7218
7219 * xterm.h (x_encode_text): Add prototype.
7220
bc75b4fd
DL
72212000-07-20 Dave Love <fx@gnu.org>
7222
7223 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7224 xfree, not free.
7225
48c14970
EZ
72262000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7227
7228 * msdos.c (help_echo_window): New variable.
7229 (syms_of_msdos): Initialize and staticpro it.
7230 (IT_note_mode_line_highlight): Set help_echo_window.
7231 (IT_note_mouse_highlight): Ditto.
7232 (dos_rawgetc): Store help_echo_window in the second event produced
7233 for HELP_EVENTs.
7234
7235 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7236 Record the object that generated the help echo and the position of
7237 that object in help_echo_object and help_echo_pos. Record that
7238 some glyphs in a row are displayed in mouse-face.
7239 (IT_update_begin): Don't clear mouse highlight unless one of the
7240 enabled glyph rows is marked as being displayed in mouse-face.
7241 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7242 and position recorded in help_echo_object and help_echo_pos to the
7243 event queue.
7244 (IT_menu_display): Accept a new argument PN: the pane number of
7245 the current menu pane. Record the pane number and the item
7246 number of the item which has associated help string.
7247 (XMenuActivate): Update the prototype for help_callback in
7248 function declaration. Call IT_menu_display with the current menu
7249 pane number as an additional argument. Call help_callback with
7250 two additional arguments: the pane number and the item number of
7251 the menu item associated with the help text.
7252 (help_echo_object, help_echo_pos): New variables.
7253 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7254
7255 * msdos.h (XMenuActivate): Update prototype.
7256
4279296d
GM
72572000-07-19 Gerd Moellmann <gerd@gnu.org>
7258
47db06aa
GM
7259 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7260 Add some more prototypes.
7261
7262 * xterm.c, xterm.h: Add some more prototypes.
7263
7264 * lisp.h (Fnext_single_char_property_change): Add prototype.
7265
7266 * dispnew.c (direct_output_for_insert): Remove confusing
7267 outer local variable mouse_face_overwritten_p.
7268 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7269
4279296d
GM
7270 * alloc.c (allocate_string_data): Don't copy old string contents.
7271
670acd62
KH
72722000-07-19 Kenichi Handa <handa@etl.go.jp>
7273
7274 * coding.c (code_convert_region): Delete text properties before
7275 shrinking the conversion region.
7276
7cea38bc
GM
72772000-07-18 Gerd Moellmann <gerd@gnu.org>
7278
dc1cac59
GM
7279 * dispnew.c (update_text_area): Write the whole row if it
7280 has mouse-face in it.
7281
85a8aca9
GM
7282 * xfaces.c (face-alternative-font-family-alist): Remove
7283 DEFVAR_LISP; staticpro instead.
7284
34a7a267 7285 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7286 new arguments.
7287
7288 * keyboard.c (show_help_echo): Add parameter WINDOW.
7289 (read_char): Call show_help_echo with window extracted from Lisp
7290 help event.
7291 (gen_help_event): Add parameter WINDOW.
7292
7293 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7294
7295 * xterm.c (help_echo_window): New variable.
52283633 7296 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7297 (XTread_socket): Pass help_echo_window to gen_help_event.
7298 (syms_of_xterm): Initialize and staticpro help_echo_window.
7299
f8276b77
DL
73002000-07-18 Dave Love <fx@gnu.org>
7301
52283633 7302 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7303
088831a6
GM
73042000-07-18 Gerd Moellmann <gerd@gnu.org>
7305
3d6cd763
GM
7306 * alloc.c (allocate_string_data): If string had already data
7307 assigned, copy old contents to new string data.
7308
7309 * coding.c (syms_of_coding): Fix typo in spelling of variable
7310 `inhibit-iso-escape-detection'.
7311
088831a6
GM
7312 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7313
7314 * Makefile.in: Add dependencies on dispextern.h.
7315 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7316 `free'; both can conflict with system header files.
7317
bc8a8d55
KH
73182000-07-18 Kenichi Handa <handa@etl.go.jp>
7319
7320 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7321 undefined.
7322
069f5950
DL
73232000-07-18 Dave Love <fx@gnu.org>
7324
7325 * window.c (Fwindow_list): Declare arg `window'.
7326
aa96c820
KH
73272000-07-18 Kenichi Handa <handa@etl.go.jp>
7328
7329 * coding.c (setup_coding_system): Don't override the explicitly
7330 specified designations.
7331
06be8d32
MB
73322000-07-15 Miles Bader <miles@gnu.org>
7333
7334 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7335 from `text_property_eq' and `text_property_stickiness', respectively.
7336 (find_field, Fconstrain_to_field, char_property_eq)
7337 (char_property_stickiness): Changed to call char-property functions
7338 instead of text-property-only ones.
7339
7340 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7341 `next_single_char_property_change'). Do more error checking, and
7342 cleanup limit behavior.
7343 (Fprevious_single_char_property_change): New function.
7344 (syms_of_textprop): Initialize new subrs.
7345
7346 * xdisp.c (display_prop_end, invisible_text_between_p):
7347 Call Fnext_single_char_property_change instead of
7348 next_single_char_property_change.
7349
3fddcdc3
JR
73502000-07-15 Jason Rumney <jasonr@gnu.org>
7351
7352 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7353 after menu is finished with.
7354 (add_menu_item): Only consider wv->title as a menu title.
7355 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7356
7357 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7358 null title.
7359 (FONT_REGEXP): Remove unused macro, and its sub-components.
7360 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7361
7362 * w32term.c (help_echo_object, help_echo_pos): New variables.
7363 (note_mode_line_highlight): Store additional information about the
7364 help-echo in help_echo_object and help_echo_pos. Check both
7365 `local-map' and `keymap' properties for changing the cursor
7366 (note_mouse_highlight): Store additional information about the
7367 help-echo in help_echo_object and help_echo_pos.
7368 (note_tool_bar_highlight): Set help_echo_object to nil and
7369 help_echo_pos to -1.
7370 (w32_read_socket): Use gen_help_event instead of filling
7371 input_events manually.
7372 (syms_of_w32term): Staticpro help_echo_object.
7373 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7374 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7375 (x_clear_mouse_face): New function.
7376 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7377 (x_update_window_begin): No need to turn off the mouse
7378 highlight here.
7379 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7380 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7381 (x_fill_stretch_glyph_string): Consume runs of stretch
7382 glyphs instead of a single one.
7383 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7384 with new argument list.
7385 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7386 (x_append_glyph, x_append_composite_glyph)
7387 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7388 changes in struct glyph starting 1999-12-27. See comments for
7389 xterm.c on 2000-07-05.
7390
178c5d9c
SS
73912000-07-14 Sam Steingold <sds@gnu.org>
7392
7393 * xfaces.c (realize_x_face): Fix the last patch:
7394 check `default_face' before dereferencing.
7395
6fe533f6
DL
73962000-07-14 Dave Love <fx@gnu.org>
7397
069f5950 7398 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7399
dd7b81cf
KH
74002000-07-14 Kenichi Handa <handa@etl.go.jp>
7401
0693904a 7402 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7403 default_face's fontset, not using the default fontset.
0693904a 7404
dd7b81cf
KH
7405 * coding.c (inhibit_iso_escape_detection): New variable.
7406 (syms_of_coding): Make it a Lisp variable.
7407 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7408 nonzero, ignore ISO2022's escape sequence.
7409
d5aa31d8
GM
74102000-07-14 Gerd Moellmann <gerd@gnu.org>
7411
e5acf0ca
GM
7412 * alloca.c (malloc) [emacs]: Define as xmalloc.
7413
bd23a692
GM
7414 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7415 use that instead of the mouse position. Add parameters DX and DY.
7416
7417 * dispextern.h (Fx_show_tip): Adjust number of parameters
7418 in prototype.
7419
9662da0b
GM
7420 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7421 if HELP is a function, call it with OBJECT and POS as parameters
7422 to get the help to display.
7423 (gen_help_event, kbd_buffer_store_help_event): New functions.
7424 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7425 (read_char): Call show_help_echo with new parameters.
7426
178c5d9c 7427 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7428 Add prototypes.
7429
7430 * xterm.c (help_echo_object, help_echo_pos): New variables.
7431 (note_mode_line_highlight): Store additional information about the
7432 help-echo in help_echo_object and help_echo_pos. Check both
7433 `local-map' and `keymap' properties for changing the cursor
7434 (note_mouse_highlight): Store additional information about the
7435 help-echo in help_echo_object and help_echo_pos.
7436 (note_tool_bar_highlight): Set help_echo_object to nil and
7437 help_echo_pos to -1.
7438 (XTread_socket): Use gen_help_event instead of filling
7439 input_events manually.
7440 (syms_of_xterm): Staticpro help_echo_object.
7441
7442 * xmenu.c (menu_highlight_callback): Use
7443 kbd_buffer_store_help_event instead of setting up and input_event
7444 structure manually.
7445
7446 * xdisp.c (eval_form): GCPRO argument sexpr.
7447 (call_function): New function.
7448 (handle_single_display_prop): Use call_function and FUNCTIONP
7449 instead of checking whether if font_height is a symbol and
7450 using eval_form.
7451
7452 * eval.c (internal_condition_case_2): New function.
7453
7454 * lisp.h (FUNCTIONP): New macro.
7455 (internal_condition_case_2, call_function): Add prototypes.
7456
d5aa31d8
GM
7457 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7458 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7459 Always set `arg' member of input_events.
7460 (construct_menu_click): Unused function removed.
7461
7462 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7463
7464 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7465 (construct_drag_n_drop, x_scroll_bar_handle_click)
7466 (w32_read_socket): Always set `arg' member of input_events.
7467
7468 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7469
7470 * lisp.h (eval_form): Add prototype.
7471
7472 * xdisp.c (eval_form): Make it externally visible.
7473
0f1a9b23
GM
74742000-07-13 Gerd Moellmann <gerd@gnu.org>
7475
7476 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7477 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7478 consing. For prefix events, store the frame in the `arg' slot of
7479 the event, otherwise store the key there.
7480 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7481 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7482
7483 * xmenu.c (menu_highlight_callback): Store help string in the
7484 `arg' member of the input event; don't cons.
7485 (menubar_selection_callback): Use the `arg' slot of input events
7486 to queue additional information, instead of consing.
7487
7488 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7489
7490 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7491 TOOL_BAR_EVENTs.
7492 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7493
7494 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7495 input events to queue additional information, instead of consing.
7496
7497 * keyboard.c (kbd_buffer_gcpro): Renamed from
7498 kbd_buffer_frame_or_window. Now used for all Lisp objects
7499 referenced from the input queue.
7500 (kbd_buffer_store_event): Always use structure assignment for
7501 copying input events. Record all Lisp objects referenced from
7502 events in kbd_buffer_gcpro.
7503 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7504 differently from input events. Test for prefix menu_bar_events
7505 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7506 event in kbd_buffer_gcpro to nil.
7507 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7508 frame_or_window is equal to its arg member as prefix events.
7509 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7510 used by an input event to nil.
7511 (init_keyboard): Use two times the size of the input queue
7512 for kbd_buffer_gcpro.
7513 (syms_of_keyboard): Likewise.
7514
52283633
SM
7515 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7516 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7517
7518 * termhooks.h (struct input_event): Add member `arg'.
7519 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7520 (USER_SIGNAL_EVENT): Renamed from user_signal.
7521
7522 * xfaces.c (ASET): Remove definition.
7523
7524 * lisp.h (AREF, ASET, ASIZE): New macros.
7525
7526 * fontset.c (AREF, ASIZE): Remove definitions.
7527
7528 * fns.c (AREF): Remove definition.
178c5d9c 7529
0f1a9b23
GM
7530 * composite.c (AREF): Remove definition.
7531
712eaef2
GM
75322000-07-12 Gerd Moellmann <gerd@gnu.org>
7533
d8ee7803
GM
7534 * dispnew.c (redraw_overlapped_rows): Add missing local.
7535 (scrolling_window): Remove debug code.
7536
712eaef2
GM
7537 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7538 Before scrolling, turn off a mouse-highlight in the window
7539 being scrolled.
7540
7541 * xterm.c (x_update_window_end): Add parameter
7542 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7543 redisplay in XTframe_up_to_date.
7544 (x_clear_mouse_face): New function.
7545 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7546
7547 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7548 current glyph row.
7549 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7550 it when any row is written to that contains glyphs highlighted in
7551 mouse-face.
7552 (update_window): Call the window update end hook with new
7553 parameter MOUSE_FACE_OVERWRITTEN_P.
7554 (direct_output_for_insert): Give up if row contains mouse-face.
7555
7556 * dispextern.h (struct redisplay_interface): Add parameter
7557 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7558 (clear_mouse_face): New function pointer member.
7559
02010917
SM
75602000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7561
7562 * syntax.c (back_comment): Use one switch rather than a few `if's.
7563 Obey open_paren_in_column_0_is_defun_start.
7564 When reverting to the `slow' method, try to nicely handle the case
7565 of nested comments by checking that the comment-starter we found
7566 does indeed match the comment-ender.
7567 (scan_sexps_forward, scan_sexps_forward):
7568 Ignore excessive opening parenthesis rather than throwing an error.
7569
d76c03ea
GM
75702000-07-11 Gerd Moellmann <gerd@gnu.org>
7571
7572 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7573 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7574
7575 * dispnew.c (direct_output_forward_char): Give up if currently
7576 displaying a message instead of the minibuffer contents.
7577
7578 * xterm.c (x_update_window_begin): No need to turn off the mouse
7579 highlight here.
7580 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7581 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7582
7583 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7584 compare the mouse_face_p flags of both rows.
7585
7586 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7587
d55ead18
EZ
75882000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7589
7590 * keyboard.c (show_help_echo): Accept additional parameter
7591 ok_to_overwrite_keystroke_echo.
7592 (read_char): Call show_help_echo with a zero
7593 ok_to_overwrite_keystroke_echo argument.
52283633 7594 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7595 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7596 ok_to_overwrite_keystroke_echo argument.
7597 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7598 non-zero ok_to_overwrite_keystroke_echo argument.
7599
df75b1a3
GM
76002000-07-10 Gerd Moellmann <gerd@gnu.org>
7601
4b92c49a
GM
7602 * xdisp.c (try_window_id): If changes are all below what is
7603 displayed in the window, and point is in the window, we still
7604 might have to find point on the display.
7605
7606 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7607 glyphs instead of a single one.
7608 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7609 with new argument list.
7610 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7611
df75b1a3
GM
7612 * keymap.c (get_keymap_1): Add comment that this function can GC.
7613 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7614 comment that functions can GC.
7615 (Fset_keymap_parent): GCPRO arg KEYMAP.
7616
4314cf3e
EZ
76172000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7618
7619 * msdos.c (XMenuActivate): After exiting the menu, restore the
7620 echo area message and erase it.
7621
ab49ce15
KH
76222000-07-10 Kenichi Handa <handa@etl.go.jp>
7623
7624 * fontset.c (Ffontset_info): Make the return value more compatible
7625 with that of Emacs 20.
7626
090a072f
GM
76272000-07-07 Gerd Moellmann <gerd@gnu.org>
7628
7629 * eval.c (Fsignal): Handle case that backtrace_list is null.
7630
f92de4a6
KH
76312000-07-07 Kenichi Handa <handa@etl.go.jp>
7632
7633 * ccl.c (Fccl_execute): Typo fixed.
7634
dd8888a1
GM
76352000-07-06 Gerd Moellmann <gerd@gnu.org>
7636
e5c81191 7637 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7638
dd8888a1
GM
7639 * window.c (Fwindow_list): Reverse list at the end.
7640 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7641 means allow windows on OWINDOW's frame, only.
7642 (window_loop): Simplified; use Fwindow_list.
7643
7644 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7645
485266d0
GM
76462000-07-05 Gerd Moellmann <gerd@gnu.org>
7647
7648 * xterm.c (XTread_socket): Increment handling_signal at the start,
7649 decrement it at the end.
7650
7651 * eval.c (handling_signal): New variable.
7652 (Fsignal): Abort if handling_signal is non-zero.
7653
7654 * lisp.h (handling_signal): External declaration.
178c5d9c 7655
485266d0
GM
7656 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7657
80fcd514
KR
76582000-07-05 Ken Raeburn <raeburn@gnu.org>
7659
7660 Sound support for NetBSD through "Linux emulation" support:
7661 * config.in (HAVE_SOUNDCARD_H): Undef.
7662 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7663 * Makefile.in (LIBSOUND): New variable.
7664 (LIBES): Include it.
52283633
SM
7665 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7666 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7667 (vox_open): Use DEFAULT_SOUND_DEVICE.
7668 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7669
d5c5cddd
GM
76702000-07-05 Gerd Moellmann <gerd@gnu.org>
7671
7672 * print.c (print_error_message): If Vsignaling_function is set,
7673 show it in *Messages*.
7674
7675 * lisp.h (Vsignaling_function): External declaration.
7676
7677 * eval.c (Vsignaling_function): New variable.
7678 (Fsignal): Compute it.
7679 (syms_of_eval): Staticpro it.
7680
65171e3a
DL
76812000-07-05 Dave Love <fx@gnu.org>
7682
7683 * syswait.h: Use the autoconf recommended approach. Old code
7684 #if'd out in case we need to revert.
7685
178c5d9c 7686 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7687
e2c46326
AI
76882000-07-05 Andrew Innes <andrewi@gnu.org>
7689
7690 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7691 when non-NULL instead of __morecore, to take account of buffer
7692 memory. This also solves a problem with spurious memory warnings
7693 on Windows.
7694
7695 * ralloc.c: Make real_morecore non-static.
7696
7697 * eval.c (internal_condition_case): Comment out abort if
7698 interrupt_input_blocked is not zero.
7699
7700 * makefile.nt: Add support for `bootstrap' and related targets.
7701 Include minimal debug info in emacs.exe in release build.
7702 Remove all dependencies on lisp.h, and fixup some others.
7703
7704 * w32.c (init_environment): Install code from 20.7 for providing
7705 default values for environment variables, based on the
7706 executable's own location.
52283633 7707 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7708 (sys_socket): Install socket inheritance bug fix from 20.7.
7709
7710 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7711 here via blockinput.h).
7712
a027a91b
SM
77132000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7714
e4b31601
SM
7715 * w32menu.c (w32_menu_display_help):
7716 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7717
7718 * keyboard.h (show_help_echo): Declare.
7719
7720 * keyboard.c (show_help_echo): New function, extracted from read_char.
7721 Feval its `msg' argument if it's a cons cell.
7722 (read_char): Use it.
4cf8d9d5 7723 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7724
178c5d9c 7725 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7726 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7727 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7728 (dos_rawgetc):
7729 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7730 (note_tool_bar_highlight, w32_read_socket):
7731 Do not gratuitously ignore non-string `help-echo' properties.
7732
88d75730
GM
77332000-07-05 Gerd Moellmann <gerd@gnu.org>
7734
969f7e79
GM
7735 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7736
71201b00
GM
7737 * window.c (delete_all_subwindows): Reset Vwindow_list.
7738
88d75730
GM
7739 * xterm.c (x_append_glyph, x_append_composite_glyph)
7740 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7741 changes in struct glyph starting 1999-12-27. Some bit-fields of
7742 struct glyph were not set, which made glyphs unequal when compared
7743 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7744 effects were the result. This also depended on the contents of
7745 memory returned by xmalloc. If flickering happens again, activate
7746 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7747 gone with that, chances are that it is caused by something similar.
88d75730
GM
7748
7749 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7750
88d75730
GM
7751 * dispextern.h: Add some comments.
7752
7753 * window.c (add_window_to_list): Add parameter LIST.
7754 (window_list): Order list so that, for each frame, windows are
7755 in canonical order, and so that frames appear in the list in
7756 the order given by Vframe_list.
7757 (next_window): Reverse the handling of NEXT_P.
7758
53654733
GM
77592000-07-04 Gerd Moellmann <gerd@gnu.org>
7760
87efd256
GM
7761 * window.c (Vwindow_list): New variable.
7762 (make_window, delete_window): Set Vwindow_list to nil.
7763 (check_window_containing): New function.
7764 (window_from_coordinates): Rewritten.
7765 (add_window_to_list, window_list, candidate_window_p)
7766 (decode_next_window_args, next_window): New functions.
52283633 7767 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7768 (Fwindow_list): New function.
7769 (Fother_window): Cleaned up.
7770 (foreach_window): Add a longer "variable argument list". Let
7771 callback function return 0 to indicate that cycling over windows
7772 should stop.
7773 (foreach_window_1): Likewise.
7774 (freeze_window_start): Return int.
7775 (init_window): New function.
7776 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7777
7778 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7779 input_event with bzero.
7780 (main): Call init_window.
7781
53654733
GM
7782 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7783 a menu filter.
7784
4a8c194f
KH
77852000-07-04 Kenichi Handa <handa@etl.go.jp>
7786
7787 * composite.h (make_composition_value_copy): Extern it.
7788
7789 * composite.c (make_composition_value_copy): New function.
7790
7791 * editfns.c (Fformat): While copying text properties, make each
7792 composition property value a copy.
7793
7794 * fns.c (concat): While copying text properties, make each
7795 composition property value a copy.
7796
831a6cb0
GM
77972000-07-03 Gerd Moellmann <gerd@gnu.org>
7798
2f516940
GM
7799 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7800
178c5d9c 7801 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7802 marked already.
7803
831a6cb0
GM
7804 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7805 include those frames as candidates which have their focus
7806 redirected to the minibuffer frame.
7807
d9c4f922
SM
78082000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7809
7810 * fns.c (Fputhash): Return `value' rather than nil.
7811
3780bc22
GM
78122000-06-30 Gerd Moellmann <gerd@gnu.org>
7813
97d176db
GM
7814 * frame.c (next_frame): Don't check focus redirection in case
7815 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7816 unless their focus is redirected, which contradicts the
7817 specification of next-frame, and leads to infinite loops in
7818 certain situations when cycling through windows with next-window.
7819
dca9961d
KH
78202000-06-30 Kenichi Handa <handa@etl.go.jp>
7821
7822 * coding.c (code_convert_region): Even if the length of text is
7823 zero, try to convert it if coding->type is coding_type_ccl.
7824 (decode_coding_string, encode_coding_string): Likewise.
7825
d5483ab1
GM
78262000-06-28 Gerd Moellmann <gerd@gnu.org>
7827
af5c25e1 7828 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7829 the display if windows_or_buffers_changed.
af5c25e1
GM
7830
7831 * dispnew.c (struct row_entry): New structure.
7832 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7833 (row_table_size, old_lines, new_lines, old_lines_size)
7834 (new_lines_size, run_pool, runs_size, runs): New variables.
7835 (add_row_entry): New function.
7836 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7837 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7838 holding them in local variables. Use a larger hash table whose
7839 size depends on glyph matrix sizes. Don't use bzero to clear the
7840 hash table; instead, clear used slots only.
7841
7842 * fns.c (next_almost_prime): Make it externally visible.
7843
7844 * lisp.h (next_almost_prime): Add prototype.
7845
d5483ab1
GM
7846 * s/isc4-0.h (sigunblock): Define.
7847
7848 * s/sco5.h (sigunblock): Define.
7849
93e40f40
DL
78502000-06-27 Dave Love <fx@gnu.org>
7851
7852 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7853 (moved to osf5-0.h).
7854 [!NOT_C_CODE]: Protect string.h stuff.
7855
7856 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7857 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7858
3c4b7685
GM
78592000-06-27 Gerd Moellmann <gerd@gnu.org>
7860
97d176db 7861 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7862 below the last line from the needed window height.
7863
32cad0aa
SM
78642000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7865
7866 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7867 (Fwidget_get): Use it.
7868 (syms_of_fns): Defsubr it.
7869
2c69ced2
GM
78702000-06-26 Gerd Moellmann <gerd@gnu.org>
7871
178c5d9c 7872 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7873 display info for XIM.
7874 (xim_open_dpy): Likewise.
7875 (xim_close_dpy): Don't free the display info's XIM.
7876
7877 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7878
7879 * config.in (USE_XIM): New define.
7880
3fc720e4
GM
7881 * keymap.c (get_keyelt): For menu-items containing a `:filter
7882 FILTER', apply FILTER to the menu-item's definition to get the
7883 real definition to use.
7884
7885 * lisp.h (QCfilter): External declaration.
7886
2c69ced2
GM
7887 * xfns.c (Fimage_size): New function.
7888 (syms_of_xfns): Defsubr it.
7889
f978b2a2
AS
78902000-06-26 Andreas Schwab <schwab@suse.de>
7891
7892 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7893 Fstring_as_unibyte.
7894
94cc7892
DL
78952000-06-25 Dave Love <fx@gnu.org>
7896
52283633 7897 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7898
7899 * Makefile.in (blockinput.h): Depend on atimer.h.
7900 (atimer.h): Depend on systime.h.
7901
52283633 7902 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7903
52283633 7904 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7905
7906 * lisp.h (swap_in_global_binding): Declare.
7907
b8c24556
KR
79082000-06-24 Ken Raeburn <raeburn@gnu.org>
7909
7910 * process.c (Fopen_network_stream): Turn off atimers for duration
7911 of call to connect. (Patch from Gerd.)
7912
8cf8560b
DL
79132000-06-23 Dave Love <fx@gnu.org>
7914
511c7541
DL
7915 * ralloc.c: Maybe include unistd.h
7916
8cf8560b
DL
7917 * emacs.c (setgrp): Undefine before defining.
7918 (malloc_warning, set_time_zone_rule, index): Prototype.
7919
7920 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7921 HAVE_STRUCT_TIMEZONE.
7922
7923 * s/osf1.h: Move string.h hack here from alpha.h and make it
7924 conditional.
7925 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7926 _XOPEN_SOURCE.
7927 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7928 (SOCKLEN_TYPE): Don't define.
7929
7930 * m/alpha.h: Remove string.h hack.
7931
7932 * s/osf5-0.h: New file.
7933
7934 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7935 include time.h, done by systime.h.
7936 [__FreeBSD__]: Remove redundant includes.
7937
3fc720e4 7938 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7939 (delete_temp_file): Return Qnil to avoid warning.
7940
7941 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7942
7943 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7944 HAVE_X_WINDOWS.
7945
7946 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7947
7948 * composite.h (compose_text): Declare.
7949
7950 * xterm.c: Don't include sys/types.h unconditionally. Don't
7951 protect its inclusion with !USG (following xmenu.c).
7952
ea055732
GM
79532000-06-23 Gerd Moellmann <gerd@gnu.org>
7954
7955 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7956 in x_create_frame.
7957
74b01b80
EZ
79582000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7959
7960 * coding.c (decode_eol_post_ccl): Special handling for undecided
7961 and inconsistent EOL types.
7962
64f3a166
GM
79632000-06-22 Gerd Moellmann <gerd@gnu.org>
7964
16cf31f7
GM
7965 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7966 trough color and main window's background color.
7967
52283633 7968 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7969
7970 * xterm.h (Xt_app_con): External declaration.
7971
7972 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7973
486a103d
GM
7974 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7975
64f3a166
GM
7976 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7977 (handle_invisible_prop): Record the start of invisible text in
7978 it->add_overlay_start.
7979 (struct overlay_entry): Add member `overlay'.
7980 (handle_overlay_change): Simplify.
7981 (next_overlay_string): After having processed overlay strings at the
7982 end of the buffer, record that fact in
7983 it->overlay_strings_at_end_processed_p.
7984 (compare_overlay_entries): If before- and after-strings come
7985 from the same overlay, let before-strings come first.
7986 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7987 (load_overlay_strings): Take it->add_overlay_start into account
7988 when adding overlay strings.
7989
7990 * dispextern.h (struct it): Add member add_overlay_start.
7991
bb746ea6
DL
79922000-06-22 Dave Love <fx@gnu.org>
7993
7994 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7995
7996 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7997
a8f573f3
KH
79982000-06-22 Kenichi Handa <handa@etl.go.jp>
7999
8000 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8001 is greater than 0.
8002
9f2bbc92
DL
80032000-06-21 Dave Love <fx@gnu.org>
8004
178c5d9c 8005 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8006
3ee5041c
SM
80072000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8008
8009 * syntax.c (back_comment): Simplify string-parity counting (with
8010 the added benefit of handling multiple string-styles as long as
8011 they are not intertwined).
8012 Jump to the slow code as soon as a comment starter is found in
8013 a "string_lossage" position. Fixes the case: " /* " /* " */.
8014
4c343001
DL
80152000-06-21 Dave Love <fx@gnu.org>
8016
8017 * Makefile.in: Use GETLOADAVG_LIBS.
8018
8019 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8020 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8021
e6365855
SM
80222000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8023
8024 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8025 (Fforward_comment, scan_lists):
8026 Check the comstyle of single-char comment-starters.
8027 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8028 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8029 Check the comstyle of single-char comment-starters.
8030 Clarify control-flow around the Scomment case.
e6365855 8031
5700d2cc
DL
80322000-06-20 Dave Love <fx@gnu.org>
8033
d355bd8a
SM
8034 * fns.c (make_hash_table, maybe_resize_hash_table):
8035 Cast arg of next_almost_prime.
5700d2cc 8036
178c5d9c 8037 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8038
8039 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8040 and unistd.h.
8041
4a27bdfb
GM
80422000-06-20 Gerd Moellmann <gerd@gnu.org>
8043
a61d762c 8044 * keyboard.c (adjust_point_for_property): Check if display
52283633 8045 property should be treated as intangible by looking at its value.
a61d762c 8046
178c5d9c 8047 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8048 (display_prop_intangible_p): New functions.
8049
8050 * dispextern.h (display_prop_intangible_p): Add prototype.
8051
8052 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8053
4a27bdfb
GM
8054 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8055 argument to sigprocmask.
8056
8057 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8058 argument to sigprocmask.
8059
8060 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8061 sigprocmask_set, and pass a pointer to it to sigprocmask.
8062
8063 * sysdep.c (sigprocmask_set): New variable.
8064
8065 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8066 report_file_error.
8067
427ec082
SS
80682000-06-20 Sam Steingold <sds@gnu.org>
8069
8070 * xrdb.c: Don't declare xmalloc, xrealloc.
8071
8972fe79 80722000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8073
8074 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8075 (re_comp): Cast gettext return value to avoid complaints when
8076 !HAVE_LIBINTL.
8077
074b6efe
DL
80782000-06-20 Dave Love <fx@gnu.org>
8079
52283633 8080 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8081
5700d2cc 8082 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8083
d355bd8a 8084 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8085
8086 * m/alpha.h: Don't declare xmalloc, xrealloc.
8087
0af4f205
DL
8088 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8089
8090 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8091
8092 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8093
8094 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8095 HAVE_GETWD.
8096
074b6efe
DL
8097 * keyboard.h (poll_for_input_1): Declare.
8098
8099 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8100
8101 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8102
8103 * doprnt.c: Don't declare xmalloc, xrealloc.
8104
8105 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8106 (getenv, ctime, getwd): Removed.
8107 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8108
8109 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8110 x_set_tool_bar_lines.
8111
8112 * config.in: Add HAVE_GETWD. Move some definitions above
8113 machine/system includes.
8114
68a5e97b
KH
81152000-06-20 Kenichi Handa <handa@etl.go.jp>
8116
95417e1e
KH
8117 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8118
68a5e97b
KH
8119 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8120 contain information about ENCODING.
8121
8122 * fontset.c (FONTSET_ASCII): Use the first element of char table
8123 for an ASCII font, not defalt slot.
8124 (fontset_ref_via_base): If FONTSET doesn't contain information for
8125 C, try the default fontset.
8126 (make_fontset): Don't copy the default fontset.
8127 (fontset_font_pattern): Likewise.
8128 (accumulate_font_info): If ELT is nil, use the corresponding
8129 element in the default fontset.
8130
3b4fa1b2
DL
81312000-06-19 Dave Love <fx@gnu.org>
8132
943e731c
DL
8133 * syntax.c (Fparse_partial_sexp): Doc fix.
8134
8135 * regex.h: Test PROTOTYPES as well as __STDC__.
8136
3b4fa1b2
DL
8137 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8138 errno, strerror. Put text after #endif in comment.
8139
52283633 8140 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8141
8142 * xterm.c (x_frame_of_widget): Likewise.
8143
cdf0357b
GM
81442000-06-19 Gerd Moellmann <gerd@gnu.org>
8145
8146 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8147 to Vfundamental_mode_abbrev_table.
8148
8149 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8150 bogus objects are marked. This slows down GC by ~80 percent, but
8151 it might be worth trying when debugging GC-related problems.
8152 This feature requires conservative stack marking to be enabled.
8153
8154 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8155 returns XLookupChars, reset `modifiers' to zero.
8156
998e9f8c
DL
81572000-06-19 Dave Love <fx@gnu.org>
8158
8159 * mktime.c: Unprotoized.
8160
18e21ce8 81612000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8162
8163 * data.c (set_internal): If variable is frame-local,
8164 store the new value immediately into the frame parameter alist.
8165
140c4ac6
KR
81662000-06-19 Ken Raeburn <raeburn@gnu.org>
8167
14358466
KR
8168 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8169 in the custom handler pointer.
8170
140c4ac6
KR
8171 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8172 value, or checks for CHAR_META can fail when Lisp_Object is a
8173 union type.
8174 * keymap.c (get_keyelt): Likewise.
8175
10d7bf84
KH
81762000-06-19 Kenichi Handa <handa@etl.go.jp>
8177
8178 * ccl.h (struct ccl_program): New member eol_type.
8179 (struct ccl_spec): New member cr_carryover.
8180
8181 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8182 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8183
8184 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8185 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8186 (decode_eol_post_ccl): New function.
8187 (decode_coding): Don't detect EOL format here for CCL based coding
8188 systems.
8189 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8190 decode_eol_post_ccl after running the CCL program.
8191 (code_convert_region): Don't detect EOL format here for CCL based
8192 coding systems.
8193 (decode_coding_string): Likewise.
8194
52e386c2
KR
81952000-06-18 Ken Raeburn <raeburn@gnu.org>
8196
8197 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8198 when treating it as an integer.
8199
8200 * coding.h (encode_coding_string): Declare.
8201
8202 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8203 it as an integer.
8204
8205 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8206 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8207 to be passed to get_local_map.
8208
8209 * sound.c (Fplay_sound): Don't call make_number on
8210 Frun_hook_with_args count argument.
8211
8212 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8213 for lisp objects in X event structure data field, when lisp
8214 objects are represented with unions.
8215 (x_scroll_bar_to_input_event): Ditto.
8216
b357b9d4
KR
82172000-06-16 Ken Raeburn <raeburn@gnu.org>
8218
8219 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8220 termination of string. Fix sense of test whether
8221 Vline_number_display_limit is an integer.
b357b9d4 8222
a871441d
GM
82232000-06-16 Gerd Moellmann <gerd@gnu.org>
8224
a9021acd
GM
8225 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8226 only if HAVE_X_WINDOWS.
8227
6344985d
GM
8228 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8229 of titles.
8230
427ec082 8231 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8232 out of bounds.
8233
228b083e
EZ
82342000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8235
8236 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8237 of its headers.
8238
c25b53a2
KH
82392000-06-15 Kenichi Handa <handa@etl.go.jp>
8240
8241 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8242 start of the while loop.
8243
a6981b11
GM
82442000-06-15 Gerd Moellmann <gerd@gnu.org>
8245
e9924e52
GM
8246 * atimer.c (alarm_signal_handler): Add forward declaration.
8247
a6981b11
GM
8248 * data.c (set_internal): Remove debug code.
8249
25fa6deb
GM
82502000-06-14 Gerd Moellmann <gerd@gnu.org>
8251
dce6b995
GM
8252 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8253
9f817ea4
GM
8254 * unexec.c (toplevel) [COFF]: Include coff.h.
8255
8256 * s/lynxos.h: New file.
8257
8258 * keymap.c (Fsingle_key_description): Enclose function key and
8259 event symbol names in angle brackets.
8260
8a4e3c0c
GM
8261 * xdisp.c (setup_echo_area_for_printing): Call
8262 message_log_maybe_newline if message_buf_print is not set.
8263
8264 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8265 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8266 function does something useful even when message_buf_print is
8267 already set.
8268
52283633
SM
8269 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8270 New variables.
25fa6deb
GM
8271 (ensure_echo_area_buffers): Initialize echo buffer's
8272 truncate lines setting to nil.
8273 (with_echo_area_buffer): Don't set the echo buffer's truncate
8274 lines setting here.
8a4e3c0c 8275 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8276 of message_truncate_lines.
8277 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8278 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8279 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8280
8281 * keyboard.c (read_char): Bind message-truncate-lines to t
8282 while displaying a help-echo.
8283
8284 * lisp.h (Qmessage_truncate_lines): External declaration.
8285
163dcff3
GM
82862000-06-13 Gerd Moellmann <gerd@gnu.org>
8287
1681ead6
GM
8288 * xdisp.c (Vline_number_display_limit): Renamed from
8289 line_number_display_limit.
8290 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8291 Extend documentation string. Initialize
8292 Vline_number_display_limit to nil meaning no limit.
8293 (decode_mode_spec): Use Vline_number_display_limit with its new
8294 meaning.
8295
163dcff3
GM
8296 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8297
18e21ce8 82982000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8299
8300 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8301
163dcff3
GM
8302 * xfns.c (x_set_frame_parameters): Comment fix.
8303
8304 * frame.c (store_frame_param): Call swap_in_global_binding if the
8305 variable's current binding was chosen based on this frame.
8306
8307 * data.c (swap_in_global_binding): New function.
8308
a704139d
EZ
83092000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8310
8311 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8312 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8313
9b6610db
EZ
83142000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8315
8316 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8317
c68833d2
JR
83182000-06-12 Jason Rumney <jasonr@gnu.org>
8319
8320 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8321
8322 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8323
8324 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8325
8326 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8327
ed1056b3
GM
83282000-06-12 Gerd Moellmann <gerd@gnu.org>
8329
8330 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8331 (syms_of_xfaces): Defsubr Sdump_colors.
8332 (x_free_colors): Don't treat b&w specially on default visual.
8333 (x_free_dpy_colors): New function.
8334 (free_face_colors): Don't check visual class; it's done
8335 in x_free_colors.
8336
8337 * xterm.c (x_frame_of_widget): New function.
8338 (x_alloc_nearest_color_for_widget): Use it.
8339 (x_copy_dpy_color): New function.
8340 (x_destroy_window): Free various colors.
8341
5050a2ef
KH
83422000-06-12 Kenichi Handa <handa@etl.go.jp>
8343
8344 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8345
8346 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8347
8348 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8349
8350 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8351
8352 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8353
fb1b041d
DL
83542000-06-11 Dave Love <fx@gnu.org>
8355
8356 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8357
ff96b5f4
EZ
83582000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8359
8360 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8361
db8eeecd
GM
83622000-06-11 Gerd Moellmann <gerd@gnu.org>
8363
ed1056b3 8364 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8365 to `XEvent *'.
8366
49b71c5f
KH
83672000-06-10 Kenichi Handa <handa@etl.go.jp>
8368
c479bd55
KH
8369 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8370 (regex_compile): Fix the code for handling the case of single byte
8371 char and multibyte char being mixed in a range within [...].
8372
ff6a65c2
KH
8373 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8374 and dst_multibyte members of coding.
8375
49b71c5f
KH
8376 * charset.c (update_charset_table): Update the table
8377 bytes_by_char_head.
8378 (init_charset_once): Initialize elements of bytes_by_char_head to
8379 1 except for leading codes for private charases.
8380
8381 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8382 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8383
9e80b57d
KR
83842000-06-09 Ken Raeburn <raeburn@gnu.org>
8385
8386 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8387 access the data it doesn't point to.
8388
f83fe4b4
GM
83892000-06-08 Gerd Moellmann <gerd@gnu.org>
8390
8391 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8392 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8393 event queue. This is necessary because Emacs otherwise won't
8394 perform a switch-frame to a new frame until some other event, for
8395 example a keystroke event, forces it to do so. This has various
8396 effects, one visible being that the cursor of a frame created with
8397 C-x 5 2 or switched to with a window manager key binding like
8398 A-TAB stays hollow because selected_window isn't on the newly
8399 focused frame until the switch-frame is performed.
8400
8401 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8402 generating a switch-frame event if necessary.
8403
8404 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8405
8406 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8407 it's an integer.
8408
0890801b
KH
84092000-06-08 Kenichi Handa <handa@etl.go.jp>
8410
52283633 8411 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8412
173cbca8
GM
84132000-06-07 Gerd Moellmann <gerd@gnu.org>
8414
3091c2a6
GM
8415 * window.c (displayed_window_lines): Take empty lines at
8416 the bottom of a window into account.
427ec082 8417
f38952fe
GM
8418 * window.c (displayed_window_lines): New function.
8419 (Fmove_to_window_line): Use displayed_window_lines to determine
8420 the number of lines to move, instead of using the window's height.
8421
8422 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8423 to stop reading, even if the form read sets point to a different
8424 value when evaluated.
8425
427ec082 8426 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8427 put the cursor.
8428
6ba6c818
KH
84292000-06-07 Kenichi Handa <handa@etl.go.jp>
8430
8431 * fileio.c (e_write): Free composition data if stored in
8432 coding->cmp_data.
8433
5f1aea9a
GM
84342000-06-06 Gerd Moellmann <gerd@gnu.org>
8435
666852af
GM
8436 * xdisp.c (display_line): Set row's and iterator's
8437 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8438 Set cursor even if row ends in the middle of a character.
8439 (dump_glyph_row): Print values of new flags.
8440 (redisplay_window) <cursor movement in unchanged window>: When
8441 point has been moved forward, and PT is at the end of the cursor
8442 row, don't place the cursor in the next row if the cursor row ends
8443 in the middle of a character or at ZV.
8444
8445 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8446 (struct glyph_row): Add starts_in_middle_of_char_p and
8447 ends_in_middle_of_char_p.
8448 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8449 ends_in_middle_of_char_p flag.
8450 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8451
d13f3e2e
GM
8452 * term.c (append_glyph): Revert change of 2000-06-06.
8453
8454 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8455 padding glyph not fitting on line as whole character not
8456 fitting on line.
8457
5f1aea9a
GM
8458 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8459 this isn't true for images with `:ascent 100'.
8460
10cda9b0
KH
84612000-06-06 Kenichi Handa <handa@etl.go.jp>
8462
ed00559d
KH
8463 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8464 as modified if it is originally unmodified.
8465
10cda9b0
KH
8466 * term.c (encode_terminal_code): Change the way to check if
8467 terminal coding does any conversion.
8468 (append_glyph): Set glyph->pixel_width correctly.
8469
8470 * xdisp.c (display_line): While checking line continuation, pay
8471 attention to a padding glyph.
8472
1969fae2
GM
84732000-06-05 Gerd Moellmann <gerd@gnu.org>
8474
8475 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8476
162ccef4
DL
84772000-06-05 Dave Love <fx@gnu.org>
8478
f19f32dd
DL
8479 * xdisp.c: Include fontset.h.
8480
8481 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8482
8483 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8484
8485 * dispnew.c: Conditionally include term.h.
8486
8487 * coding.h: Declare code_convert_string_norecord.
8488
8489 * frame.h (struct frame): Use volatile unconditionally.
8490
8491 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8492
8493 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8494
8495 * systime.h: Protect against multiple inclusion.
8496 (timezone) [USG5_4]: Define as time_t.
8497
8498 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8499 (Foptimize_char_table, make_temp_name): Declare.
8500
8501 * Makefile.in (xdisp.o): Depend on fontset.h.
8502
8503 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8504
8505 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8506 (Foptimize_char_table, make_temp_name): Declare.
8507
427ec082 8508 * s/irix4-0.h:
162ccef4
DL
8509 * s/irix5-0.h:
8510 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8511
2082fe81
DL
85122000-06-02 Dave Love <fx@gnu.org>
8513
8514 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8515
dcf671d2
GM
85162000-06-02 Gerd Moellmann <gerd@gnu.org>
8517
8518 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8519 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8520 be freed.
8521
8522 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8523 glyph, use the ASCII NUL character to determine the face.
8524
d42122a3
DL
85252000-06-02 Dave Love <fx@gnu.org>
8526
8527 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8528 (VFORK_RETURN_TYPE): Remove.
427ec082 8529
d42122a3
DL
8530 * config.in: Add NO_MATHERR.
8531
dd432f16
DL
85322000-06-01 Dave Love <fx@gnu.org>
8533
90aa4ea8
DL
8534 * cmds.c (internal_self_insert): Don't check
8535 Vbefore_change_function, Vafter_change_function.
8536
8537 * insdel.c (signal_before_change, signal_after_change): Likewise.
8538
8539 * buffer.c (Vbefore_change_function, Vafter_change_function):
8540 Variables and their initializations deleted.
8541
2330c9d4
DL
8542 * callint.c (Fcall_interactively): Doc fix.
8543
dd432f16
DL
8544 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8545
bf9e8804
DL
85462000-05-31 Dave Love <fx@gnu.org>
8547
8548 * textprop.c: Revert last change -- duplicated.
8549
3694b4ab
GM
85502000-05-31 Gerd Moellmann <gerd@gnu.org>
8551
8552 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8553 in #if 0.
8554
8555 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8556
f14156cd
JR
85572000-05-31 Jason Rumney <jasonr@gnu.org>
8558
8119aab8
JR
8559 * search.c (Fre_search_forward, Fre_search_backward)
8560 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8561
f14156cd
JR
8562 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8563
4aab9be3
JR
85642000-05-30 Jason Rumney <jasonr@gnu.org>
8565
8566 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8567 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8568
52283633 8569 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8570
8571 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8572 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8573 expand a nil default_filename.
8574
8575 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8576 pointer to glyph_to_pixel_coords, not a frame.
8577
8578 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8579 coding.h to dependencies.
8580
8581 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8582
8583 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8584 window pointer to be consistent with w32term.c and xterm.c.
8585
8586 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8587 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8588 (Qline_spacing, Qcenter): New variables.
8589 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8590 (x_set_line_spacing): New function.
52283633 8591 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8592 (x_specified_cursor_type): New function.
8593 (x_set_cursor_type): Use it.
8594 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8595 and icon strings.
8596 (validate_x_resource_name, x_get_resource_string): Measure lengths
8597 of external strings in bytes.
8598 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8599 GetTextExtentPoint32 with NULL title.
8600 (Fx_create_frame): Initialize Qline_spacing.
8601 (w32_load_system_font): Initialize font->double_byte_p.
8602 (x_to_w32_charset): Use Vw32_charset_info_alist.
8603 (Image, busy cursor, tooltip functions): Merged changes from
8604 xfns.c. Not yet functional on Windows.
8605
8606 * w32gui.h (W32FontStruct): Add double_byte_p member.
8607
8608 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8609 (emacs_button_translation): Use it.
8610 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8611 in `mask' to be set.
8612
8613 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8614 menu strings.
8615
8616 * w32term.c: Format and doc changes to bring closer to xterm.c.
8617 (w32_char_font_type): New enum.
8618 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8619 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8620 (w32_encode_char): New function.
8621 (x_encode_char): Removed.
8622 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8623 x_encode_char and w32_font_is_double_byte.
8624 (x_produce_image_glyph): Use image_ascent.
8625 (x_produce_glyphs): Use new version of w32_per_char_metric and
8626 handle NULL return value. Allow extra line spacing.
8627 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8628 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8629 w32_font_type member of glyph instead.
8630 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8631 (fast_find_position): Make sure not to consider rows not visible
8632 in the window.
8633 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8634 w32_menu_display_help with input blocked, as it can abort.
8635 (x_display_and_set_cursor): Choose cursor depending
8636 on buffer-local value of cursor_type.
8637 (x_draw_bar_cursor): Add parameter WIDTH.
8638
8639 * w32term.h (CP_DEFAULT): Define.
8640 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8641
10fc3187
GM
86422000-05-30 Gerd Moellmann <gerd@gnu.org>
8643
8644 * search.c (Fre_search_forward, Fre_search_backward)
8645 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8646
d0555360
KH
86472000-05-30 Kenichi Handa <handa@etl.go.jp>
8648
8649 * coding.c (detect_coding_iso2022): Fix code for checking
8650 CODING_CATEGORY_MASK_ISO_8_2.
8651
f1ad044f
SM
86522000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8653
8654 * regex.c (PREFETCH_NOLIMIT): New function.
8655 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8656
84ec3b4b
GM
86572000-05-29 Gerd Moellmann <gerd@gnu.org>
8658
66254a13
GM
8659 * syntax.c (find_defun_start): Move test for
8660 open_paren_in_column_0_is_defun_start outside of the loop.
8661
49e70dec
GM
8662 * xdisp.c (redisplay_window): Really switch buffers when
8663 displaying mode lines, and temporarily set selected_frame to the
8664 frame of the window that's redisplayed.
8665
84ec3b4b
GM
8666 * xfaces.c (free_realized_faces): Block/unblock input.
8667 (free_realized_multibyte_face): Ditto.
8668
869a3a14
DL
86692000-05-29 Dave Love <fx@gnu.org>
8670
8671 * textprop.c (Qkeymap): New variable.
8672 (syms_of_textprop): Intern it.
8673
8674 * keymap.c: Include intervals.h.
8675 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8676
8677 * Makefile.in (keymap.o): Depend on intervals.h.
8678
8679 * keyboard.c (menu_bar_items, tool_bar_items)
8680 (Fexecute_extended_command): Deal with `keymap' property.
8681 (read_key_sequence): Track map from `keymap' property as well as
8682 `local_map'.
8683
8684 * intervals.c (get_local_map): Extra arg to allow looking for
8685 `keymap' too.
8686
8687 * intervals.h (map_property): New enum.
8688 (get_local_map): Extra arg using it.
8689 (Qkeymap): Declare.
8690
84ec3b4b 8691 * lisp.h (get_local_map): Don't declare here.
869a3a14 8692
89d0c844
KH
86932000-05-29 Kenichi Handa <handa@etl.go.jp>
8694
8695 * Makefile.in (callproc.o): Depend on composite.h.
8696
8697 * callproc.c: Include composite.h.
8698 (Fcall_process): Handle composition correctly.
8699
8700 * coding.h (coding_allocate_composition_data): Extern it.
8701 (coding_restore_composition): Likewise.
8702
8703 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8704 yet allocated, finish decoding with result
8705 CODING_FINISH_INSUFFICIENT_CMP.
8706 (coding_allocate_composition_data): Make it non-static.
8707 (coding_restore_composition): Likewise.
8708
797a084a
EZ
87092000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8710
8711 * charset.c (syms_of_charset): Revert last change.
8712
cf872af5
EZ
87132000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8714
8715 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8716 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8717 Handa.
cf872af5 8718
5b1ae051
EZ
87192000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8720
8721 * charset.c (syms_of_charset): Set width of character sets
8722 eight-bit-control and eight-bit-graphic to 1 column.
8723
34ec9ebe
GM
87242000-05-26 Gerd Moellmann <gerd@gnu.org>
8725
8726 * config.in (HAVE_SPEED_T): New define.
8727
8728 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8729 `extern speed_t'.
8730
dd854dc2
DL
87312000-05-26 Dave Love <fx@gnu.org>
8732
8733 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8734
8735 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8736 (Fsubr_arity): New function.
8737 (syms_of_data): Install them.
8738
ba9f8f95
KH
87392000-05-26 Kenichi Handa <handa@etl.go.jp>
8740
0f3e0672
KH
8741 * charset.c (init_charset_once): Set the table bytes_by_char_head
8742 correctly.
8743
cebefb44
KH
8744 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8745 the default fontset to what Emacs uses by default.
0f3e0672
KH
8746 (check_registry_encoding): This function deleted.
8747 (Fset_fontset_font): Remove the adhoc condition for the default
8748 fontset. Allow cons in FONTNAME.
cebefb44 8749
0f3e0672
KH
8750 * fns.c (map_char_table): Ignore char-table entries for
8751 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8752
7a18af49
KR
87532000-05-25 Ken Raeburn <raeburn@gnu.org>
8754
8755 * emacs.c (main): Initialize keyboard syms before initializing
8756 window code, so face names are available.
8757
d2af47df
SM
87582000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8759
8760 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8761 of an anchor at the beginning of a shy-group.
8762
fc6a6a4e
GM
87632000-05-25 Gerd Moellmann <gerd@gnu.org>
8764
8765 * xdisp.c (handle_invisible_prop): Don't try to skip over
8766 invisible text if end of text is already reached.
8767
005f0d35
DL
87682000-05-25 Dave Love <fx@gnu.org>
8769
02513cdd
DL
8770 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8771
005f0d35
DL
8772 * coding.c (encode_eol): Add null statement after label.
8773
89f6ca4e
EZ
87742000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8775
8776 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8777 2000-05-20.
8778
a4e1759e
KH
87792000-05-25 Kenichi Handa <handa@etl.go.jp>
8780
8781 * ccl.c (ccl_driver): Fix previous change.
8782
eacfd7fe
KH
87832000-05-25 Kenichi Handa <handa@etl.go.jp>
8784
46ab33a9
KH
8785 * coding.c (run_pre_post_conversion_on_str): Set point to the
8786 beginning of buffer before calling coding->post_read_conversion.
8787 (decode_coding_string): Give correct args to
8788 run_pre_post_conversion_on_str.
8789 (encode_coding_string): Likewise.
8790
eacfd7fe
KH
8791 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8792 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8793 eight-bit-graphic correctly.
8794
f8569325
DL
87952000-05-24 Kenichi HANDA <handa@etl.go.jp>
8796
8797 * fileio.c (Finsert_file_contents): Even if a file is not found,
8798 execute codes for setting up coding system. Call
8799 after-insert-file-functions unconditionally.
8800
04545643
GM
88012000-05-24 Gerd Moellmann <gerd@gnu.org>
8802
8803 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8804 BSD_PGRPS are not defined.
8805
747d90ea
KH
88062000-05-24 Kenichi Handa <handa@etl.go.jp>
8807
8808 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8809 DESCRIPTION.
8810 (syms_of_charset): Avoid building same strings.
8811
716e3b88
GM
88122000-05-23 Gerd Moellmann <gerd@gnu.org>
8813
8814 * lread.c (Fload): Add a comment about the meaning of
8815 Vuser_init_file being t.
8816
8817 * puresize.h (BASE_PURESIZE): Increase to 675000.
8818
8819 * s/gnu-linux.h (setpgrp): Don't define it here because this
8820 prevents compilation on GNU/Linux systems with glib 2.2.
8821
8822 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8823 as setpgid.
427ec082 8824
9aeb39fa
EZ
88252000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8826
8827 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8828 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8829 version.
8830 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8831
29ced61b
KH
88322000-05-23 Kenichi Handa <handa@etl.go.jp>
8833
52283633 8834 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8835
3d80f24d
KH
8836 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8837
52283633 8838 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8839
29ced61b
KH
8840 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8841
d7e00792
KH
88422000-05-22 Kenichi Handa <handa@etl.go.jp>
8843
c9d80d38
KH
8844 * keyboard.c (read_char): Allow character codes 128..255 to be
8845 handled by input-method-function.
8846
d7e00792
KH
8847 * insdel.c (adjust_markers_for_replace): Fix previous change.
8848 (adjust_after_replace): If PREV_TEXT is nil, call
8849 adjust_markers_for_insert, not adjust_markers_for_replace.
8850
087121cc 88512000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8852
087121cc
GM
8853 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8854 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8855 [HAVE_GRANDPT]: Define.
8856 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8857
8858 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8859 like SYSV_PTYS.
8860
8861 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8862
8863 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8864
c9671f81
KH
88652000-05-20 Kenichi Handa <handa@etl.go.jp>
8866
8867 The following changes are to handle 8-bit characters in a
8868 multibyte buffer/string without facing with byte combining
8869 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8870 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8871
8872 * Makefile.in (fns.o): Depend on charset.h.
8873
8874 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8875 convert it to unibyte.
8876 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8877
8878 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8879 apparent char boundary.
8880 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8881 0x80..0x9F to/from multibyte form.
8882
8883 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8884 to unibyte.
8885
8886 * callproc.c (Fcall_process): Always encode an argument string if
8887 it is multibyte. Setup src_multibyte and dst_multibyte members of
8888 process_coding properly.
ce75fd23 8889
c9671f81
KH
8890 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8891 SPLIT_NON_ASCII_CHAR.
8892
8893 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8894 as is.
8895 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8896
52283633 8897 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8898 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8899 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8900 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8901 and eight-bit-graphic.
8902 (char_to_string): Likewise. Signal an error for too large
8903 character code.
8904 (char_printable_p): Return 0 for 8-bit characters.
8905 (update_charset_table): Update iso_charset_table only when a final
8906 character is non-negative.
8907 (find_charset_in_text): Renamed from find_charset_in_str.
8908 Arguments and return value changed. Callers changed.
8909 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8910 be -1 if CHARSET is used only internally.
8911 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8912 eight-bit-graphic.
8913 (Fcharset_after): Simplified.
8914 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8915 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8916 (multibyte_chars_in_text): Simplified by assuming there's no
8917 invalid multibyte sequence.
52283633
SM
8918 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8919 (str_as_unibyte): New functions.
8920 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8921 (init_charset_once): Initialization for
8922 LEADING_CODE_8_BIT_CONTROL.
8923 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8924 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8925 eight-bit-control and eight-bit-graphic.
8926
52283633
SM
8927 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8928 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8929 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8930 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8931 (CHARSET_REVERSE_CHARSET): Likewise.
8932 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8933 eight-bit-graphic.
8934 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8935 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8936 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8937 encounter an invalid multibyte sequence.
8938 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8939 sequence is always valid.
8940 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8941 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8942 (CHAR_STRING): For 8-bit characters, call char_to_string.
8943 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8944 multibyte sequence is always valid.
8945 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8946 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8947 (str_as_unibyte): Extern them.
c9671f81 8948 (BCOPY_SHORT): Fix a bug.
52283633 8949 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8950 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8951 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8952 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8953
bd4bde7f 8954 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8955 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8956 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8957 (EMIT_BYTES): New macros.
8958 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8959 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8960 macros deleted.
8961 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8962 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8963 check the validity of multibyte sequence.
8964 (decode_coding_emacs_mule): New function.
8965 (encode_coding_emacs_mule): New macro.
8966 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8967 the source.
8968 (DECODE_ISO_CHARACTER): Just return a character code.
8969 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8970 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8971 EMIT_CHAR to produced decoded characters. Exit the loop only by
8972 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8973 block here.
8974 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8975 only position codes for an invalid character.
8976 (encode_designation_at_bol): Return new destination pointer. 5th
8977 arg DSTP is changed to DST.
8978 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8979 from the source by ONE_MORE_CHAR. Don't handle the case of last
8980 block here.
8981 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8982 macros deleted.
52283633
SM
8983 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8984 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8985 TWO_MORE_BYTES to fetch a byte from the source.
8986 (encode_eol): Pay attention to coding->src_multibyte.
8987 (detect_coding, detect_eol): Preserve members src_multibyte and
8988 dst_multibyte.
8989 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8990 (encoding_buffer_size): Set magnification to 3 for all coding
8991 systems that require encoding.
8992 (ccl_coding_driver): For decoding, be sure that the result is
8993 valid multibyte sequence.
8994 (decode_coding): Initialize coding->errors and coding->result.
8995 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8996 and raw-text, always call decode_eol. Handle the case of last
8997 block here. If not coding->dst_multibyte, convert the resulting
8998 sequence to unibyte.
8999 (encode_coding): Initialize coding->errors and coding->result.
9000 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9001 and raw-text, always call encode_eol. Handle the case of last
9002 block here.
9003 (shrink_decoding_region, shrink_encoding_region): Detect cases
9004 that we can't skip data more rigidly.
9005 (code_convert_region): Setup src_multibyte and dst_multibyte
9006 members of coding. For decoding, if the buffer is multibyte,
9007 convert the source sequence to unibyte in advance. For encoding,
9008 if the buffer is multibyte, convert the resulting sequence to
9009 multibyte afterward.
9010 (run_pre_post_conversion_on_str): New function.
9011 (code_convert_string): Deleted and divided into the following two.
9012 (decode_coding_string, encode_coding_string): New functions.
9013 (code_convert_string1, code_convert_string_norecord): Call one of
9014 above.
9015 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9016 MAKE_NON_ASCII_CHAR.
52283633
SM
9017 (Fset_terminal_coding_system_internal)
9018 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9019 and dst_multibyte members.
9020 (init_coding_once): Initialize iso_code_class with new enum
9021 ISO_control_0 and ISO_control_1.
9022
9023 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9024 devided into ISO_control_0 and ISO_control_1.
9025 (struct coding_system): New members src_multibyte, dst_multibyte,
9026 errors, and result. Delete member fake_multibyte.
9027 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9028 nonzero.
9029 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9030 nonzero.
9031
9032 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9033 (Faset): Likewise.
9034
9035 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9036 multibyte form.
9037 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9038 combining occurs.
9039 (Ftranspose_region): Delete codes for handling byte combining.
9040
9041 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9042 dst_multibyte members of coding. On handling REPLACE on unibyte
9043 buffer, convert the result of decode_coding to unibyte. On
9044 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9045 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9046 multibyteness of the source (buffer or string).
9047
9048 * fns.c (concat): Handle 8-bit characters correctly.
9049 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9050 unibyte in the result.
9051 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9052 valid multibyte form in the result.
9053 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9054 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9055 return -1, signal an error.
9056 (base64_encode_1): New arg MULTIBYTE. Get each character by
9057 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9058 character is found, return -1.
9059 (Fbase64_decode_region): Delete codes for handling byte-combining.
9060 Treat each decoded byte as a unibyte character.
9061 (Fbase64_decode_string): Return unibyte string.
9062 (Fcompare_strings, concat, string_byte_to_char): Use
9063 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9064 FETCH_STRING_CHAR_ADVANCE.
9065 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9066 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9067
9068 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9069 SPLIT_NON_ASCII_CHAR.
9070 (fontset_ref_via_base, fontset_set): Likewise
9071
9072 * insdel.c (adjust_markers_for_record_delete): Deleted.
9073 (adjust_markers_for_insert): Argument changed. Caller changed.
9074 (adjust_markers_for_replace): Likewise.
52283633
SM
9075 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9076 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9077 (copy_text): Delete unused local varialbe c_save. For converting
9078 to multibyte, be sure to make all 8-bit characters in valid
9079 multibyte form.
9080 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9081 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9082 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9083 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9084 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9085 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9086 handling byte combining.
9087 (adjust_before_replace): Deleted.
427ec082 9088
c9671f81
KH
9089 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9090 SPLIT_NON_ASCII_CHAR.
9091 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9092 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9093 (Fkey_description): Likewise.
9094
9095 * lread.c (read1): On reading multibyte string, be sure to make
9096 all 8-bit chararacters in valid multibyte form.
9097 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9098
9099 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9100 unconditionally.
9101
9102 * process.c (Fstart_process): GCPRO current_dir before calling
9103 Ffind_operation_coding_system. Encode arguments here.
9104 (create_process): Don't encode arguments here. Setup
9105 src_multibyte and dst_multibyte members of struct coding.
9106 (read_process_output): Setup src_multibyte and dst_multibyte
9107 members of struct coding. If the output is to multibyte buffer,
9108 always decode the output of the process. Adjust the
52283633 9109 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9110 (send_process): Setup coding->src_multibyte according to the
9111 multibyteness of the source.
9112
52283633 9113 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9114 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9115 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9116
52283633 9117 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9118
9119 * w16select.c (Fw16_set_clipboard_data): Setup members
9120 src_multibyte and dst_multibyte of coding. Adjusted for the
9121 change for find_charset_in_str.
9122 (Fw16_get_clipboard_data): Likewise.
9123
9124 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9125 dst_multibyte of coding.
9126 (x_to_w32_font): Likewise.
9127
9128 * w32select.c (Fw32_set_clipboard_data): Setup members
9129 src_multibyte and dst_multibyte of coding. Adjusted for the
9130 change for find_charset_in_str.
9131 (Fw32_get_clipboard_data): Likewise.
9132
9133 * xdisp.c (get_next_display_element): Handle 8-bit characters
9134 correctly.
52283633
SM
9135 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9136 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9137
9138 * xselect.c (selection_data_to_lisp_data): Setup members
9139 src_multibyte and dst_multibyte of coding. Adjusted for the
9140 change for find_charset_in_str.
9141 (lisp_data_to_selection_data): Likewise.
9142
5f64c9e0
GM
91432000-05-19 Gerd Moellmann <gerd@gnu.org>
9144
52283633 9145 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9146
5f64c9e0
GM
9147 * dispextern.h (Vimage_types): Add extern declaration.
9148
9149 * xdisp.c (Vimage_types): Moved here from xfns.c.
9150 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9151
9152 * xfns.c (Vimages_types): Moved to xdisp.c.
9153 (syms_of_xfns): Move `image-types' to xdisp.c.
9154
9155 * w32fns.c (Vimage_types): Removed.
9156 (syms_of_w32fns): Remove `image-types'.
9157
813086ea
KH
91582000-05-18 Kenichi Handa <handa@etl.go.jp>
9159
9160 * fns.c (map_char_table): Pay attention to character number of
9161 charset. Check the validity of charset at the first level. For
9162 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9163 the default value.
9164
9165 * fontset.c: Include "buffer.h".
9166 (fs_load_font): If the face has fontset, record the face ID in
9167 that fontset.
9168 (Finternal_char_font): New function.
9169 (accumulate_font_info): New function.
9170 (Ffontset_info): Rewritten for the new fontset implementation.
9171 (syms_of_fontset): Register Vdefault_fontset in the first element
9172 of Vfontset_table. Include Vdefault_fontset in
9173 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9174 function.
9175
bdaebbf0
DL
91762000-05-16 Dave Love <fx@gnu.org>
9177
9178 * m/iris5d.h: Deleted -- unused.
9179
cb613bb8
GM
91802000-05-16 Gerd Moellmann <gerd@gnu.org>
9181
b15f3b77
GM
9182 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9183 `invalid' instead of `illegal'.
9184
9185 * indent.c (Fmove_to_column): When ending within a tab, insert
9186 spaces first so that markers at the end of the tab get adjusted.
9187
835c1b36
GM
9188 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9189 buffer list that wasn't selected in that frame.
9190
cb613bb8
GM
9191 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9192 is needed on mescaline, use a 2 char prefix, and call
9193 make_temp_name with second arg non-zero.
9194
9195 * fileio.c (make_temp_name): New function, extracted from
9196 Fmake_temp_name.
9197 (Fmake_temp_name): Use it.
9198
f685bea9
EZ
91992000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9200
52283633 9201 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9202
a1b8d58b
GM
92032000-05-15 Gerd Moellmann <gerd@gnu.org>
9204
9205 * Makefile.in (lisp): Add env.elc.
9206
9207 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9208
a265079f
GM
92092000-05-12 Gerd Moellmann <gerd@gnu.org>
9210
9211 * search.c (Freplace_match): Handle case of `\N' in the
9212 replacement when there's no group N.
9213
da4496b6
GM
92142000-05-11 Gerd Moellmann <gerd@gnu.org>
9215
0ace421a
GM
9216 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9217 of the message to message_dolog.
9218
1172eb8d
GM
9219 * keyboard.c (read_char): Don't clear current message for help
9220 events; let the code handling help events handle this. Change
9221 code detecting help events that should be ignored.
9222
da4496b6
GM
9223 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9224 we're interating over a string.
9225
0623e40f
DL
92262000-05-09 Dave Love <fx@gnu.org>
9227
9228 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9229 that offset before writing. Move gcpro region past call of
9230 Ffile_regular_p.
9231
bae2503b
DL
92322000-05-04 Dave Love <fx@gnu.org>
9233
9234 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9235
ec82fb2f
GM
92362000-05-04 Gerd Moellmann <gerd@gnu.org>
9237
9238 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9239 of inserted characters when BUF equals the current buffer, and PT
9240 is in front of or equal to FROM.
9241
cbf18892
GM
92422000-05-03 Gerd Moellmann <gerd@gnu.org>
9243
4ff40dd0
GM
9244 * xdisp.c (handle_single_display_prop): If display property value
9245 is invalid, or something not supported on the frame, restore
9246 iterator's position to what it was initially. Make sure to return
9247 0 for invalid and unsupported property values.
9248
cbf18892
GM
9249 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9250 that x_per_char_metric returns null.
9251
1b0672c3
GM
92522000-05-02 Gerd Moellmann <gerd@gnu.org>
9253
576da55d
GM
9254 * xterm.h (struct face): Add forward declaration.
9255 (struct image): Ditto.
9256 (image_ascent): Add prototype.
9257
9258 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9259 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9260 image_ascent instead of using IMAGE_ASCENT.
9261
9262 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9263 (IMAGE_ASCENT): Removed.
9264
9265 * xfns.c (Qcenter): New variable.
9266 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9267 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9268 (image_ascent): New function.
9269 (lookup_image): Recognize `:ascent center'.
9270 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9271 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9272 (xbm_load): Don't set image's ascent here.
9273 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9274 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9275 check ascent values here.
9276 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9277 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9278 (syms_of_xfns): Initialize Qcenter.
9279
1b0672c3
GM
9280 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9281 to the limits, increase the limits.
9282
0d7811ed
KH
92832000-05-01 Kenichi Handa <handa@etl.go.jp>
9284
9285 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9286 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9287
a943a5ca
GM
92882000-04-28 Gerd Moellmann <gerd@gnu.org>
9289
9290 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9291 taller than the window.
9292
5dba1e29
KH
92932000-04-28 Kenichi Handa <handa@etl.go.jp>
9294
9295 * xfaces.c (realize_x_face): Fix the argument of the second
9296 xassert. BASE_FACE may not be a face for ASCII.
9297
353964e3
GM
92982000-04-27 Gerd Moellmann <gerd@gnu.org>
9299
c76e04a8
GM
9300 * print.c (print_object): Treat print-length < 0 as nil.
9301
9302 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9303
9304 * s/freebsd.h (TERMCAP_OBJ): Removed.
9305 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9306
9307 * lread.c (read1): Don't treat period followed by certain
9308 characters as symbol start.
9309
9310 * xfns.c (slurp_file): New function.
9311 (xbm_image_p): Handle case of in-memory XBM files.
9312 (xbm_scan): Rewritten to work on memory buffers instead of files.
9313 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9314 Work on memory buffers instead of files. If DATA is null test
9315 if buffer looks like an in-memory XBM file.
9316 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9317 memory buffers instead of files.
9318 (xbm_file_p): New function.
9319 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9320
353964e3
GM
9321 * lread.c (end_of_file_error): New function.
9322 (read1): Call it instead of signaling `end-of-file' directly.
9323
427ec082 9324 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9325 with Fprinc instead of Fprin1.
9326
24d744ac
KR
93272000-04-26 Ken Raeburn <raeburn@gnu.org>
9328
9329 * window.c (freeze_window_start): Check that minibuffer scroll
9330 window isn't nil before extracting the window structure pointer
9331 from it.
9332
9333 * undo.c (record_delete): If we hit the end of the undo list, stop
9334 picking elements apart.
9335
7464346d
GM
93362000-04-26 Gerd Moellmann <gerd@gnu.org>
9337
9338 * xdisp.c (display_line): If lines are continued, restore
9339 iterator's ascent/descent information to the values before the
9340 first glyph not fitting on the line.
9341
612839b6
GM
93422000-04-25 Gerd Moellmann <gerd@gnu.org>
9343
9344 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9345 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9346
9347 * dispnew.c (increment_matrix_positions): Renamed from
9348 increment_glyph_matrix_buffer_positions.
9349 (increment_row_positions): Renamed from
9350 increment_glyph_row_buffer_positions.
9351
9352 * dispextern.h: Change names of renamed functions from dispnew.c
9353 in prototypes.
9354
cc181e95
GM
93552000-04-24 Gerd Moellmann <gerd@gnu.org>
9356
abfcc168
GM
9357 * fileio.c (Fdo_auto_save): Create directories for auto-save
9358 list file if necessary.
9359
cc181e95
GM
9360 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9361 from buffer or frame.
9362 (automatic_hscrolling_p): New variable.
9363 (hscroll_windows): Scroll windows horizontally only if automatic
9364 hscrolling is allowed.
9365 (syms_of_xdisp): New variable `automatic-hscrolling'.
9366
9367 * frame.h (struct frame): Add member extra_line_spacing.
9368
9369 * xfns.c (x_set_line_spacing): New function.
9370 (Fx_create_frame): Set line spacing from resources.
9371 (Qline_spacing): New variable.
9372 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9373
cc181e95
GM
9374 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9375
9376 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9377 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9378 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9379 extra_line_spacing from default value.
9380 (init_buffer_once): Initialize default value of extra_line_spacing.
9381
9382 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9383 and extra3.
9384
9385 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9386 prompt_width. Add extra line spacing.
9387
9388 * term.c (produce_glyphs): Remove reference to struct it's
9389 prompt_width.
9390
9391 * dispextern.h (struct it): Remove member prompt_width, add
9392 extra_line_spacing.
9393
58827478
GM
93942000-04-22 Gerd Moellmann <gerd@gnu.org>
9395
9396 * dispnew.c (update_frame_line): When writing a whole line, make
9397 sure cursor is in the right row afterwards, otherwise a use of
9398 capability `ch' in cmgoto might leave the cursor in the row below.
9399
25a87f42
GM
94002000-04-21 Gerd Moellmann <gerd@gnu.org>
9401
9402 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9403
9404 * keyboard.c (timer_check): Fix typo in comment.
9405
54edf5c2
KH
94062000-04-21 Kenichi Handa <handa@etl.go.jp>
9407
9408 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9409 name change: ch -> character.
9410
3a64eef5
GM
94112000-04-20 Gerd Moellmann <gerd@gnu.org>
9412
9413 * keyboard.c (echo_message_buffer): New variable.
9414 (echo_now): Set echo_message_buffer to the echo area buffer used
9415 to display the echo.
9416 (cancel_echoing): Reset echo_message_buffer to nil.
9417 (read_char): Code rewritten that handles canceling an echo or
9418 echoing a dash, respectively.
9419
9420 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9421 directory doesn't exist.
9422
6142fdcb
DL
94232000-04-19 Dave Love <fx@gnu.org>
9424
9425 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9426 (concat): Don't allow numeric args.
9427 (Fconcat): Doc change.
6142fdcb 9428
ac6b5352
SM
94292000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9430
9431 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9432 instead define end_match(1|2) more carefully.
9433 Use GET_CHAR_BEFORE_2 for `begline'.
9434
cb9215e4
GM
94352000-04-19 Gerd Moellmann <gerd@gnu.org>
9436
5e3dac3f
GM
9437 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9438 on 64-bit systems where NULL is defined as `0'.
9439
9440 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9441 the `variable argument list' to make it work on Alpha.
9442
cb9215e4
GM
9443 * m/alpha.h (_LP64) [!_LP64]: Define.
9444 (ORDINARY_LINK): Define for NetBSD.
9445
9446 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9447
f532dca0
DL
94482000-04-19 Dave Love <fx@gnu.org>
9449
c750667e
DL
9450 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9451 change.
9452
9453 * Makefile.in (LIBS): Don't use.
9454 (GETLOADAVG_OBJ): Define again.
9455 (otherobj): Add GETLOADAVG_OBJ.
9456
f532dca0
DL
9457 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9458
1c7e22fd
GM
94592000-04-18 Gerd Moellmann <gerd@gnu.org>
9460
f6d3257b
GM
9461 * lread.c (read_filtered_event): Cancel and start busy cursor.
9462
427ec082 9463 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9464 that the per-character metrics may be null.
9465
e10f64e7
GM
94662000-04-17 Gerd Moellmann <gerd@gnu.org>
9467
0daee095
GM
9468 * buffer.c (clone_per_buffer_values): New function.
9469 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9470 clone_per_buffer_values if CLONE is not nil.
9471
e10f64e7
GM
9472 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9473
38687d43
DL
94742000-04-16 Dave Love <fx@gnu.org>
9475
9476 * Makefile.in: Remove obsolete localcpp stuff.
9477 (GETLOADAVG_OBJ): Don't define.
9478 (obj): Move LIBOBJS...
9479 (otherobj): ... to here.
9480 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9481 whitespace-only lines after the continuation (Irix).
9482
c21c7262
GM
94832000-04-14 Gerd Moellmann <gerd@gnu.org>
9484
9485 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9486
9487 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9488
314767c0
DL
94892000-04-14 Dave Love <fx@gnu.org>
9490
9491 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9492 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9493 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9494 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9495 NLIST_STRUCT.
9496
9497 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9498 autoconfiscated HAVE_GETLOADAVG.
9499
9500 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9501 BROKEN_MKTIME.
9502
a2522dca
GM
95032000-04-14 Gerd Moellmann <gerd@gnu.org>
9504
9505 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9506 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9507
33744b5d
DL
95082000-04-14 Dave Love <fx@gnu.org>
9509
c21c7262 9510 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9511 (INTERVAL_SRC): Convert to make variable.
9512 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9513 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9514 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9515 add LIBOBJS.
9516 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9517 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9518 (shortlisp): Add facemenu, float-sup, frame.
9519 (SOME_MACHINE_LISP): Remove them from here.
9520 (LIBES): Change unused LDLIBS to autoconf LIBS.
9521
9522 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9523
9d3d5916
KH
95242000-04-14 Kenichi Handa <handa@etl.go.jp>
9525
9526 * composite.c (update_compositions): If FROM and TO are not in a
9527 valid range, do nothing.
9528
198e3c7a
GM
95292000-04-13 Gerd Moellmann <gerd@gnu.org>
9530
52283633 9531 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9532
52283633 9533 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9534
9535 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9536 as TERMCAP_OBJ.
9537
055a28c9
EZ
95382000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9539
9540 * fileio.c (a_write): Remove redundant semi-colons.
9541 (e_write): Return -1 if failed to write all the data.
9542 This fixes the changes made at 1999-12-15.
9543
f5c75033
DL
95442000-04-12 Dave Love <fx@gnu.org>
9545
9546 * fns.c (mapcar1): Test for null vals to support mapc.
9547 (Fmapc): New function.
9548
0c3cfc51
EZ
95492000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9550
9551 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9552 (IT_frame_up_to_date): Support the buffer local value of
9553 cursor-type, if defined.
9554
33465a31
DL
95552000-04-10 Dave Love <fx@gnu.org>
9556
9557 * editfns.c (preceding-char, following-char): Doc fix.
9558
6ed56568
KR
95592000-04-10 Ken Raeburn <raeburn@gnu.org>
9560
9561 * Makefile.in (temacs): Revert 2000-03-12 change.
9562
7cf80d4e
JR
95632000-04-10 Jason Rumney <jasonr@gnu.org>
9564
9565 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9566
34f3f342
GM
95672000-04-10 Gerd Moellmann <gerd@gnu.org>
9568
1a1b1895
GM
9569 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9570 area buffer, if it's not set up yet.
9571
34f3f342
GM
9572 * indent.c (compute_motion): Set immediate_quit.
9573
be0dbdab
GM
95742000-04-09 Gerd Moellmann <gerd@gnu.org>
9575
52283633 9576 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9577 (realize_tty_face): Suppress boldness if colors are the inverse of
9578 the default colors, and tty_suppress_bold_inverse_default_colors_p
9579 is set.
9580 (Ftty_suppress_bold_inverse_default_colors): New function.
9581 (syms_of_xfaces): Defsubr it.
9582
be0dbdab
GM
9583 * buffer.c (Frestore_buffer_modified_p): New function.
9584 (syms_of_buffer): Defsubr it.
9585
e8413c3b
KR
95862000-04-08 Ken Raeburn <raeburn@gnu.org>
9587
87f67317
KR
9588 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9589 charset id (int) argument, not a charset (Lisp_Object).
9590
e8413c3b
KR
9591 * coding.h (code_convert_string): Declare.
9592 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9593 object, as the fourth argument to code_convert_string.
9594
52283633 9595 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9596 (Fset_fontset_font): Use EQ to compare lisp objects.
9597
7c752c80
KR
95982000-04-05 Ken Raeburn <raeburn@gnu.org>
9599
c0333abc
KR
9600 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9601 a pointer that looks like a lisp object.
9602 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9603 zero, instead see whether it's an integer object, since they can't
9604 have intervals.
9605 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9606
52283633
SM
9607 * dispnew.c (allocate_matrices_for_frame_redisplay)
9608 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9609 to convert between (unsigned) int values and lisp integers.
9610 * keyboard.c (read_key_sequence): Likewise.
9611 * lread.c (substitute_object_recurse): Likewise.
9612 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9613 * minibuf.c (do_completion, Fminibuffer_complete_word)
9614 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9615 * term.c (produce_special_glyphs): Likewise.
9616
9617 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9618 * print.c (print_preprocess, print_object): Likewise.
9619
9620 * search.c (compile_pattern): Use NILP when checking for nil.
9621
74e49b38
KR
9622 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9623 __OPTIMIZE__]: Provide a GNU C macro version that handles
9624 lisp-object unions.
9625 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9626 field, to better cope with ENABLE_CHECKING and calls that modify a
9627 Lisp_Object using its old value.
9628
685e5ed2
GM
96292000-04-04 Gerd Moellmann <gerd@gnu.org>
9630
c407c570
GM
9631 * window.c (compare_window_configurations): Signal an error
9632 if parameters C1 or C2 aren't window configurations.
9633
685e5ed2
GM
9634 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9635 AFTER_POTENTIAL_GC calls around calls to functions that can
9636 signal an error and thus invoke the debugger.
9637
587a49ab
GM
96382000-04-03 Gerd Moellmann <gerd@gnu.org>
9639
62f20204
GM
9640 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9641 an error if decoding fails.
9642
587a49ab
GM
9643 * keyboard.c (lispy_mouse_names): Variable removed.
9644 (Vlispy_mouse_stem): New variable.
9645 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9646 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9647 for any mouse button number. Increase size of mouse_syms and
9648 button_down_location as needed. Call modify_event_symbol with
9649 different arguments.
9650 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9651 Call modify_event_symbol with different arguments.
9652 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9653 for any button number. Call modify_event_symbol with different
9654 arguments.
9655 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9656 Accept a string for NAME_ALIST_OR_STEM.
9657
9658 * lisp.h (larger_vector): Add prototype.
9659
9660 * fns.c (larger_vector): Make externally visible.
9661
9662 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9663
2d1675e4
SM
96642000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9665
9666 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9667 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9668 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9669 we are between str1 and str2.
9670 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9671 (PATFETCH): Use `TRANSLATE'.
9672 (PATFETCH_RAW): Fetch multibyte char if applicable.
9673 (PATUNFETCH): Remove.
9674 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9675 When writing a char, write it directly into the pattern buffer rather
9676 than going needlessly through a temp char-array.
9677 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9678 multibyte magic and remove the useless `#ifdef emacs'.
9679 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9680 buffer.
9681
9682 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9683 conditional on `emacs'.
9684
9685 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9686
cc2d8c6b
KR
96872000-04-01 Ken Raeburn <raeburn@gnu.org>
9688
9689 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9690 non-union-type versions of XMARK and friends here, because XMARK
9691 and friends won't work on an integer field if NO_UNION_TYPE is not
9692 defined.
52283633 9693 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9694
52283633 9695 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9696 (syms_of_composite): Delete local var NARGS, pass an int as first
9697 argument to Fmake_hash_table.
9698
2387b382
KR
9699 * editfns.c (text_property_stickiness): Use NILP to test
9700 Lisp_Object boolean value.
9701 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9702 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9703 problems reading from and changing the same lisp value in an
9704 XSETSTRING call.
9705
27660e89
GM
97062000-04-01 Gerd Moellmann <gerd@gnu.org>
9707
9708 * term.c (TN_no_color_video): New variable.
9709 (term_init): Intitialize TN_no_color_video.
9710 (enum no_color_bit): New enumeration.
9711 (MAY_USE_WITH_COLORS_P): New macro.
9712 (turn_on_face): Use it to determine if attributes may be used
9713 combined with colors.
9714
3578db3c
KR
97152000-04-01 Ken Raeburn <raeburn@gnu.org>
9716
9717 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9718 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9719 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9720 proper accessor macros.
9721 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9722 (grow_mini_window): Fix typo getting int value of root->height.
9723
6fc556fd
KR
9724 * xdisp.c (compute_string_pos): Fix order of arguments to
9725 string_pos_nchars_ahead.
9726 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9727 count arg to variable-arg routines like Frun_hook_with_args and
9728 Fformat.
587a49ab
GM
9729 (back_to_previous_visible_line_start)
9730 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9731 fixed-arg routines like Fget_char_property and Fmake_string.
9732 (reconsider_clip_changes): Use XINT when comparing integer lisp
9733 objects, or passing them as int arguments.
587a49ab
GM
9734 (mark_window_display_accurate, insert_left_trunc_glyphs)
9735 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9736 storing or passing integer values as lisp objects.
9737 (set_cursor_from_row, highlight_trailing_whitespace): Use
9738 INTEGERP, not implicit test against zero, for glyph object.
9739 (try_window_id): Don't use make_number when we want an int value.
9740
9741 * xfaces.c (xlfd_symbolic_value): Make last argument a
9742 Lisp_Object, to be consistent with callers.
9743 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9744 (lface_hash): Apply XFASTINT to lisp values before folding in.
9745
9746 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9747 fill in window width and height. Pass an int, not a lisp object,
9748 as first arg to Finsert.
9749
6e7b2457
GM
97502000-04-01 Gerd Moellmann <gerd@gnu.org>
9751
610d841e
GM
9752 * xfaces.c (realize_basic_faces): Block input while realizing
9753 the faces.
9754
6e7b2457
GM
9755 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9756
9757 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9758
aa110c0c
GM
97592000-03-31 Gerd Moellmann <gerd@gnu.org>
9760
9761 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9762 or ASCII, handle case that per-char metric is null.
aa110c0c 9763
8801a864
KR
97642000-03-30 Ken Raeburn <raeburn@gnu.org>
9765
c6129d7e
KR
9766 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9767
52283633
SM
9768 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9769 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9770 pointer, using eassert.
9771 * frame.h (XFRAME): Likewise.
9772
52283633
SM
9773 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9774 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9775 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9776 * data.c (set_internal): Likewise.
52283633
SM
9777 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9778 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9779 * fileio.c (auto_save_1): Likewise.
9780 * insdel.c (check_markers): Likewise.
9781 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9782 * undo.c (record_insert): Likewise.
9783 * vmsproc.c (child_sig): Likewise.
9784 * window.c (unshow_buffer, window_loop): Likewise.
9785 * xterm.c (x_erase_phys_cursor): Likewise.
9786
8e7af858
GM
97872000-03-30 Gerd Moellmann <gerd@gnu.org>
9788
9789 * xfns.c (free_image_cache): Free the cache structure itself
9790 last, after all its members have been freed.
9791
9792 * lisp.h (xstrdup): Add prototype.
9793
9794 * alloc.c (xstrdup): Moved here from xfaces.c.
9795 (allocating_for_lisp): Variable removed.
52283633 9796 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9797
9798 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9799 of Fsymbol_value.
9800 (xstrdup): Moved to alloc.c.
9801
e0b8c689
KR
98022000-03-29 Ken Raeburn <raeburn@gnu.org>
9803
b96f9fb7
KR
9804 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9805
9806 * emacs.c (main): Fix sense of no-loadup test.
9807
e0b8c689
KR
9808 * config.in (ENABLE_CHECKING): Undef.
9809
9810 * lisp.h (struct interval): Replace "parent" field with a union of
9811 interval pointer and Lisp_Object; add new bitfield to use as
9812 discriminant. Change other flag fields to bitfields.
9813 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9814 is defined and the supplied test fails, print a message and abort.
9815 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9816
9817 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9818 pointers; abort if the value looks like a lisp object.
52283633
SM
9819 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9820 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9821 Modify for new interval parent definition.
9822
52283633
SM
9823 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9824 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9825 addressable lisp object in the interval structure.
9826 (die): New function.
9827 (suppress_checking): New variable.
9828
9829 * intervals.c (interval_start_pos): Just return 0 if there's no
9830 parent object.
9831
f83c5440
GM
98322000-03-29 Gerd Moellmann <gerd@gnu.org>
9833
9834 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9835 and earlier Emacs versions.
9836
9837 * keyboard.c (Ftop_level): Cancel busy-cursor.
9838
9839 * eval.c (call_debugger): Cancel busy-cursor.
9840
fdce64ff
KH
98412000-03-29 Kenichi Handa <handa@etl.go.jp>
9842
9843 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9844 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9845
f6a3f532
SM
98462000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9847
9848 * regex.c (analyse_first): New function obtained by ripping out most
9849 of re_compile_fastmap and generalizing it a little bit so that it
9850 can also just return whether a given (sub)pattern can match the empty
9851 string or not.
9852 (regex_compile): Use `analyse_first' to decide whether the loop-check
9853 needs to be done or not for *, +, *? and +? (the loop check is costly
9854 for non-greedy repetition).
9855 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9856
e9b309ac
DL
98572000-03-28 Dave Love <fx@gnu.org>
9858
52283633 9859 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9860
e9b309ac
DL
9861 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9862
ed0767d8
SM
98632000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9864
9865 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9866 an expression.
9867 (enum re_opcode_t): Update description of succeed_n.
9868 (PATFETCH): Always define.
9869 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9870 operators, char classes, shy-groups and intervals).
9871 Optimize special cases of intervals so as to only use succeed_n and
9872 jump_n when really needed.
9873 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9874 that we don't have to handle the special cases any more.
9875 Simplify on_failure_jump handling as well.
9876
e11e7e46
JR
98772000-03-28 Jason Rumney <jasonr@gnu.org>
9878
9879 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9880
88faab89
GM
98812000-03-27 Gerd Moellmann <gerd@gnu.org>
9882
182ff242
GM
9883 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9884
9885 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9886
182ff242
GM
9887 * alloc.c (mark_maybe_object): New function.
9888 (mark_memory): Use it.
9889 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9890 (setjmp_tested_p, longjmp_done): New variables.
9891 (test_setjmp): New function.
9892 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9893 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9894
c1005d06
GM
9895 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9896 to DEC_TEXT_POS and INC_TEXT_POS.
9897
9898 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9899 with parameter MULTIBYTE_P.
9900
52283633 9901 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9902
7439e5b9 9903 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9904 buffers because it looks for multibyte character byte sequences
9905 which don't exist in unibyte text.
7439e5b9 9906
d9c545da
GM
9907 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9908
11fd416e 9909 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9910 [DEBUG_X_COLORS]: New functions.
9911 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9912
9913 * xfns.c (x_set_cursor_color): Get color reference counts right.
9914
9915 * xterm.c (x_copy_color): New function.
9916 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9917
9918 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9919 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9920 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9921 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9922 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9923 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9924 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9925 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9926 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9927 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9928
11fd416e
GM
9929 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9930 names for handling per-buffer variables.
d9c545da
GM
9931
9932 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9933 instead of MAX_BUFFER_LOCAL_VARS.
9934 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9935
9936 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9937
88faab89
GM
9938 * xfns.c (x_specified_cursor_type): New function.
9939 (x_set_cursor_type): Use it.
9940
9941 * buffer.h (struct buffer): Add cursor_type.
9942
d80f42b7
SM
99432000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9944
9945 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9946 (print_partial_compiled_pattern, re_compile_fastmap):
9947 Handle new opcode.
d80f42b7
SM
9948 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9949 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9950 executing it as well as when popping it off the stack to find infinite
9951 loops in non-greedy repetition operators.
9952
89e80928
GM
99532000-03-26 Gerd Moellmann <gerd@gnu.org>
9954
3d4ff2dd
GM
9955 * doc.c (Qfunction_documentation): New variable.
9956 (syms_of_doc): Initialize Qfunction_documentation.
9957 (Fdocumentation): If FUNCTION is a symbol with non-nil
9958 `function-documentation' property, return a documentation derived
9959 from that.
9960
bd96bd79
GM
9961 * buffer.c (syms_of_buffer): Add default-cursor-type.
9962 (init_buffer_once): Don't let cursor_type have a local value
9963 in every buffer.
9964
19d1bc27
GM
9965 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9966 on buffer-local value of cursor_type.
9967 (x_draw_bar_cursor): Add parameter WIDTH.
9968
9969 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9970 (init_buffer_once): Set default cursor_type value to t.
9971 Mark cursor_type as local everywhere.
9972 (syms_of_buffer): New per-buffer variable cursor-type.
9973
89e80928
GM
9974 * buffer.h (struct buffer): Remove member local_var_flags,
9975 add local_flags.
9976 (MAX_BUFFER_LOCAL_VARS): New macro.
9977 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9978 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9979 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9980 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9981
52283633 9982 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9983
9984 * category.c (Fset_category_table): Use new macros for per-buffer
9985 variables.
9986
9987 * buffer.c (buffer_permanent_local_flags): Make a char array.
9988 (max_buffer_local_idx): New variable.
9989 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9990 for new handling of per-buffer variables.
9991 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9992 (init_buffer_once): Initialize per-buffer vars differently.
9993 Set max_buffer_local_idx.
9994
9995 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9996 variables.
9997
52283633 9998 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9999
10000 * data.c (do_symval_forwarding, store_symval_forwarding)
10001 (find_symbol_value, set_internal, default_value, Fset_default)
10002 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10003 per-buffer variables.
10004
10005 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10006
9a0dd3dc
GM
100072000-03-24 Gerd Moellmann <gerd@gnu.org>
10008
b68c375f
GM
10009 * xterm.c (x_term_init): Unblock input around call1 of
10010 Qvendor_specific_keysyms.
10011
9a0dd3dc
GM
10012 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10013 (find_defun_start): Consider an open parenthesis in column 0
10014 a defun start only if open_paren_in_column_0_is_defun_start is set.
10015 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10016
7973e637
SM
100172000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10018
10019 * eval.c (Fautoload): Add entry in load-history (if after dump).
10020 * lread.c (load-history): Update docstring.
10021
39210e90
GM
100222000-03-24 Gerd Moellmann <gerd@gnu.org>
10023
10024 * indent.c (Fvertical_motion): Always use the current buffer.
10025 Temporarily change the window's buffer, if necessary.
10026
72db3ab5
GM
100272000-03-23 Gerd Moellmann <gerd@gnu.org>
10028
10029 * xterm.c (fast_find_position): Make sure not to consider rows
10030 not visible in the window.
10031
990b2375
SM
100322000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10033
10034 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10035 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10036
ff4df011
JR
100372000-03-22 Jason Rumney <jasonr@gnu.org>
10038
10039 * w32menu.c (single_submenu): Set help string to NULL if none.
10040 (w32_menu_show): Set help string correctly.
10041 (add-menu-item): Set help string in MIIM_DATA for menu item.
10042 Load SetMenuItemInfoA explicitly.
10043 (w32_menu_display_help): New function.
427ec082 10044
ff4df011
JR
10045 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10046 (QCdata): Moved to xdisp.c.
10047
10048 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10049 (Vw32_charset_to_codepage_alist): Removed.
10050 (Vw32_charset_info_alist): New variable.
52283633
SM
10051 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10052 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10053 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10054 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10055 with TODO comment.
10056 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10057 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10058 Define Vw32_charset_info_alist and w32_charset symbols.
10059
100602000-03-22 Jason Rumney <jasonr@gnu.org>
10061
10062 * makefile.nt (w32bdf.obj): Update dependencies.
10063
10064 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10065
10066 * w32fns.c: Include fontset.h after dispextern.h.
10067 (Fx_create_frame): Do not create fontset.
10068 (w32_load_system_font): Doc fix.
10069 (Fx_close_connection): Free full_name if it is not shared.
10070
10071 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10072 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10073 Callers updated.
ff4df011
JR
10074 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10075 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10076 (w32_font_is_double_byte): New function, needs body.
10077 (x_append_glyph): Set glyph->glyph_not_available_p.
10078 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10079 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10080 character, convert it to a unibyte character.
10081 (struct glyph_string): Delete member `charset'.
10082 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10083 calculating it is found.
10084 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10085 the case that per char metric is not available correctly.
10086 (x_fill_glyph_string): Handle the case that the specific glyph is
10087 not available correctly.
10088 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10089 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10090 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10091 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10092 fontset. Don't call FS_LOAD_FONT.
10093
439d5cb4
KR
100942000-03-22 Ken Raeburn <raeburn@gnu.org>
10095
10096 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10097 (INT_LISPLIKE): New macro.
10098 (NULL_INTERVAL_P): Use it.
52283633
SM
10099 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10100 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10101 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10102
10103 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10104 explicit references to "parent" field of struct interval and
10105 associated unclean type conversions.
52283633
SM
10106 * intervals.c (create_root_interval, root_interval, rotate_right)
10107 (rotate_left, balance_possible_root_interval, split_interval_right)
10108 (split_interval_left, interval_start_pos, find_interval)
10109 (next_interval, previous_interval, update_interval)
10110 (adjust_intervals_for_insertion, delete_node, delete_interval)
10111 (adjust_intervals_for_deletion, merge_interval_right)
10112 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10113 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10114 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10115 Likewise.
10116 * syntax.c (update_syntax_table): Likewise.
10117
10118 * intervals.c (reproduce_tree_obj): New function, like
10119 reproduce_tree but takes a Lisp_Object for the parent. Declare
10120 with prototype.
10121 (graft_intervals_into_buffer): Use it when appropriate.
10122 (reproduce_tree): Declare with prototype.
10123 (balance_possible_root_interval): Check that the parent is a lisp
10124 object before trying to examine its type.
10125
ee1c5b21
GM
101262000-03-22 Gerd Moellmann <gerd@gnu.org>
10127
10128 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10129 as strings only if both are known to be strings.
10130
10131 * s/openbsd.h (LIBS_TERMCAP): Undef.
10132
1fb352e0
SM
101332000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10134
10135 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10136 definitions for non-Emacs compilation.
10137 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10138 outside of `#ifdef emacs'.
10139 (print_partial_compiled_pattern): Update.
10140 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10141 (re_compile_fastmap): Merge handling of charset and charset_not (for
10142 emacs and non-emacs compilation as well).
10143 Similarly for (not)categoryspec and (not)syntaxspec.
10144 Don't use the fastmap when reaching `anychar' since the added
10145 complexity is not justified.
10146 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10147 and (not)syntaxspec. Merge (not)categoryspec.
10148
fdaa1f77
KH
101492000-03-22 Kenichi Handa <handa@etl.go.jp>
10150
52283633
SM
10151 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10152 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10153 --without-x.
fdaa1f77 10154
d152fb46
DL
101552000-03-21 Dave Love <fx@gnu.org>
10156
10157 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10158 doc string.
10159
d2cafc8c
GM
101602000-03-21 Gerd Moellmann <gerd@gnu.org>
10161
10162 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10163 (lface_fully_specified_p): Don't check contents of
10164 LFACE_FONT_INDEX because that attribute is optional.
10165 (realize_x_face): Remove now unwarranted xassert.
10166
9111d4b5
KH
101672000-03-21 Kenichi HANDA <handa@etl.go.jp>
10168
10169 The following changes are to make font selection based on
10170 characters, not charset. In addition, they recover fontset
10171 facilities while utilizing the new font selection mechanism.
10172
6c4bfdc0
KH
10173 * Makefile.in (fontset.o): Depend on dispextern.h.
10174
10175 * alloc.c (mark_face_cache): Don't mark face->registry.
10176
9111d4b5
KH
10177 * dispextern.h (struct glyph): New member glyph_not_available_p.
10178 Use 22 bits for face_id.
10179 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10180 (struct face): Delete member registry, new member ascii_face.
10181 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10182 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10183 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10184 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10185
10186 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10187 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10188 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10189 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10190 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10191 (fs_free_face_fontset, fontset_font_pattern)
10192 (face_suitable_for_char_p, face_for_char)
10193 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10194 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10195 (FS_LOAD_FACE_FONT): New macro.
10196
10197 * fontset.c: All codes rewritten or adjusted for the change of
10198 fontset implementation. Now fontset is represented by char table.
52283633
SM
10199 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10200 Variables removed.
9111d4b5 10201 (my_strcasecmp): Function removed.
52283633 10202 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10203 (AREF, ASIZE): New macros.
52283633
SM
10204 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10205 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10206 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10207 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10208 (fontset_id_valid_p, font_family_registry, fontset_name)
10209 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10210 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10211 New functions.
10212 (fs_load_font): New arg FACE. Caller changed.
10213 (fs_query_fontset): Argument changed. Caller changed.
10214 (Fquery_fontset): call fs_query_fontset.
10215 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10216 Functions removed.
52283633
SM
10217 (clear_fontset_elements, check_registry_encoding)
10218 (check_fontset_name): New functions.
9111d4b5
KH
10219 (syms_of_fontset): Set char-table-extra-slots property of fontset
10220 to 3. Staticpro and initialize Vfontset_table and
10221 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10222
10223 * frame.h (struct frame): Member `fontset_data' removed.
10224 (FRAME_FONTSET_DATA): Macro removed.
10225
10226 * frame.c (make_frame): Don't allocate f->fontset_data.
10227 (Fdelete_frame): Don't free f->fontset_data.
10228
6c4bfdc0
KH
10229 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10230
9111d4b5
KH
10231 * xdisp.c (charset_at_position): Function removed.
10232 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10233 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10234 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10235 Likewise.
10236 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10237 FACE_FOR_CHARSET.
52283633
SM
10238 (get_next_display_element, append_space)
10239 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10240
10241 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10242 Variables removed.
10243 (clear_font_table, frame_update_line_height, load_face_font):
10244 Adjusted for the change of fontset implementation.
10245 (load_face_fontset_font): Function removed.
10246 (pixel_point_size): New function.
10247 (font_list): Argument type changed. Caller changed.
10248 (LFACE_FONT): New macro.
10249 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10250 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10251 Lisp_Object. Determine the font name by actually loading a font
10252 by the specified pattern. Set LFACE_FONT (lface) to the specified
10253 pattern. Even if a font is not found, don't try alternatives.
10254 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10255 (set_font_frame_param): If `font' is specified in lface, use it.
10256 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10257 (lface_same_font_attributes_p): Likewise.
10258 (make_realized_face): Arguent changed. Caller changed. Set
10259 face->ascii_face to face itself.
10260 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10261 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10262 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10263 (free_realized_multibyte_face): New function.
10264 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10265 changed. Caller changed.
10266 (try_font_list): Argument type changed.
10267 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10268 (choose_face_font): Argument changed. Handle fontset properly.
10269 (choose_face_fontset_font): Function removed.
10270 (realize_default_face, realize_named_face): Don't remove the
10271 former face here.
10272 (realize_face): Argument changed. Caller changed. Remove face
52283633 10273 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10274 (realize_x_face): Argument changed. Caller changed. For a
10275 multibyte character, share fontset with base_face. For a single
52283633 10276 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10277 (realize_tty_face): Argument changed. Caller changed.
10278 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10279 (face_at_buffer_position): Don't check multibyte_p for returning
10280 DEFAULT_FACE_ID.
10281 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10282 FACE_SUITABLE_FOR_CHARSET_P.
10283 (syms_of_xfaces): Remove code for Qx_charset_registry and
10284 Vface_default_registry.
10285
6c4bfdc0
KH
10286 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10287 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10288 (x_per_char_metric): Don't try FONT->default_char. Even if
10289 pcm->width is zero, glyph bits may exist.
10290 (x_encode_char): Always initialize char2b->byte1.
10291 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10292 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10293 (x_append_glyph): Set glyph->glyph_not_available_p.
10294 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10295 it->charset. Handle the case that per char metric is not
10296 available. If it->multibyte_p is zero and it->c is a multibyte
10297 character, convert it to a unibyte character.
10298 (struct glyph_string): Delete member `charset'.
10299 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10300 the case that per char metric is not available correctly.
10301 (x_fill_glyph_string): Handle the case that the specific glyph is
10302 not available correctly.
10303 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10304 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10305 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10306 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10307 fontset. Don't call FS_LOAD_FONT.
10308
10309 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10310 (x_create_tip_frame): Likewise.
10311 (Fx_close_connection): Free full_name of font_info.
10312
10313 * fns.c (optimize_sub_char_table): New function.
10314 (Foptimize_char_table): New function.
10315 (syms_of_fns): Defsubr Soptimize_char_table.
10316
b33dd3b0
GM
103172000-03-20 Gerd Moellmann <gerd@gnu.org>
10318
10319 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10320 only if buffer is displayed in some window.
10321
10322 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10323 (try_window_reusing_current_matrix): Don't call scroll run
10324 function if run's current and desired position are the same;
10325 this prevents cursor flickering.
10326
4e8a9132
SM
103272000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10328
10329 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10330
10331 * regex.c (RE_STRING_CHAR): New macro.
10332 (GET_CHAR_AFER_2): Remove.
10333 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10334 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10335 (print_partial_compiled_pattern, re_compile_fastmap)
10336 (re_match_2_internal): Remove on_failure_jump_exclusive.
10337 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10338 optimization only need to work for * (ie. can use of_keep_string_jump).
10339 Remove the special case for .*\n since it is now covered by the general
10340 optimization.
10341 (re_search_2): Don't bother with `room'.
10342 (skip_one_char): New function.
10343 (skip_noops): Simplify since `memory' is not needed any more.
10344 (mutually_exclusive_p): Restructure slightly to use `switch' and
10345 add handling for "all" remaining cases.
10346 (re_match_2_internal): Change on_failure_jump_smart to use
10347 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10348 rather than on_failure_jump_exclusive.
10349
2136fdd4
GM
103502000-03-19 Gerd Moellmann <gerd@gnu.org>
10351
10352 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10353 number of bits per RGB because it's everywhere used as the depth
10354 of the visual.
10355
10356 * term.c (calculate_costs): Remove code dealing with X frames.
10357
18e21ce8 103582000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10359
10360 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10361
d7b511c4
GM
103622000-03-18 Gerd Moellmann <gerd@gnu.org>
10363
10364 * lread.c (read_integer): Unread the last char not consumed.
10365
16b5d424
GM
103662000-03-17 Gerd Moellmann <gerd@gnu.org>
10367
10368 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10369 which are in the process of being deleted.
16b5d424 10370
1fa28578
GM
103712000-03-16 Gerd Moellmann <gerd@gnu.org>
10372
83488cce
GM
10373 * Makefile.in (mostlyclean): Add `*.core'.
10374 (clean): Add `bootstrap-emacs'.
10375
1fa28578
GM
10376 * lread.c (read_integer): New function.
10377 (read1): Support read syntax #o, #x, #b, #r.
10378
99633e97
SM
103792000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10380
1fa28578
GM
10381 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10382 make sure POINTER_TO_OFFSET gives the same value before and after
10383 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10384 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10385 (debug): Now only active if > 0 rather than if != 0.
10386 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10387 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10388 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10389 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10390 (store_op1, store_op2, insert_op1, insert_op2)
10391 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10392 (group_in_compile_stack): Move to after its arg's types are
10393 declared and add a prototype.
99633e97 10394 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10395 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10396 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10397 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10398 indentation of the greedy-op and shy-group code.
99633e97
SM
10399 (at_(beg|end)line_loc_p): Fix argument's types.
10400 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10401 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10402 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10403 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10404 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10405 QUIT unconditionally.
99633e97 10406
699238d9
GM
104072000-03-15 Gerd Moellmann <gerd@gnu.org>
10408
10409 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10410 a sole completion.
10411
10412 * process.c (send_process): Add a hint that the function
10413 can call Lisp code to its comment.
10414
10415 * lread.c (load_dangerous_libraries): New variable.
10416 (Vbytecomp_version_regexp): New variable.
10417 (safe_to_load_p): New function.
10418 (Fload): Handle files not compiled with Emacs specially.
10419 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10420
34e23e5a
GM
104212000-03-14 Gerd Moellmann <gerd@gnu.org>
10422
9c763cca
GM
10423 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10424
10425 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10426 support functions only if HAVE_X11R6_XIM is defined.
10427 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10428
10429 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10430
10431 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10432 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10433 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10434
10435 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10436 (HAVE_X11R6_XIM): Define.
10437
10438 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10439
34e23e5a
GM
10440 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10441 If set, call XSynchronize.
10442
66f0296e
SM
104432000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10444
34e23e5a
GM
10445 * regex.c: Declare a new type `re_char' used throughout the code
10446 for the string char type. It's `const unsigned char' to match the
10447 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10448 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10449 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10450 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10451 code duplication.
66f0296e
SM
10452
10453 * charset.h (GET_CHAR_AFTER_2): Remove.
10454 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10455
854a025c
KR
104562000-03-12 Ken Raeburn <raeburn@gnu.org>
10457
10458 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10459 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10460 of them try to use backquotes.
10461
b9d2c7e2
DL
104622000-03-12 Dave Love <fx@gnu.org>
10463
10464 * unexelf.c: Restore changes of 1999-10-19.
10465 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10466 fix its type and alignment; copy it from current process.
10467
5e5dff44
GM
104682000-03-12 Gerd Moellmann <gerd@gnu.org>
10469
9b2f3c38
GM
10470 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10471 has been found. Fix bug not computing timer's predecessor.
10472
427ec082 10473 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10474 file name.
10475
e1cff360
GM
10476 * window.c (Fsave_window_excursion): Doc fix.
10477
52283633 10478 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10479
e411ce4b
EZ
104802000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10481
10482 * msdos.c (vga_installed): New function, code moved from
10483 dos_set_window_size.
10484 (Qbar, Qcursor_type, outside_cursor): New variables.
10485 (syms_of_msdos): Intern and staticpro them.
10486 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10487 shape used outside Emacs when called for the first time.
10488 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10489 cursor shape used outside Emacs.
10490 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10491 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10492 type has changed.
10493 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10494 parameters specify the cursor. Make qreverse a global
10495 variable (renamed to Qreverse).
10496
80460654
GM
104972000-03-09 Gerd Moellmann <gerd@gnu.org>
10498
10499 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10500
95cd4c40
SM
105012000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10502
10503 This is a big redesign of failure-stack and register handling, prompted
10504 by bugs revealed when trying to add shy-groups. Overall, what happened
10505 is that loops are now structured a little differently, groups can be
10506 shy and the code is a little simpler.
10507
10508 * regex.h: Update the copyright.
10509 (RE_SHY_GROUPS): New value.
10510 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10511 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10512
80460654
GM
10513 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10514 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10515 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10516 for (start|stop)_memory since they now only take one argument (the
10517 second has becomes unnecessary).
52283633 10518 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10519 (print_compiled_pattern): Use %ld to printf long ints and flush to
10520 make debugging a little easier.
95cd4c40
SM
10521 (union fail_stack_elt): Make the integer unsigned.
10522 (struct fail_stack_type): Add a `frame' element.
10523 (INIT_FAIL_STACK): Init `frame' as well.
10524 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10525 (DEBUG_PUSH, DEBUG_POP): Remove.
10526 (NUM_REG_ITEMS): Remove.
10527 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10528 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10529 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10530 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10531 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10532 New macros.
80460654
GM
10533 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10534 address pushed is not the destination of the jump but the source
10535 of it instead.
95cd4c40
SM
10536 (NUM_FAILURE_ITEMS): Remove.
10537 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10538 registers before the actual failure point). Don't hardcode any
10539 meaning for str==NULL anymore.
95cd4c40 10540 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10541 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10542 Remove.
95cd4c40
SM
10543 (REG_UNSET_VALUE): Use NULL (why not?).
10544 (compile_range): Remove declaration since it doesn't exist.
10545 (struct compile_stack_elt_t): Remove inner_group_offset.
10546 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10547 (regex_grow_registers): Remove dead code.
10548 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10549 (regex_compile): Add shy-groups Change loops to use
10550 on_failure_jump_smart&jump instead of
10551 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10552 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10553 variable to me). Use `jump' instead of `jump_past_alt' and don't
10554 bother with push_dummy_failure in alternatives since it is now
10555 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10556 emacs' for (re)allocating the stack.
10557 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10558 from loop when bufp->can_be_null rather than jumping to `done'.
10559 Avoid jumping backwards so as to ensure termination. Use
10560 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10561 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10562 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10563 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10564 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10565 (lowest_active_reg, highest_active_reg)
10566 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10567 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10568 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10569 variables. Push register (in `start_memory') on the stack rather
10570 than storing it in old_reg(start|end). Remove the cycle detection
10571 from `stop_memory', replaced by the use of on_failure_jump_loop
10572 for greedy loops. Add code for the new on_failure_jump_<foo>.
10573 Remove ad-hoc code in `on_failure_jump' to push more registers in
10574 the case of a loop. Take out code from `maybe_pop_jump' into
10575 separate functions and adapt it to the semantics of
10576 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10577 and push_dummy_failure. Remove dummy_failure handling and
10578 handling of `failures to jump to on_failure_jump' (this last one
10579 was already dead code, it seems).
10580 (group_match_null_string_p, alt_match_null_string_p)
10581 (common_op_match_null_string_p): Remove.
95cd4c40 10582
7397acc4
DL
105832000-03-08 Dave Love <fx@gnu.org>
10584
10585 * config.in: Don't depend on __STDC__ for volatile.
10586 Add POINTER_TYPE, PTR, PROTOTYPES.
10587
10588 * hftctl.c, strftime.c: Use PROTOTYPES.
10589 * eval.c (find_handler_clause): Likewise.
10590
10591 * mem-limits.h: Use POINTER_TYPE.
10592
10593 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10594 (memory_warnings): Declare using POINTER_TYPE.
10595
5e91ff9e
GM
105962000-03-08 Gerd Moellmann <gerd@gnu.org>
10597
feab4fba
GM
10598 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10599
52283633 10600 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10601
5e91ff9e
GM
10602 * xfns.c: Remove obsolete code in #if 0.
10603 (Fx_focus_frame): New function.
10604
a735b7e1
KH
106052000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10606
10607 * coding.c (coding_category_name): Add coding-category-utf-8,
10608 coding-category-utf-16-be, coding-category-utf-16-le.
10609 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10610 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10611 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10612 (detect_coding_utf_8): New function.
10613 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10614 UTF_16_LOW_SURROGATE_P): New macros.
10615 (detect_coding_utf_16): New function
10616 (detect_coding_mask): When priorities are specified, skip any
10617 categories that have `nil' coding-system. Fix bug of returning
10618 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10619 returns a mask not set in PRIORITIES.
10620 (detect_eol_type_in_2_octet_form): New function.
10621 (detect_eol): selects detect_eol_type_XXX to call according to
10622 cooding->category_idx.
10623 (detect_coding_system): Remove `nil' coding-system in the result.
10624 (Fupdate_coding_systems_internal): Update all coding-categories.
10625
52283633
SM
10626 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10627 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10628 New macros.
10629 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10630 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10631 (CODING_CATEGORY_IDX_UTF_16_LE)
10632 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10633 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10634 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10635 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10636
9994cc69
GM
106372000-03-07 Gerd Moellmann <gerd@gnu.org>
10638
e9b4e5ff
GM
10639 * doc.c (Fdocumentation_property): If value is not a string,
10640 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10641
f7daf1e1
GM
10642 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10643 close the display with XtCloseDisplay. This caused a bus error
10644 on OpenWindows.
10645
9994cc69
GM
10646 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10647 complete but not unique.
10648
4336c705
GM
106492000-03-06 Gerd Moellmann <gerd@gnu.org>
10650
18bb0684
GM
10651 * process.c (send_process): Remove local variable `procname' that
10652 might become invalid when a GC happens. Instead, access the
10653 process name slot directly.
10654
4336c705
GM
10655 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10656 orig_height if set.
10657
10658 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10659 orig_height if set.
10660
515d0d0e
EZ
106612000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10662
10663 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10664 glyph matrices have been freed.
10665
100b3cbb
GM
106662000-03-05 Gerd Moellmann <gerd@gnu.org>
10667
50df5e5a 10668 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10669 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10670
10671 * xfns.c (QCdata): Moved to xdisp.c.
10672
10673 * xdisp.c (QCdata): Moved here from xfns.c.
10674 (syms_of_xdisp): Initialize QCdata.
10675
10676 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10677
10678 * window.c (coordinates_in_window): Use
10679 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10680 FRAME_INTERNAL_BORDER_WIDTH.
10681
100b3cbb 10682 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10683 it is obviously invalid.
100b3cbb
GM
10684
10685 * xterm.c (x_term_init): Create a colormap if not using the
10686 default visual.
10687
10688 * xterm.h (select_visual): Change prototype.
10689
10690 * xfns.c (select_visual): Rewritten. Recognize user-specified
10691 visual classes.
10692 (visual_classes): New variable.
10693
64d739c4
GM
106942000-03-04 Gerd Moellmann <gerd@gnu.org>
10695
10696 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10697 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10698 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10699 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10700 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10701 XtNcolormap resources.
10702 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10703 (Fx_create_frame): Initialize color members of x_output structure.
10704 (xpm_load): Pass colormap to XPM lib.
10705
10706 * xfaces.c (x_free_colors): Access colormap of frame using
10707 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10708 when default colormap is used.
10709
10710 * xterm.c (x_term_init): Set Colormap member of x_display_info
10711 structure. Copy colormap if resource `privateColormap' is
10712 specified (PseudoColor only).
10713 (x_setup_relief_color): Access colormap of frame using
10714 FRAME_X_COLORMAP.
10715
10716 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10717 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10718
c3cee013
JR
107192000-03-04 Jason Rumney <jasonr@gnu.org>
10720
10721 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10722 other non-platform-specific equivalents.
64d739c4 10723 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10724 specific functions and macros as their w32 equivalents where
10725 non-platform-specifics are not available.
10726 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10727 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10728 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10729 (frame_update_line_height): Use macros to access f->output_data.
10730 (defined_color): Remove FIXME comments; fixed.
10731 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10732 into #ifdef blocks. Add WINDOWSNT blocks.
10733 (Fx_list_fonts): Use macros for accessing font data.
10734 (set_lface_from_font_name): Different default fonts for X and
10735 WINDOWSNT.
10736 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10737 scalable for backward compatibility.
64d739c4 10738 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10739 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10740
64d739c4 10741 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10742 syms_of_w32faces.
10743
10744 * makefile.nt (w32faces.obj): Remove.
10745 (xfaces.obj): Add.
10746
807cc41c
JR
107472000-03-03 Jason Rumney <jasonr@gnu.org>
10748
10749 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10750 correct parameters.
10751
0007072a
KR
107522000-03-03 Ken Raeburn <raeburn@gnu.org>
10753
10754 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10755 standard ELF definitions here if the system header does not.
10756
71a6ba55
GM
107572000-03-03 Gerd Moellmann <gerd@gnu.org>
10758
10759 * xterm.c (PER_CHAR_METRIC): Removed.
10760 (x_per_char_metric_1, x_default_char): New functions.
10761 (x_per_char_metric): If font's default char is invalid, return
10762 metrics of a suitably chosen usable default char.
10763 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10764 char, replace occurrences of unprintable chars with a suitably
10765 chosen usable default char.
71a6ba55 10766
900fa1f1
GM
107672000-03-02 Gerd Moellmann <gerd@gnu.org>
10768
42f55fe0
GM
10769 * xterm.c (note_mouse_highlight): Return quickly if frame's
10770 glyph matrices have been freed.
10771
10772 * dispnew.c (free_glyphs): Block input while freeing matrices.
10773
900fa1f1
GM
10774 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10775
52283633
SM
10776 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10777 Use x_free_colors.
900fa1f1
GM
10778
10779 * dispextern.h (x_free_colors): Add prototype.
10780
10781 * xfaces.c (x_free_colors): New function.
10782 (unload_color, free_face_colors): Use it.
10783
2f950292
EZ
107842000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10785
10786 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10787
10788 * window.c [MSDOS]: Include msdos.h.
10789
54d04320
DL
107902000-03-02 Dave Love <fx@gnu.org>
10791
10792 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10793
10794 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10795 set C_OPTIMIZE_SWITCH for gcc.
10796
0ba93ac4
KH
107972000-03-02 Kenichi Handa <handa@etl.go.jp>
10798
10799 * coding.c (coding_save_composition): Be sure to allocate
10800 composition data area in coding even if there's no composition in
10801 the current run.
10802
a2bc11d4
JR
108032000-03-01 Jason Rumney <jasonr@gnu.org>
10804
10805 * w32term.c: Equivalent changes to those made to xterm.c on
10806 2000-02-25 and 2000-02-24.
10807
10808 * w32fns.c: Equivalent changes to those made to xfns.c on
10809 2000-02-25 and 2000-02-21.
10810
10811 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10812 correct line-end convention is followed.
10813
10814 * w32menu.c [HAVE_BOXES]: Remove #undef.
10815 (single_keymap_panes): Remove code for simulating checkmarks.
10816 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10817 Remove code for drawing simulated checkmarks.
10818 (w32_menu_show): make unibyte help string correctly.
10819 (add_menu_item): draw standard Windows checkmarks. Draw radio
10820 buttons as radio buttons if possible.
10821
72d19d75
GM
108222000-03-01 Gerd Moellmann <gerd@gnu.org>
10823
2df636f4
GM
10824 * sysdep.c (start_of_text): Don't define this function for NetBSD
10825 with ELF.
10826
427ec082 10827 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10828 Don't define.
10829 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10830 (LINKER): Don't undef if __NetBSD__ is defined.
10831
10832 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10833
10834 * fileio.c [__NetBSD__]: Define `unix'.
10835
72d19d75
GM
10836 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10837
ed4d0512
GM
108382000-02-29 Gerd Moellmann <gerd@gnu.org>
10839
50b1039f
GM
10840 * atimer.c (start_atimer): Don't abort when timers are stopped.
10841 (append_atimer_lists): New function.
10842 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10843 arbitrary lists of stopped and running atimers.
10844
ed4d0512
GM
10845 * atimer.c (cancel_atimer): Handle canceling an atimer when
10846 some timers are stopped.
10847
10848 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10849 after canceling it.
10850
10851 * fns.c (maybe_resize_hash_table): Handle case of new size
10852 coming out as being the same as old size.
10853
387023ee
JR
108542000-02-27 Jason Rumney <jasonr@gnu.org>
10855
10856 * makefile.nt: Add atimer.h to dependencies.
10857 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10858 * w32console.c: Only disable window system features for dispextern.h
10859 (initialize_w32_display): Build a display info for the console.
10860 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10861 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10862 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10863 as 2 button mice.
10864 * w32gui.h (struct W32FontStruct): Revert last change after change
10865 to xdisp.c.
10866 * w32menu.c (single_submenu): Set up help string.
10867 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10868 (w32_dialog_show): Set up help string.
10869 * w32term.c (w32_display_info_for_display): Remove unused function.
10870 (w32_draw_bitmap): Use pre-built bitmaps.
10871 (w32_initialize_display_info): New function to initialize parts of
10872 display info that are common to both GUI and console frames.
10873 (w32_term_init): Use w32_initialize_display_info. Do not set
10874 Vw32_num_mouse_buttons here, as it is not called for console
10875 frames. Build bitmaps for indicating truncated lines etc.
10876 (x_delete_display): Destroy pre-built bitmaps.
10877 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10878 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10879
4516715a
DL
108802000-02-27 Dave Love <fx@gnu.org>
10881
10882 * lisp.h: Add a bunch of prototypes.
10883
171ca836
KH
108842000-02-26 Kenichi Handa <handa@etl.go.jp>
10885
10886 * keyboard.c (read_char): Set `usec' correctly.
10887
4013921d
KH
108882000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10889
10890 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10891 `lambda', set reg[RRR] to the map index.
10892 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10893 reg[RRR] to 0. Otherwise, set it to -1.
10894
9244a058
GM
108952000-02-25 Gerd Moellmann <gerd@gnu.org>
10896
2df636f4 10897 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10898
18e21ce8 108992000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10900
f43d79c1
GM
10901 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10902 and contains a `:', prepend `/:'.
10903
10904 * window.c (select_window_1): If selected_window is nil,
10905 don't "swap out" the buffer's point.
10906 (Fset_window_configuration): Set selected_window to nil
10907 before calling Fselect_window.
10908 (unshow_buffer): Don't set point in buffer from window's point
10909 if another more recently selected window also shows the buffer.
10910
bed0c171
GM
109112000-02-25 Gerd Moellmann <gerd@gnu.org>
10912
449c3c52
GM
10913 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10914
f5b58615
GM
10915 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10916 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10917 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10918 New variables.
f5b58615
GM
10919 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10920 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10921 (hide_busy_cursor): New functions.
10922 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10923
10924 * minibuf.c (read_minibuf): Cancel busy-cursor.
10925
10926 * keyboard.c (command_loop_1): Call start_busy_cursor before
10927 Fcommand_execute and cancel_busy_cursor after it.
10928 (timer_check): Remove busy-cursor code.
10929 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10930 cursor timer.
10931
10932 * process.c (wait_reading_process_input): Remove busy-cursor code.
10933
10934 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10935 Fx_hide_busy_cursor.
10936
10937 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10938 Remove prototyoes.
10939 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10940
10941 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10942
10943 * xterm.c (XTread_socket): Remove busy-cursor code.
10944
4eb8436f
GM
10945 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10946 (build_frame_matrix_from_leaf_window): Put code handling
10947 glyph row's not being a slice of a frame row in #if 0.
10948 (sync_window_with_frame_matrix_rows): New function.
10949 (frame_row_to_window): New function.
10950 (mirror_line_dance): Handle copies between windows.
10951
3cb65b0e
GM
10952 * lread.c (Fload): Use `xfree' instead of `free'.
10953 (init_obarray): Use `xmalloc' instead of `malloc'.
10954
bed0c171
GM
10955 * window.c (Fset_window_buffer): Set WINDOW to the window
10956 after decoding.
2add4349
GM
10957 (coordinates_in_window): Take frame's internal border width
10958 into account.
bed0c171 10959
42088c12
GM
109602000-02-24 Gerd Moellmann <gerd@gnu.org>
10961
10962 * xterm.c (x_display_and_set_cursor): Display cursor of
10963 non-selected windows depending on the setting of
10964 cursor_in_non_selected_windows.
10965
10966 * xdisp.c (cursor_in_non_selected_windows): New variable.
10967 (syms_of_xdisp): DEFVAR_BOOL it.
10968
d1e103b2
GM
109692000-02-23 Gerd Moellmann <gerd@gnu.org>
10970
723e779c
GM
10971 * data.c (Fstring_to_number): If number is greater than what
10972 fits into an integer, return a float.
10973
d1e103b2
GM
10974 * eval.c (specbind): Remove references to
10975 keyword_symbols_constant_flag.
10976
10977 * data.c (keyword_symbols_constant_flag): Removed.
10978 (Fmakunbound, set_internal, syms_of_data): Remove references to
10979 keyword_symbols_constant_flag.
10980
10981 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10982
214f877f
KH
109832000-02-23 Kenichi Handa <handa@etl.go.jp>
10984
10985 * syntax.c (multibyte_syntax_as_symbol): New variable.
10986 (syms_of_syntax): Declare it as a Lisp variable.
10987 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10988 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10989 nonzero, treat all multibyte characters as symbol.
52283633 10990 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10991
130adcb7
EZ
109922000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10993
3cb65b0e 10994 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10995 a deleted frame.
130adcb7 10996
17cbbf95
GM
109972000-02-21 Gerd Moellmann <gerd@gnu.org>
10998
10999 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11000
11001 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11002 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11003
beb0bc36
DL
110042000-02-21 Dave Love <fx@gnu.org>
11005
11006 * frame.c (Vmouse_position_function): New variable.
11007 (Fmouse_position): Use it.
11008 (syms_of_frame): Install it.
11009
11010 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11011
1d92afcd
GM
110122000-02-20 Gerd Moellmann <gerd@gnu.org>
11013
11014 * fileio.c (Finsert_file_contents): Unbind the binding of
11015 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11016
11017 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11018 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11019 (specbind, unbind_to): Handle most common case of non-constant
11020 symbol with trivial value specially.
11021
11022 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11023
18e21ce8 110242000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11025
11026 * data.c (Fmake_variable_buffer_local): Doc fix.
11027 Init found_for_buffer to 0.
11028 (Fmake_variable_frame_local): If the variable has already
11029 been buffer-local, set the check_frame field.
11030
1d4311c3
EZ
110312000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11032
11033 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11034 produced for CODING_MODE_LAST_BLOCK requires.
11035
2dc95ddd
DL
110362000-02-18 Dave Love <fx@gnu.org>
11037
11038 * keyboard.c (echo_keystrokes): Remove declaration.
11039 (Vecho_keystrokes) New variable.
11040 (read_char, record_menu_key, read_key_sequence): Use it to allow
11041 use of float value.
11042 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11043
11044 * lread.c: Undef feature selection macros before defining.
11045
f0930f35
GM
110462000-02-18 Gerd Moellmann <gerd@gnu.org>
11047
11048 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11049 for symbols other than the symbol in question.
11050
e3d4de90
DL
110512000-02-17 Dave Love <fx@gnu.org>
11052
11053 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11054
0b378936
GM
110552000-02-17 Gerd Moellmann <gerd@gnu.org>
11056
d621caf7
GM
11057 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11058
0b378936
GM
11059 * alloc.c (enum mem_type): Compile unconditionally.
11060
3b451f74
EZ
110612000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11062
11063 * xfaces.c (tty_defined_color): Don't return faulire indication
11064 for unspecified-fg and unspecified-bg pseudo-colors.
11065
10689a01
GM
110662000-02-17 Gerd Moellmann <gerd@gnu.org>
11067
1216f5e4
GM
11068 * alloc.c (mark_object): Don't mark symbol names in pure space.
11069 (gc_sweep): Don't unmark symbol names in pure space.
11070
11071 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11072 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11073 [GC_MARK_STACK]: New defines.
427ec082 11074 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11075 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11076
11077 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11078
11079 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11080 allocate_buffer instead of xmalloc.
11081
11082 * alloc.c (toplevel): Include setjmp.h.
11083 (PURE_POINTER_P): New define.
11084 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11085 (Vdead) [GC_MARK_STACK]: New variable.
11086 (lisp_malloc): Add parameter TYPE, call mem_insert if
11087 GC_MARK_STACK is defined.
11088 (allocate_buffer): New function.
427ec082 11089 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11090 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11091 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11092 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11093 (MEM_NIL) [GC_MARK_STACK]: New define.
11094 (struct mem_node) [GC_MARK_STACK]: New structure.
11095 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11096 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11097 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11098 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11099 (mark_stack) [GC_MARK_STACK]: New functions.
11100 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11101 (clear_marks): Removed.
11102 (gc_sweep): Set free conses' car, free floats' type, free
11103 symbols' function to Vdead. Use lisp_free to free buffers.
11104 (init_alloc_once): Initialize Vdead.
11105 (survives_gc_p): Return non-zero for pure objects.
11106
11107 * alloc.c: Add comments throughout the file.
11108
2503c8b1
GM
11109 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11110 that unblocks alarms.
11111
8389e1e2
GM
11112 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11113 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11114 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11115
10689a01 11116 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11117
bfc17d18
KH
111182000-02-17 Kenichi Handa <handa@etl.go.jp>
11119
4a09dee0
KH
11120 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11121 avoid infinite error signaling. Allocate sufficient memory for
11122 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11123
2b927d02
SM
111242000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11125
11126 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11127 depends on the previous behavior.
11128
b49cb764
GM
111292000-02-16 Gerd Moellmann <gerd@gnu.org>
11130
11131 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11132
99e95407
GM
111332000-02-15 Gerd Moellmann <gerd@gnu.org>
11134
11135 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11136
11137 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11138 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11139 write(2).
11140
6ffd3cf7
RS
111412000-02-15 Richard M. Stallman <rms@gnu.org>
11142
11143 * data.c (set_internal): Don't make variable buffer-local
11144 if within a let-binding for the same buffer.
11145 (let_shadows_buffer_binding_p): New function.
11146
11147 * eval.c (specbind): For buffer-local value,
11148 record the current buffer also.
11149 (unbind_to): Cope with that change.
11150
cad53475
GM
111512000-02-15 Gerd Moellmann <gerd@gnu.org>
11152
11153 * window.c (Fsave_window_excursion): Doc fix.
11154
1aa963c8
SM
111552000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11156
11157 * syntax.c (back_comment): Make sure we only consider comment-starters
11158 of the relevant style and return -1 in case of a failure to find the
11159 beginning of the comment.
11160 (Fforward_comment): If back_comment fails, go back to the position just
11161 after the comment-end.
11162 (scan_lists): Add comment describing a very minor bug.
11163
b9b84fd3
SM
111642000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11165
11166 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11167 `completion-regexp-list' in the docstring.
11168
3a28db80
DL
111692000-02-14 Dave Love <fx@gnu.org>
11170
11171 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11172
fb4a568d
SM
111732000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11174
11175 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11176 to Emacs' syntax. Also fix the comment about set/not-set meanings
11177 since Emacs syntax is not the value 0 any more.
11178 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11179 since it's now part of RE_SYNTAX_EMACS.
11180
1063ebb5
DL
111812000-02-12 Dave Love <fx@gnu.org>
11182
52283633 11183 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11184
fb07a302
GM
111852000-02-12 Gerd Moellmann <gerd@gnu.org>
11186
11187 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11188
aaf2320c
DL
111892000-02-12 Dave Love <fx@gnu.org>
11190
11191 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11192
11193 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11194 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11195 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11196
11197 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11198
11199 * s/nextstep.h: Don't define HAVE_ALLOCA.
11200
11201 * config.in: Add vfork bits.
11202
eedf8bde
GM
112032000-02-12 Gerd Moellmann <gerd@gnu.org>
11204
11205 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11206 unwind function to undo the effect of stopping atimers.
11207
52283633 11208 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11209
11210 * atimer.c (stopped_atimers): New variable.
11211 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11212 New functions.
11213
11214 * atimer.h (stop_other_atimers, run_all_atimers)
11215 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11216
eedf8bde
GM
11217 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11218
8476c2f8
KR
112192000-02-11 Ken Raeburn <raeburn@gnu.org>
11220
11221 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11222 library may depend on jpeg.
11223 (atimer.o): Depends on atimer.c.
11224
0e85e4a3
KH
112252000-02-11 Kenichi Handa <handa@etl.go.jp>
11226
11227 * insdel.c (del_range_1): Call update_compositions.
11228 (del_range_both): Call update_compositions just once..
11229
97fa0cc8
DL
112302000-02-10 Dave Love <fx@gnu.org>
11231
11232 * xfns.c (create_frame_xic): Fix initialization of automatic
11233 aggregates for pcc.
11234
25566a3c
KH
112352000-02-09 Kenichi Handa <handa@etl.go.jp>
11236
11237 * ccl.c (CCL_MAKE_CHAR): New macro.
11238 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11239 registers by CCL_MAKE_CHAR before calling translate_char.
11240 <CCL_TranslateCharacterConstTbl> Likewise.
11241
69da54ba
DL
112422000-02-08 Dave Love <fx@gnu.org>
11243
11244 * lread.c (__EXTENSIONS__): Define.
11245
f7136ee8
GM
112462000-02-08 Gerd Moellmann <gerd@gnu.org>
11247
11248 * puresize.h (BASE_PURESIZE): Increase to 650000.
11249
7768790b
EZ
112502000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11251
11252 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11253 the help message.
11254
38fd211b
EZ
112552000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11256
11257 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11258 md, mh, mb, mr, and me to the fake termcap entry.
11259
66e4690f
KR
112602000-02-06 Ken Raeburn <raeburn@gnu.org>
11261
11262 * sound.c (sound_cleanup): Don't call device close routine if the
11263 function pointer is null.
11264
a75dfea0
AI
112652000-02-06 Andrew Innes <andrewi@gnu.org>
11266
11267 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11268 around image definitions and prototypes.
11269 (gamma_correct) [WINDOWSNT]: New prototype.
11270
11271 * w32term.c (x_make_frame_visible): Replace call to
11272 input_poll_signal with poll_for_input.
11273
11274 * window.c [WINDOWSNT]: Include w32term.h.
11275
11276 * xdisp.c [WINDOWSNT]: Include w32term.h.
11277
11278 * makefile.nt: Add dependencies on w32gui.h.
11279 (OBJ1): Include atimer.obj.
11280 ($(BLD)\atimer.obj): New dependency rule.
11281
11282 * w32.c (sigmask): New function (does nothing).
11283 (sigunblock): Ditto.
11284
11285 * frame.c [WINDOWSNT]: Include w32term.h.
11286
11287 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11288
11289 * lread.c (syms_of_lread): Fix literal newlines.
11290
11291 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11292 the string constant limit (2048 bytes) in MSVC.
11293 (main): Ditto.
11294
59ddecde
GM
112952000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11296
52283633 11297 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11298 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11299 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11300 dispatch the event.
11301
07590973
DL
113022000-02-04 Dave Love <fx@gnu.org>
11303
11304 * fileio.c: Remove some unused vars.
11305 (_GNU_SOURCE): Define (for euidaccess).
11306
11307 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11308
11309 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11310 gcpro1, gcpro2.
11311 (read_minibuf): Deal with allow_props correctly.
11312
649351f9
EZ
113132000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11314
11315 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11316
66e4690f 113172000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11318
11319 * search.c (compile_pattern): If a cache entry has a nil regexp,
11320 fill in that entry instead of clobbering a previously cached
11321 string regexp.
11322
66e4690f 113232000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11324
11325 * puresize.h (BASE_PURESIZE): Increase to 610000.
11326
d240a249
GM
113272000-02-02 Gerd Moellmann <gerd@gnu.org>
11328
11329 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11330 can GC.
11331
ca91fb26
KH
113322000-02-02 Kenichi Handa <handa@etl.go.jp>
11333
25660570
KH
11334 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11335 instead of incrementing ic directly.
11336 <CCL_WriteExprConst> Likewise.
11337 <ccl_set_expr>: Set ic to jump_address.
11338
ca91fb26
KH
11339 * fileio.c (e_write): Fix the handling of
11340 CODING_FINISH_INSUFFICIENT_SRC.
11341
2ede9689
DL
113422000-02-01 Dave Love <fx@gnu.org>
11343
11344 * editfns.c (Fpropertize): Doc fix.
11345
11346 * process.c (Fstart_process): Doc fix.
11347
11348 * eval.c: Fix various doc strings not to duplicate information
11349 from help-manyarg-func-alist.
11350
52283633 11351 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11352
11353 * doc.c (Vhelp_manyarg_func_alist): New variable.
11354 (Fdocumentation): Use it.
11355 (syms_of_doc): Define it.
11356
b6680a0e
GM
113572000-01-31 Gerd Moellmann <gerd@gnu.org>
11358
2cb750ba
GM
11359 * xterm.c (xim_open_dpy): Remove unused local variable.
11360
52283633 11361 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11362
11363 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11364 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11365
b6680a0e
GM
11366 * fns.c (sweep_weak_table): New function.
11367 (sweep_weak_hash_tables): Use it. Keep on marking until there
11368 is no more change.
11369
994c5afe
GM
113702000-01-30 Gerd Moellmann <gerd@gnu.org>
11371
11372 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11373 that XTread_socket does not crash by trying to call XNoOp on a
11374 closed display.
427ec082 11375
f00276e3
JR
113762000-01-30 Jason Rumney <jasonr@gnu.org>
11377
11378 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11379 Change selected_frame to SELECTED_FRAME ().
11380 (w32_console_mouse_position): Remove #ifndef MULE from around
11381 `insist' parameter.
11382
11383 * makefile.nt: Remove dosfns.obj.
11384
11385 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11386
11387 * w32fns.c (w32_defined_color): Check for valid frame before
11388 applying gamma correction. Eliminate dependency on frame elsewhere.
11389 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11390 (w32_to_x_font): Use resx and resy not height_in and width_in.
11391 (x_to_w32_font): Doc fix.
11392 (xlfd_strip_height): New function to strip and return font height.
11393 (w32_font_match): Compare height separately from rest of xlfd
11394 spec, using xlfd_strip_height.
11395
11396 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11397 width_in. Use w32_defined_color in place of defined_color.
11398
11399 * w32faces.c: Merge more of DOS and X specifics in preparation for
11400 merge with xfaces.c.
11401 (defined_color): Remove FIXME comment.
11402 (tty_color_name): Provide w32-specific function.
11403 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11404
11405 * w32console.c (turn_on_face, turn_off_face): Removed.
11406 (w32_face_attributes): New function.
11407 (Global_variables): Reduce scope where possible.
11408 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11409 fill attribute.
11410 (hl_mode): Don't modify text attributes.
11411 (write_glyphs): Don't do anything if len <= 0. Use
11412 w32_face_attributes to get attributes for drawing. Write
11413 terminating codes using char_attr_normal.
11414 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11415 (update_begin, update_end): Likewise.
11416 (vga_stdcolor_name): New function.
11417 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11418 (Fset_screen_color): Remove char_attr_reverse.
11419
b08e8bb2
GM
114202000-01-29 Gerd Moellmann <gerd@gnu.org>
11421
11422 * xfns.c (xic_set_preeditarea): Take window parameter and
11423 window-relative pixel-positions.
11424
11425 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11426 is its frame's selected window.
11427 (xim_instantiate_callback): Likewise.
11428
11429 * xfns.c (x_create_im): Removed.
11430 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11431 (supported_xim_styles): Renamed from supported_styles.
11432 (best_xim_style): Renamed from best_style.
11433 (create_frame_xic): Renamed from xic_create_frame.
11434 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11435
b08e8bb2
GM
114362000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11437
11438 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11439 our frames, call XFilterEvent with 2nd parameter `None'.
11440 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11441 returning XBufferOverflow.
52283633 11442 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11443 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11444 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11445 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11446 (xim_initialize, xim_close)
11447 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11448 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11449 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11450 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11451
11452 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11453 and `xim_styles'.
11454 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11455 `xic_style' and `xic_xfs'.
11456 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11457 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11458 (FRAME_XIM): Removed.
11459
11460 * xfns.c (supported_styles): New variable.
11461 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11462 (xic_create_xfontset, best_style, xic_create_frame)
11463 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11464 (xic_set_xfontset): New functions.
11465
142e109c
DL
114662000-01-28 Dave Love <fx@gnu.org>
11467
11468 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11469
11470 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11471
b02786f9
GM
114722000-01-28 Gerd Moellmann <gerd@gnu.org>
11473
d060bc9f
GM
11474 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11475 for *scratch* if it already existed.
11476
b02786f9
GM
11477 * emacs.c (USAGE): New macro.
11478 (main): Use it to display usage information.
11479
2c52d7e4
EZ
114802000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11481
11482 Support for the menu-help feature:
11483
52283633 11484 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11485
11486 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11487 part of the line to the termscript file.
11488 (IT_clear_to_end): Clear the entire line, not just its beginning.
11489 (menu_help_message, prev_menu_help_message): New variables.
11490 (IT_menu_make_room): Make room for the help_text member.
11491 (IT_menu_display): New argument disp_help; all callers changed.
11492 If disp_help is non-zero, store the help text of the active menu
11493 item in menu_help_message.
11494 (XMenuAddPane): Initialize the help_text member to NULL.
11495 (XMenuAddSelection): New argument help_text. Store it in the
11496 XMenu structure.
11497 (XMenuActivate): New argument help_callback. If the value of
11498 menu_help_message has changed since the last time, display the
11499 menu help message text while waiting for the mouse to move. Clear
11500 the echo area before exiting.
11501 (XMenuDestroy): Free the help_text member.
11502
ffe0bcd1
GM
115032000-01-27 Gerd Moellmann <gerd@gnu.org>
11504
11505 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11506 XMenuAddSelection. Pass help callback to XMenuActivate.
11507 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11508
50dbd23f
EZ
115092000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11510
11511 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11512 and EMACS_SET_USECS.
11513
f5941bf8
GM
115142000-01-26 Dave Love <fx@gnu.org>
11515
6c67ddee
DL
11516 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11517
f5941bf8
GM
11518 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11519 an error may be signalled.
11520
9e49c990
GM
115212000-01-26 Gerd Moellmann <gerd@gnu.org>
11522
fc3cb460
GM
11523 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11524 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11525
9e49c990
GM
11526 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11527
d0c037d8
GM
115282000-01-25 Gerd Moellmann <gerd@gnu.org>
11529
11530 * charset.c (Fstring): If there is a multibyte char among
11531 the args, always return a multibyte string.
11532
e12489f9
GM
115332000-01-25 Gerd Moellmann <gerd@gnu.org>
11534
11535 * sysdep.c (sys_select): Turn atimers off and on instead of
11536 recording and restoring old alarm handler
11537
11538 * process.c (toplevel): Include atimer.h.
11539 (create_process_1): Rewritten.
11540 (create_process): Use atimers instead of alarm.
11541 (wait_reading_process_input) [hpux]: Turn atimers off instead
11542 of turning off SIGALRM.
11543 (wait_reading_process_input): Turn off atimers instead off
11544 calling stop_polling.
11545
11546 * emacs.c (main): Call init_atimer.
11547
11548 * keyboard.c (toplevel): Include systime.h and atimer.h.
11549 (polling_for_input): Removed because unused.
11550 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11551 (poll_timer): New variable.
11552 (poll_for_input, poll_for_input_1): New functions.
11553 (start_polling, stop_polling): Rewritten.
11554
11555 * keyboard.h (polling_for_input): Removed.
427ec082 11556
e12489f9
GM
11557 * atimer.h, atimer.c: New files.
11558
11559 * Makefile.in (obj): Add atimer.o.
11560 (atimer.o): New target.
11561
11562 * blockinput.h (pending_atimers): Add extern declaration.
11563 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11564
11565 * lisp.h (popup_activated_flag): Add extern declaration.
11566
11567 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11568 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11569 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11570
11571 * xterm.c (toplevel): Include atimer.h.
11572 (toolkit_scroll_bar_interaction): New variable.
11573 (Fxt_process_timeouts): Removed.
11574 (x_process_timeouts): New function.
11575 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11576 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11577 (x_make_frame_visible): Call poll_for_input_1 instead of
11578 input_poll_signal. Don't call alarm.
11579 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11580
1e5279b9
DL
115812000-01-24 Dave Love <fx@gnu.org>
11582
6c67ddee 11583 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11584 Don't use -cckr -- apparently not now necessary.
11585
edf6aeb8
EZ
115862000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11587
11588 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11589 screen boundary.
11590
9badad41
JR
115912000-01-23 Jason Rumney <jasonr@gnu.org>
11592
11593 * w32fns.c (w32_defined_color): Apply gamma correction before
11594 trying to map to the palette.
11595 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11596 to w32_clear_rect.
11597
11598 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11599 here. Callers changed to always pass real device context.
11600 (w32_draw_bitmap): Likewise.
11601 (w32_get_glyph_overhangs): Likewise.
52283633 11602 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11603 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11604 pfnSetScrollInfo and SetScrollRange.
11605 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11606 back into MULE characters after decoding them.
11607 (x_get_glyph_face_and_encoding): Likewise.
11608 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11609 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11610 (x_produce_glyphs): Calculate per char metrics for a character
11611 that we know exists in default font when font_not_found_p is true.
11612
63bd786b
JR
116132000-01-22 Jason Rumney <jasonr@gnu.org>
11614
11615 * makefile.nt (intervals.obj, composite.obj): New modules.
11616 (composite.h): Added as dependency where appropriate.
11617
11618 * w32gui.h (XGCValue): New struct for emulating X GCs.
11619
11620 * w32term.h (XCharStruct): New struct for emulating X.
11621
11622 * w32console.c (turn_on_face, turn_off_face): New functions.
11623 (change_line_highlight): New prototype for new redisplay.
11624 (write_glyphs): Support multibyte text. Support faces.
11625
52283633 11626 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11627
11628 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11629 throughout. struct frame * in place of FRAME_PTR.
11630 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11631 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11632 (w32_get_arg): Renamed from x_get_arg.
11633 (Fx_file_dialog): New function.
11634 (w32_list_fonts): Check cache before asking system.
11635 (Vw32_enable_synthesized_fonts): New variable.
11636 (Vw32_enable_italics): Obsolete, removed.
11637
11638 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11639 Use SELECTED_FRAME macro.
11640
11641 * w32menu.c: Add skeleton support for help strings on menus.
11642 (add_menu_item): Native checkbox and radio support added, but not
11643 yet enabled due to bugs.
11644 (push_menu_item): Add parameters type, selection and help.
11645 Callers updated.
11646 Formatting changes to reduce unnecessary diffs with xmenu.c.
11647
11648 * w32select.c (Fw32_set_clipboard_data): Update call to
11649 find_charset_in_str.
11650
11651 * w32term.c: Complete rewrite for new redisplay based on new
11652 xterm.c with necessary sections merged back in from old w32term.c.
11653
6ffd3cf7 116542000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11655
11656 * data.c (set_internal): Further fix in same criterion.
11657
6ffd3cf7 116582000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11659
11660 * data.c (set_internal): Fix the criteria for whether
11661 to swap out the old cached binding.
11662
60af03f1
DL
116632000-01-19 Dave Love <fx@gnu.org>
11664
11665 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11666
f9be074f
KH
116672000-01-18 Kenichi Handa <handa@etl.go.jp>
11668
11669 * regex.c (re_compile_fastmap): While checking a range table for
11670 `charset', skip flag bits for a character class correctly.
11671
52b8dbf9
GM
116722000-01-17 Gerd Moellmann <gerd@gnu.org>
11673
d36100c9
GM
11674 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11675
52283633 11676 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11677
11678 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11679 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11680
11681 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11682 MENU_ITEMS_ITEM_.*.
11683 (MENU_ITEMS_ITEM_HELP): New enumerator.
11684 (push_menu_item): Add parameter HELP. Record help in menu_items.
11685 (single_menu_item, single_submenu, list_of_items): Call
11686 push_menu_item with new parameter.
11687 (single_submenu): Set help string in widget value.
11688 (menu_highlight_callback): New function.
11689 (set_frame_menubar): Call lw_create_widget with new
11690 parameter list.
11691 (xmenu_show, xdialog_show): Ditto.
11692
3139018f
GM
116932000-01-13 Gerd Moellmann <gerd@gnu.org>
11694
11695 * sound.c (Fplay_sound): Improve doc string.
11696
83c8f461
RS
116972000-01-11 Richard M. Stallman <rms@gnu.org>
11698
11699 * lisp.h (set_internal): Enter the new arg.
11700
11701 * eval.c (specbind): Record buffer-local variables specially,
11702 indicating which buffer's binding was saved.
11703 (unbind_to): Restore buffer-local variables specially
11704 in the proper buffer.
11705
11706 * data.c (set_internal): New arg BUF.
427ec082 11707
83c8f461
RS
11708 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11709 * data.c (Fset): Pass new arg to set_internal.
11710 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11711
1fab1775
GM
117122000-01-11 Gerd Moellmann <gerd@gnu.org>
11713
52283633 11714 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11715
83c8f461 117162000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11717
11718 * minibuf.c (Ftry_completion): Doc fix.
11719
7a85e4df
GM
117202000-01-11 Gerd Moellmann <gerd@gnu.org>
11721
11722 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11723 vector, too.
11724
a970dae4
AS
117252000-01-11 Andreas Schwab <schwab@suse.de>
11726
11727 * coding.c (code_convert_region): Initialize total_skip.
11728
c65d14ee
DL
117292000-01-08 Dave Love <fx@gnu.org>
11730
11731 * eval.c (Fuser_variable_p): Check customizability too.
11732
834938d2
GM
117332000-01-07 Gerd Moellmann <gerd@gnu.org>
11734
11735 * minibuf.c (Fcompleting_read): Doc fix.
11736
e0303cd6
GM
117372000-01-05 Gerd Moellmann <gerd@gnu.org>
11738
8a26744b
GM
11739 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11740 -L /usr/local/lib.
11741
e0303cd6
GM
11742 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11743 Check that input style is supported before trying to create an
11744 IC for it.
11745 (x_window): Call x_create_im.
427ec082 11746
2e471eb5
GM
117472000-01-04 Gerd Moellmann <gerd@gnu.org>
11748
560a7bd2
GM
11749 * xfns.c (current_gif_memory_src): New variable.
11750 (gif_load): Record the address of the current memory source
11751 in current_gif_memory_src.
11752 (gif_read_from_memory): Use current_gif_memory_src.
11753
f9ee84a3
GM
11754 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11755 macros statement form.
11756
d1299cde
GM
11757 * sound.c (struct sound): Renamed from struct sound_file.
11758 (struct sound): Add members `data' and `header_size'.
11759 (enum sound_attr): Add SOUND_DATA.
11760 (current_sound, current_sound_device): Variables renamed from
11761 sound_file and sound_device.
11762 (parse_sound): Parse :data.
11763 (parse_sound): Handle sound data in strings.
11764 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11765 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11766 needed header size.
11767 (wav_play, au_play): Play sounds from string data.
11768
2e471eb5
GM
11769 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11770
11771 * lisp.h: Add prototype for allocate_string_data.
11772
52283633 11773 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11774
11775 * alloc.c (mark_buffer): Remove code in #if 0.
11776 (gc_sweep): Ditto.
11777 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11778 (strings_consed): New variable.
11779 (allocate_string): Set it.
11780 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11781 (Fmemory_use_counts): Return strings_consed. Use Flist.
11782
11783 * alloc.c: General cleanup in comments etc. Remove conditional
11784 compilation for `standalone'.
11785
11786 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11787
11788 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11789 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11790 (DONT_COPY_FLAG): Removed.
11791 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11792 (struct sdata, struct sblock): New
11793 (struct string_block): Rewritten.
11794 (STRINGS_IN_STRING_BLOCK): New macro.
11795 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11796 (large_sblocks, string_blocks, string_free_list): New variables.
11797 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11798 (init_strings): Rewritten.
11799 (allocate_string, allocate_string_data, compact_small_strings)
11800 (free_large_strings, sweep_strings): New functions.
11801 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11802 (struct string_block_head, current_string_block)
11803 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11804 (STRING_PAD): Removed.
11805 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11806 (Fgarbage_collect): Don't set mark bit in large strings.
11807 (mark_object): Mark strings differently. Mark symbol names
11808 differently.
11809 (survives_gc_p): Test marked strings differently.
427ec082 11810 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11811 symbol names.
11812 (compact_strings): Removed.
11813
42608ba8
EZ
118142000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11815
11816 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11817 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11818
e0a09e1a
KH
118192000-01-04 Kenichi Handa <handa@etl.go.jp>
11820
dd9f0750 11821 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11822 in a non-empty buffer.
dd9f0750 11823
3c0f3b15 11824 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11825
44cd3ae5
GM
118262000-01-03 Gerd Moellmann <gerd@gnu.org>
11827
11828 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11829 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11830
11831 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11832
c182a70f
EZ
118332000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11834
11835 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11836 need to test for MSDOS frames.
11837
24480d5b
EZ
118382000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11839
11840 * dosfns.c (unspecified_colors): Remove.
11841 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11842 unspecified_bg.
11843 (msdos_stdcolor_name): Return strings for unspecified fore- and
11844 back-ground colors.
11845
11846 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11847 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11848 (tty_color_name): Return Lisp strings for unspecified fore- and
11849 back-ground colors.
11850 (Finternal_set_lisp_face_attribute): Remove the special treatment
11851 for Qunspecified_{f,b}g.
52283633 11852 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11853
047f434a
GM
118542000-01-03 Gerd Moellmann <gerd@gnu.org>
11855
11856 * xdisp.c (reseat_at_next_visible_line_start): Position before
11857 newline only if ending up on a newline.
11858 (next_element_from_ellipsis): Return success. Handle case of
52283633 11859 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11860 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11861 returns 0.
11862
d684c676
EZ
118632000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11864
11865 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11866 (Fcolor_supported_p): Renamed from face-color-supported-p.
11867
5fe1d139
EZ
118682000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11869
11870 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11871 list of colors renamed to tty-defined-color-alist.
11872 (tty_color_name): Pass the frame to tty-color-by-index.
11873 (realize_tty_face): tty-color-alist is now a function which
11874 accepts the frame as argument.
11875
52283633 11876 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11877
816be8b8
EZ
118782000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11879
11880 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11881 encode_terminal_code.
11882
b635321e
EZ
118832000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11884
11885 * dispnew.c (mode_line_string): Support termcap frames as well.
11886
9b784e96
GM
118872000-01-01 Gerd Moellmann <gerd@gnu.org>
11888
27189709
GM
11889 * syntax.c (Fforward_word): Undo previous change.
11890
11891 * editfns.c (Fconstrain_to_field): Don't constrain if
11892 inhibit-field-text-motion is non-nil.
11893 (Fline_beginning_position): Undo previous change.
11894 (Fline_end_position): Ditto.
11895
11896 * syntax.c (Fforward_word): Notice field boundaries only if
11897 inhibit-field-text-motion is nil.
11898
11899 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11900
11901 * editfns.c (Vinhibit_field_text_motion): New variable.
11902 (inhibit-field-text-motion): New DEFVAR_LISP.
11903 (Fline_beginning_position, Fline_end_position): Notice field
11904 boundaries only if inhibit-field-text-motion is nil.
11905
45158a91
GM
11906 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11907 All calls adjusted.
11908 (x_build_heuristic_mask): Likewise.
11909 (xbm_load_image_from_file): Change error output.
11910 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11911 (gif_load, gs_load, x_kill_gs_process): Ditto.
11912
9b784e96
GM
11913 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11914 color indices when accessing raster pixels.
63cec32f
GM
11915 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11916 one of :file or :data.
11917 (enum pbm_keyword_index): Add PBM_DATA.
11918 (pbm_format): Add :data.
11919 (pbm_image_p): Allow either :file or :data.
11920 (pbm_read_file): New function.
11921 (pbm_scan_number): Rewritten to read from string.
11922 (pbm_load): Support :data.
9b784e96 11923
2cb085db 11924See ChangeLog.8 for earlier changes.
6922b018
KH
11925
11926;; Local Variables:
49b3bd82 11927;; coding: iso-2022-7bit
6922b018 11928;; End: