Update the entry for the HITACHI SR2001/SR2201 series.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
04386463
GM
12001-08-14 Gerd Moellmann <gerd@gnu.org>
2
3 * xfaces.c (x_update_menu_appearance): Save and restore value of
4 interrupt_input_blocked.
5
3e6385a4
GM
62001-08-13 Gerd Moellmann <gerd@gnu.org>
7
b0e619b4
GM
8 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
9 a line start, move back to the line start.
10
0de73d5a
GM
11 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
12 exactly when a mini-buffer is active.
13
3e6385a4
GM
14 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
15 in units of 1/8 character on non window-system frames.
16 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
17
d1b5f629
EZ
182001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
19
20 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
21 a doc string.
22
eaa2319f
GM
232001-08-09 Gerd Moellmann <gerd@gnu.org>
24
8e3189f0
GM
25 * keyboard.c (Vpre_help_message): New variable.
26 (syms_of_keyboard): Initialize and staticpro it.
27 (show_help_echo): Record current message before displaying a
28 help-echo, and restore that message when clearing the help.
29
eaa2319f
GM
30 * xfns.c (x_create_im): Remove prototype.
31
32 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
33
34 * dispnew.c (adjust_glyph_matrix): Undo last change.
35
362001-08-08 Gerd Moellmann <gerd@gnu.org>
37
38 * dispnew.c (adjust_glyph_matrix): In the optimization for
39 windows whose height has changed, disable partially visible
40 lines.
41
17fdcfc8
GM
422001-08-07 Gerd Moellmann <gerd@gnu.org>
43
22d01aed
GM
44 * window.c (Frecenter): If ARG < 0, and on a window system
45 frame, count in some empty lines when we can't move -ARG lines
46 down.
47
17fdcfc8
GM
48 * xdisp.c (start_display): Don't try to determine the continuation
49 lines width if lines are truncated. It's superfluous and leads to
50 incorrect results if POS is not visible in the window after
51 reseating the iterator at the previous line start.
52
8e3fe78e
GM
532001-08-06 Gerd Moellmann <gerd@gnu.org>
54
55 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
56
98a8938c
GM
572001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
58
59 * alloc.c (init_stack): Remove declaration.
60
18f9986a
GM
612001-08-03 Gerd Moellmann <gerd@gnu.org>
62
5e1f85e0
GM
63 * keyboard.c (read_key_sequence): Check that key is an integer
64 before comparing it with quit_char.
65 (add_command_key): Use larger_vector.
66 (read_char_x_menu_prompt): Instead of converting symbol and
67 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 68 which cannot be confused with valid events.
5e1f85e0
GM
69 (read_char): When reading from Vunread_command_events, check for
70 events of the form (EVENT . disabled) instead of
71 (EVENT . nil).
72
18f9986a
GM
73 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
74 a float, determine the max height from the frame's height.
75
fbc7f2a6
GM
762001-08-02 Gerd Moellmann <gerd@gnu.org>
77
78 * xdisp.c (redisplay_internal): Take message_cleared_p into
79 account only if minibuf_level == 0.
80
81b1a79d
GM
812001-08-01 Gerd Moellmann <gerd@gnu.org>
82
e5c60873
GM
83 * xdisp.c (redisplay_internal): Add a check for the last
84 displayed message.
85
6e019995
GM
86 * xdisp.c (message_cleared_p): New variable.
87 (clear_message): Set message_cleared_p when clearing the current
88 message.
89 (redisplay_internal): Look at message_cleared_p to capture
90 the case that the echo area should be cleared.
91
308a74d8
GM
92 * keyboard.c (command_loop_1): Fix spelling of
93 resize_echo_area_exactly.
94
95 * dispextern.h (resize_echo_area_exactly): Fix typo in function
96 name.
97
98 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
99
81b1a79d
GM
100 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
101 current matrix when the window gets smaller.
102
ada329e6
EZ
1032001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
104
105 * print.c (strout): Cast the character passed to insert_char to
106 unsigned char, to avoid sign extension when it is promoted to int.
107
ed86208c
GM
1082001-07-31 Gerd Moellmann <gerd@gnu.org>
109
110 * fileio.c (Finsert_file_contents): Don't treat a return value
111 of 0 from emacs_read as an IO error.
112
6594ac22
GM
1132001-07-30 Gerd Moellmann <gerd@gnu.org>
114
cef68af5
GM
115 * keyboard.c (abs): New macro.
116 (double_click_fuzz): New variable.
117 (make_lispy_event): Use it to determine what makes a double-click.
118 (syms_of_keyboard): DEFVAR_INT it.
119
6594ac22
GM
120 * xmenu.c (set_frame_menubar): Take into account that
121 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
122 <raeburn@gnu.org>.
123
75c5350a
GM
1242001-07-27 Gerd Moellmann <gerd@gnu.org>
125
126 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
127
128 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
129 of row's visible height.
130
131 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
132 deal with the first overlay string having an image `display'
133 property.
134 (try_window_reusing_current_matrix, compute_line_metrics): Fix
135 computation of row's visible height for the case that part of the
136 row is invisible above and part of the row is at the same time
137 invisible below the window.
138
ac49effe
GM
1392001-07-26 Gerd Moellmann <gerd@gnu.org>
140
141 * xfns.c (x-show-tip): Doc fix.
142
143 * xfns.c (Vx_max_tooltip_size): New variable.
144 (syms_of_xfns): DEFVAR_LISP it.
145 (Fx_show_tip): Set frame's window_width to the width of the
146 window. Use a maximum tooltip size specified by
147 Vx_max_tooltip_size, if that has valid contents.
148 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
149
8c3b00cb
AI
1502001-07-26 Andrew Innes <andrewi@gnu.org>
151
152 * w32term.c (x_display_list): New variable.
153 (w32_term_init): Set it.
154
155 * w32term.h (x_display_list): New extern.
156
16098288
GM
1572001-07-26 Gerd Moellmann <gerd@gnu.org>
158
159 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
160 is non-nil, instead of when redisplaying_p is non-zero. See
161 comment there.
162 (mark_window_display_accurate_1): Add an assertion.
163
64c5be50
GM
1642001-07-25 Gerd Moellmann <gerd@gnu.org>
165
e743f599
GM
166 * dispextern.h (struct it): Increase size of ctl_chars to 16.
167
563b384d
GM
168 * xfns.c (Fx_file_dialog): Block/unblock input while processing
169 events so that we get a chance of processing expose events.
170
64c5be50
GM
171 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
172
296808a5
GM
1732001-07-24 Gerd Moellmann <gerd@gnu.org>
174
175 * xfns.c (valid_image_p): Protect better against invalid image
176 specifications. Previous code could signal an error.
177
5247262a
GM
1782001-07-23 Gerd Moellmann <gerd@gnu.org>
179
f1004faf
GM
180 * indent.c (current_column): Fix column computation in the
181 presence of display table entries.
182 (current_column_1, Fmove_to_column, compute_motion): Likewise.
183
dd42b31a
GM
184 * dispnew.c (adjust_glyph_matrix): In the optimization for
185 windows whose height has changed, use the new window height
186 to compute which rows to invalidate.
187
9e5a7f2a
GM
188 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
189 (MAX_10_EXP): New macro.
190 (Fformat): Use it.
191
5247262a
GM
192 * coding.c (code_convert_region): Handle the multibyte case if
193 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
194
177ab8ce
GM
1952001-07-20 Gerd Moellmann <gerd@gnu.org>
196
6e07c0a5
GM
197 * dispextern.h (struct face): Change type of `stipple' to
198 int; it's an ID.
199
177ab8ce
GM
200 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
201
b5b80599
GM
2022001-07-19 Gerd Moellmann <gerd@gnu.org>
203
4e2a256b
GM
204 * dispnew.c (update_window): Don't set the cursor at the end
205 of the update if display update has been paused.
206
b5b80599
GM
207 * composite.h (syms_of_composite): Renamed from
208 syms_of_composition.
209
c1fd9232
KR
2102001-07-18 Ken Raeburn <raeburn@gnu.org>
211
212 * fns.c (Fset_char_table_default): Check that a charset is defined
213 before checking its dimension.
214
928a85c1
KR
2152001-07-17 Ken Raeburn <raeburn@gnu.org>
216
217 * coding.c (setup_coding_system): Don't do any designation based
218 on reg_bits if charset is not yet defined.
219
232e274c
KR
220 * lisp.h (XVECTOR): Verify correct object type before returning a
221 pointer, using eassert.
222
de11c1ea
GM
2232001-07-17 Gerd Moellmann <gerd@gnu.org>
224
225 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase
226 to 4096 because of paste problems reported on GNU/Linux.
227
467f1209
GM
2282001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
229
230 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
231
c3d6be34
GM
2322001-07-16 Gerd Moellmann <gerd@gnu.org>
233
c1d61a7d
GM
234 * fileio.c (unwind_read): Function removed.
235 (read_non_regular, read_non_regular_quit): New functions.
236 (Finsert_file_contents): When reading from non-regular files,
237 arrange to catch a `quit' and terminate the loop. Rearrange
238 code so that a `quit' when reading from a regular file doesn't
239 insert text in the buffer.
240
c3d6be34
GM
241 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
242 Clear faces afterwards.
243 (clear_font_table): Take a x_display_info parameter. Don't free
244 fonts being the default font of any frame on the given display.
245
e06aa1f9
GM
2462001-07-13 Gerd Moellmann <gerd@gnu.org>
247
248 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
249 instead of CHAR_STRING which can signal an error.
250
251 * charset.c (char_to_string_1): Extracted from char_to_string.
252 Return -1 instead of signaling an error.
253 (char_to_string): Use it.
254
255 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
256
176c92e6
SM
2572001-07-12 Stefan Monnier <monnier@cs.yale.edu>
258
259 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
260 is t, don't try to append anything to it.
261
1c56232f
EZ
2622001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
263
264 * dired.c (file_name_completion): Pass dp->d_name to
265 Fstring_match, not elt, which is always nil here.
266
1d2b2268
GM
2672001-07-12 Gerd Moellmann <gerd@gnu.org>
268
269 * xselect.c (x_decline_selection_request): Handle errors
270 caused by receivers that have vanished.
271
272 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
273 ignoring events on foreign windows in #if 0. Always dispatch
274 the event after checking it with x_handle_property_notify.
275
276 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
277 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
278 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
279 (toplevel): Add prototypes for file-local functions.
280 (x_atom_to_symbol): Remove DPYINFO parameter.
281
fe5a0162
SM
2822001-07-11 Stefan Monnier <monnier@cs.yale.edu>
283
284 * w32menu.c (menubar_selection_callback, w32_menu_show):
285 Initialize `entry' to nil.
286 (w32_dialog_show): Remove unused `save_wv' variable.
287 (name_is_separator): Recognize "--:foo" and "--foo-bar".
288
a777242c
GM
2892001-07-11 Gerd Moellmann <gerd@gnu.org>
290
8ee5b6a3
GM
291 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
292
d0e2444e
GM
293 * fileio.c (unwind_read): Print a message when discarding inserted
294 text or switching the buffer to unibyte. Change parameter.
295 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 296
a777242c
GM
297 * fileio.c (unwind_read): New function.
298 (Finsert_file_contents): Record it as unwind-function for
299 the case that reading is interrupted by C-g.
300
ae794295
GM
3012001-07-10 Gerd Moellmann <gerd@gnu.org>
302
fe5a0162 303 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
304 update when scrolling_window returns 0.
305
6b05fae3
GM
306 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
307
308 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 309 for the case that x_decode_color signals an error.
6b05fae3 310
ae794295
GM
311 * xdisp.c (add_to_log): Do nothing if called asynchronously.
312
bb6e8cee
GM
3132001-07-09 Gerd Moellmann <gerd@gnu.org>
314
315 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
316 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
317 around ioctls.
318
36b40a8a
EZ
3192001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
320
24b97d4b
EZ
321 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
322 doc string line for dos-timezone-offset.
323
36b40a8a
EZ
324 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
325 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
326 (syms_of_msdos): Add \n\ at the end of a line in the doc string
327 line for dos-unsupported-char-glyph.
36b40a8a
EZ
328
329 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
330
0967b4b0
GM
3312001-07-05 Gerd Moellmann <gerd@gnu.org>
332
f25cfe53
GM
333 * sound.c: Include Emacs' header files with #include "...".
334
0967b4b0
GM
335 * eval.c (specbind): Additionally record the buffer that was
336 current when a buffer-local or frame-local variable was bound.
337
c347a1c3
GM
3382001-07-04 Gerd Moellmann <gerd@gnu.org>
339
340 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
341 to unibyte characters in unibyte buffers.
342
6332ca8a
GM
3432001-07-03 Gerd Moellmann <gerd@gnu.org>
344
38472d44
GM
345 * eval.c (specbind): If SYMBOL has a frame-local binding, record
346 the frame on the binding stack. Change format of entries for
347 local bindings on the binding stack to '(SYMBOL . WHERE)'.
348 (unbind_to): Handle unbinding a frame-local variable.
349
6332ca8a 350 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 351 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
352 (dump_glyph_row): Print row's continuation_lines_width.
353 (try_window_id): Take the shortcut if ZV is visible in the
354 window, but there are actually no changes at ZV.
355
63d1b174
GM
3562001-07-02 Gerd Moellmann <gerd@gnu.org>
357
4c175203
GM
358 * xterm.h (x_free_dpy_colors): Add prototype.
359
360 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
361 right number of arguments.
362
0b54ce28
GM
363 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
364 ($(lwlibdir)TAGS): New target.
4c175203 365 (TAGS): Fix dependency list.
0b54ce28 366
63d1b174
GM
367 * xterm.c (x_list_fonts): Make sure XFreeFont is called
368 with input blocked.
369
d827466c
GM
3702001-06-30 Gerd Moellmann <gerd@gnu.org>
371
372 * emacs.c (main): Remove extern declaration for sys_nerr, which
373 isn't used and causes a compilation error with GCC 3.0 on
374 FreeBSD 4.3.
375
b5cb1ada
GM
3762001-06-27 Gerd Moellmann <gerd@gnu.org>
377
a5d3ec3f
GM
378 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
379 SIGIO around the code where Xt might wait for a
380 ConfigureNotifyEvent.
381 (toplevel): Include <signal.h> and syssignal.h.
382
b5cb1ada
GM
383 * sound.c (vox_configure, vox_close): Turn off atimers
384 around ioctls.
385
d9bad487
GM
3862001-06-26 Gerd Moellmann <gerd@gnu.org>
387
fdbb67fe
GM
388 * keyboard.c (read_char) <non_reread>: Record the previous idle
389 start time before calling timer_stop_idle.
390 (read_char) <reread_first>: After processing a help-echo event,
391 restore the previous idle start time.
392
d9bad487
GM
393 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
394 the start of invisible text.
395 (setup_for_ellipsis): New function.
396 (next_overlay_string): After all overlay strings have been
397 processed, display an ellipsis if necessary.
398 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
399 (push_it): Initialize display_ellipsis_p on the iterator's stack.
400
401 * dispextern.h (struct iterator_stack_entry): Add member
402 display_ellipsis_p.
403
2b9c25e0
GM
4042001-06-25 Gerd Moellmann <gerd@gnu.org>
405
80de57df
GM
406 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
407 on the value of the wait-for-wm frame parameter.
408
409 * xterm.h (struct x_output): Add member wait_for_wm.
410
411 * xfns.c (Qwait_for_wm): New variable.
412 (x_frame_parms): Add entry for `wait-for-wm".
413 (x_set_wait_for_wm): New function.
414 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
415 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
416
2b9c25e0
GM
417 * xdisp.c (try_window_id) <all changes below window end>: Don't
418 take this shortcut if ZV is visible in the window.
419 (try_window_id): When checking for window start being in changed
420 text, don't check that the buffer's size has changed.
421
f772775c
RS
4222001-06-23 Richard M. Stallman <rms@gnu.org>
423
424 * minibuf.c (Fcompleting_read): Doc fix.
425
fa9090b8
GM
4262001-06-19 Gerd Moellmann <gerd@gnu.org>
427
428 * composite.c (Ffind_composition_internal): Accept ZV
429 and a string's end position as POS.
430
f6f1beba
GM
4312001-06-18 Gerd Moellmann <gerd@gnu.org>
432
433 * composite.c (Ffind_composition_internal): Check POS
434 for validity.
435
0ae83348
EZ
4362001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
437
438 * editfns.c (Fmessage_box): If the frame is not under a window
439 system, output the message in the echo area.
440
e4cdc335
RS
4412001-06-14 Richard M. Stallman <rms@gnu.org>
442
443 * xdisp.c (try_window_id): When EOB is visible, don't treat
444 insertion at EOB as if it were "off the bottom of the screen."
445
a55a5f3c
AI
4462001-06-11 Andrew Innes <andrewi@gnu.org>
447
448 * w32proc.c (create_child): Add new parameter is_gui_app.
449 (w32_executable_type): Add new parameter is_gui_app.
450 (sys_spawnve): Use it.
451 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
452 SIGQUIT. This matches better how the signals are interpreted by
453 MSVC compiled programs.
454 (syms_of_ntproc): Update docstring.
455
1b85dc1c
SM
4562001-06-02 Stefan Monnier <monnier@cs.yale.edu>
457
458 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
459 well otherwise note_mouse_highlight might optimize away highlighting
460 if we pass over that same overlay again.
461
b75f8eab
EZ
4622001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
463
464 * lread.c (Fload): Document that the argument is run via
465 substitute-in-file-name.
466
94843cc1
GM
4672001-05-31 Gerd Moellmann <gerd@gnu.org>
468
b14659e6
GM
469 * Makefile.in (bootstrap-doc): New target.
470 (bootstrap-emacs): Depend on it.
471
0894672f
GM
472 * fileio.c (Fdo_auto_save): Don't try to create the directory of
473 auto-save-list-file-name when shutting down Emacs, because
474 creating the directory might signal an error, and leaves
475 Emacs in a strange state.
476
94843cc1
GM
477 * term.c: (tty_cursor_hidden): New variable.
478 (update_begin): Don't call tty_hide_cursor. Clean up.
479 (update_end, set_terminal_window, set_scroll_region): Clean up.
480 (ring_bell, reset_terminal_modes): Clean up.
481 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
482 on tty_cursor_hidden.
483 (write_glyphs): Call tty_hide_cursor.
484
db3a49a6
SM
4852001-05-30 Stefan Monnier <monnier@cs.yale.edu>
486
487 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
488
8bd189fb
GM
4892001-05-30 Gerd Moellmann <gerd@gnu.org>
490
6f1be3b9
GM
491 * xfns.c (enum image_value_type): New enumerator
492 IMAGE_STRING_OR_NIL_VALUE.
493 (parse_image_spec): Handle it.
494 (xbm_format, pbm_format): Use it for :foreground and :background.
495 (xbm_load, pbm_load): Check for nil color names.
496
8bd189fb
GM
497 * xterm.c (note_mouse_highlight): If an overlapping overlay
498 exists, but we find that we highlight the same overlay as before,
499 don't do the highlighting again.
500
7bdba03c
GM
5012001-05-29 Gerd Moellmann <gerd@gnu.org>
502
4c329aa8
GM
503 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
504 Protect unibyte strings created by replacing their multibyte
505 equivalents in menu_items.
506
e15e2828
GM
507 * keymap.c (Fsingle_key_description): NUL-terminate the string
508 buffer before calling build_string.
509
7bdba03c
GM
510 * callproc.c (Fcall_process): Deal with decode_coding returning
511 CODING_FINISH_INCONSISTENT_EOL.
512
89c8dc6c
GM
5132001-05-28 Gerd Moellmann <gerd@gnu.org>
514
db3a49a6 515 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
516 an item's name with its key description in case the description
517 is a multibyte string.
518
519 * keymap.c (Fsingle_key_description): Create a multibyte string
520 only if necessary.
521
eb04d6cd
GM
522 * macros.c (Fstart_kbd_macro): Doc fix.
523
8bd6307f
GM
524 * xterm.c (cursor_in_mouse_face_p): New function.
525 (x_draw_stretch_glyph_string): Use it to choose a different GC
526 when drawing a cursor within highlighted text.
527
e26c4089
GM
528 * editfns.c (char_property_eq): Put in #if 0.
529
530 * indent.c (string_display_width): Put in #if 0.
531
532 * lread.c (Fload): Remove unused label.
533
89c8dc6c
GM
534 * termcap.c (speeds): Put in #if 0.
535
9a1211f2
GM
5362001-05-18 Gerd Moellmann <gerd@gnu.org>
537
29148a3f
GM
538 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
539
9a1211f2
GM
540 * xfaces.c (xlfd_point_size): Don't divide pixel size from
541 transformation matrix by 10.
542
09393d07
GM
5432001-05-16 Gerd Moellmann <gerd@gnu.org>
544
545 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
546 only if it's equal to the former foreground pixel color.
db3a49a6 547 (x_set_foreground_color, x_set_background_color)
09393d07
GM
548 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
549
460e6bae
GM
5502001-05-16 Dave Love <fx@gnu.org>
551
552 * insdel.c (signal_before_change, signal_after_change): Consider a
553 local change hook which changes the buffer.
99c78ce8
GM
554
555 * process.c (read_process_output): Don't call signal_after_change
556 and update_compositions after insert_from_string_before_markers.
557
dbcf3c03
GM
5582001-05-16 Gerd Moellmann <gerd@gnu.org>
559
a90b3d3c
GM
560 * xfaces.c (split_font_name): Use the right field when
561 checking for `[...]' syntax.
562
1b7818b4
GM
563 * buffer.c (copy_overlays): New function.
564 (clone_per_buffer_values): Use it.
565
566 * buffer.h (OVERLAY_PLIST): New macro.
567
9bae8781
GM
568 * keymap.c (Fsingle_key_description): Replace a build_string with
569 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
570
dbcf3c03
GM
571 * fontset.c (Ffontset_info): Check that face is non-null
572 before accessing its fields.
573
8a1ae4dd
GM
5742001-05-15 Gerd Moellmann <gerd@gnu.org>
575
18a0a39e
GM
576 * keyboard.c (read_key_sequence): Prevent generating a fake
577 prefix key twice.
578
e335b66a
GM
579 * xfaces.c (split_font_name): Handle `[...]' for the right
580 font name fields.
581
8a1ae4dd
GM
582 * ccl.c (ccl_driver): Don't copy remaining bytes in case
583 of CCL_STAT_INVALID_CMD.
584
3cf80731
SM
5852001-05-14 Stefan Monnier <monnier@cs.yale.edu>
586
33568849
SM
587 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
588 in <var> has no default value yet.
589
3cf80731
SM
590 * xfaces.c (try_alternative_families): First try the FAMILY.
591 And if nothing is found in the end, try again with scalable fonts.
592 (try_font_list): Let try_alternative_families do a bit more of
593 the work. Only use FAMILY if it is not nil.
594 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
595
933b0249
GM
5962001-05-14 Gerd Moellmann <gerd@gnu.org>
597
58e5af83
GM
598 * xterm.c (note_mouse_highlight): Avoid changing the mouse
599 pointer shape when show_mouse_face has already done it.
33568849 600
58e5af83 601 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
602 full-width rows.
603
7b16a6bf
GM
604 * xfaces.c (split_font_name): Make sure to leave the loop
605 with the right value of `i'.
3cf80731 606
933b0249
GM
607 * xfaces.c (split_font_name): Handle matrix transformations
608 in the pixel and point size fields of XLFD font names.
609 (xlfd_point_size): Likewise.
610
dddcbf00
EZ
6112001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
612
3cf80731 613 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
614 (x_to_w32_font): Add prototype.
615
7689ef0b
EZ
616 * regex.c (malloc, realloc, free) [emacs]: Undefine before
617 redefining, to avoid compiler warnings.
618
e7c15bba
EZ
619 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
620
dddcbf00
EZ
621 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
622 (w32_get_bdf_glyph): Cast between unsigned char and char when
623 passing arguments to subroutines, to shut up compiler warnings.
624 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
625 GET_HEX_VAL.
626
627 * xfaces.c: Include keyboard.h before frame.h, not after it.
628
629 * widget.c: Include keyboard.h before frame.h.
630
631 * w32term.h (struct image, struct face): Forward declaration, to
632 avoid compiler warnings.
633
7bd2d083
GM
6342001-05-11 Gerd Moellmann <gerd@gnu.org>
635
47e72862
GM
636 * keyboard.c (read_key_sequence): Don't modify events when
637 generating fake prefix keys (mode-line, scroll-bar, ...) since
638 this prevents proper processing of such events when pushed back
639 into unread-command-events.
640
dd5f324b
GM
641 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
642 actually redrawn. Make the function static.
643 (note_mouse_highlight): Fix a case where the mouse cursor
644 was changed back to the text cursor.
645
646 * xterm.h (clear_mouse_face): Remove prototype.
647
d88a79d4
GM
648 * xdisp.c (try_window_id): Fix the fix and set the right
649 window_end_vpos.
650
651 * xdisp.c (try_window_id): Fix computation of window end in the
652 case that lines were deleted at the end of the window. Add some
653 more debug_method_adds.
0416532f 654
7bd2d083
GM
655 * xfaces.c (try_alternative_families): New function.
656 (try_font_list): Use it. If ATTRS specifies a family, check
657 fonts from that family first.
658 (choose_face_font): Remove code setting the family part of
659 the pattern to nil.
660
23fca891
GM
6612001-05-10 Gerd Moellmann <gerd@gnu.org>
662
ff9aa2ca
GM
663 * xdisp.c (try_window_id): Fix case of all changes before
664 the window start.
7b2654b5 665
23fca891
GM
666 * xdisp.c (try_window_id): Add some xasserts.
667
e9726794
GM
6682001-05-09 Gerd Moellmann <gerd@gnu.org>
669
670 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
671
9e53a675
GM
6722001-05-09 Dave Love <fx@gnu.org>
673
674 * xdisp.c (GIVE_UP): Fix for K&R C.
675
0d487c52
GM
6762001-05-09 Gerd Moellmann <gerd@gnu.org>
677
fe88d421
GM
678 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
679
0d487c52
GM
680 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
681 back to the text cursor shape without need.
682
1e9fc92e
GM
6832001-05-07 Gerd Moellmann <gerd@gnu.org>
684
a2a6232e
GM
685 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
686
687 * dispextern.h (inverse_video): Declare extern.
688
1e9fc92e
GM
689 * keyboard.c (delete_kboard): Handle the case that selected_frame
690 has been deleted in the course of x_connection_closed.
691
12949a7f
EZ
6922001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
693
7b2654b5
SM
694 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
695 Fix the change from 2001-04-30.
12949a7f 696
2fa2f461
GM
6972001-05-03 Gerd Moellmann <gerd@gnu.org>
698
a779d213
GM
699 * xfns.c (file_dialog_unmap_cb): New function.
700 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
701 where a dialog is closed via the window manager.
702
7b2654b5 703 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
704 the window start or all below the window end mostly rewritten.
705 (redisplay_window): Move the tests if try_window_id is
706 applicable to try_window_id.
707 (GIVE_UP): New macro.
708
3356df63
GM
7092001-05-02 Gerd Moellmann <gerd@gnu.org>
710
a39202f6 711 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
712 currently being updated, mark the frame garbaged.
713 Fix computation of rows intersecting the exposed rectangle.
a39202f6 714 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 715
3356df63
GM
716 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
717 again if it has already been drawn.
718
a9d2fd1d
SM
7192001-05-01 Stefan Monnier <monnier@cs.yale.edu>
720
721 * syntax.c (update_syntax_table): Check that oldi has the same
722 properties as old_prop before deciding not to invalidate.
723
c95fc5f1
GM
7242001-04-30 Gerd Moellmann <gerd@gnu.org>
725
a9793e45
GM
726 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
727 read-only text that is so because of text properties.
728
c95fc5f1 729 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 730 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
731 windows that are components of a Lucid menu bar.
732
5a5d9185
GM
7332001-04-27 Gerd Moellmann <gerd@gnu.org>
734
735 * term.c (turn_on_face): Fix reverse video handling on terminals
736 that don't support colors.
737
ba973f7a
GM
7382001-04-26 Gerd Moellmann <gerd@gnu.org>
739
740 * editfns.c (save_excursion_restore): Don't use XBUFFER on
741 a non-buffer.
742
8c56a983
GM
7432001-04-25 Gerd Moellmann <gerd@gnu.org>
744
a728644c
GM
745 * term.c (toggle_highlight): New function.
746 (turn_on_face): Change handling of reverse video.
747
7b2654b5
SM
748 * process.c (wait_reading_process_input):
749 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 750
bfd8410f
GM
751 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
752 of the number of overlays to check.
753
be2488ca
GM
754 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
755
8c56a983
GM
756 * xdisp.c (try_window_id): Fix a case where window_end_pos
757 and window_end_bytepos were not adjusted.
758
522d42f7
GM
7592001-04-23 Gerd Moellmann <gerd@gnu.org>
760
761 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
762 zero instead of -1.
763
78c1afb6
EZ
7642001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
765
a9d2fd1d
SM
766 * process.c (wait_reading_process_input) [!subprocesses]:
767 Don't reference waiting_for_user_input_p, it's not defined in the
768 branch without async subprocesses support.
78c1afb6 769
a2fab450
GM
7702001-04-19 Gerd Moellmann <gerd@gnu.org>
771
a122a38e
GM
772 * keyboard.c (delete_kboard): Prevent a dangling reference
773 from current_kboard to KB, which is freed.
774
a9d2fd1d
SM
775 * process.c (wait_reading_process_input):
776 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
777 read_key_sequence aware of buffer changes from under it.
778
0f8d6dc7
GM
7792001-04-18 Gerd Moellmann <gerd@gnu.org>
780
eeffb293
GM
781 * xfaces.c (Qscalable_fonts_allowed): New variable.
782 (realizing_basic_faces_p): Removed.
2fa2f461
GM
783 (x_face_list_fonts): Special handling for realizing_basic_faces_p
784 removed.
eeffb293 785 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
786 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
787 for scalable-fonts-allowed to t.
eeffb293 788
0f8d6dc7
GM
789 * fileio.c (Finsert_file_contents): If the file size returned from
790 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 791 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 792
eec2d1de
EZ
7932001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
794
795 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
796 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
797 (__memalign_hook): Make the two prototypes consistent.
798
f4f480bd
GM
7992001-04-17 Gerd Moellmann <gerd@gnu.org>
800
801 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
802 matrix of mini-windows.
803
52283633
SM
8042001-04-12 Stefan Monnier <monnier@cs.yale.edu>
805
806 * intervals.c (find_interval): Don't rebalance during signal handling.
807
ec2423c9
GM
8082001-04-11 Gerd Moellmann <gerd@gnu.org>
809
30cb0001 810 * fns.c: Include blockinput.h.
52283633 811
ec2423c9
GM
812 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
813
719d83ad
GM
8142001-04-10 Gerd Moellmann <gerd@gnu.org>
815
60f8d735
GM
816 * fns.c (Fcompare_strings): Fix return values.
817
afffeb57
GM
818 * window.c (window_scroll): Change the meaning of N to mean
819 N screen-fulls or N lines.
820 (window_scroll_pixel_based, window_scroll_line_based)
821 (scroll_command, Fscroll_other_window): Change accordingly.
822
52283633
SM
823 * window.c (window_scroll_pixel_based, Frecenter):
824 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
825 height of the window.
826
827 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
828 instead of using it.last_visible_y for the height of the window.
52283633 829
719d83ad 830 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 831 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
832
833 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
834 able to write to hidden and system files. From Dan Holmsand
835 <dan@eyebee.com>.
719d83ad 836
8ddf3ee1
GM
837 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
838 Holmsand <dan@eyebee.com>.
719d83ad 839
522ed7fb
GM
8402001-04-09 Gerd Moellmann <gerd@gnu.org>
841
9170e5d4
GM
842 * fns.c (Fplist_get, Fplist_put): Add QUITs.
843
522ed7fb
GM
844 * window.c (window_internal_height): Return 1 less if the
845 window has a header line.
846
847 * xdisp.c (try_window_id): When scrolling on a terminal, take
848 the change of window_internal_height into account.
849
ceeb3d7d
EZ
8502001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
851
852 * gmalloc.c (align): If the argument SIZE would overflow
853 __malloc_ptrdiff_t, fail right away.
854
63685b9d
GM
8552001-04-06 Gerd Moellmann <gerd@gnu.org>
856
857 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
858 Make sure the tooltip is completely visible.
859 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
860
861 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
862
863 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
864
3ffb33bb
DL
8652001-04-06 Dave Love <fx@gnu.org>
866
52283633
SM
867 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
868 Fix test of `from'.
3ffb33bb 869
869fb12c
GM
8702001-04-06 Gerd Moellmann <gerd@gnu.org>
871
52283633 872 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 873
869fb12c
GM
874 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
875
441bf856
GM
8762001-04-05 Gerd Moellmann <gerd@gnu.org>
877
4d664b04
GM
878 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
879
52283633 880 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 881
30ca89f5
GM
882 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
883 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
884
885 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
886 shell widget's position only if it is non-null.
887
52283633
SM
888 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
889 Set f->output_data.x->widget to null after destroying it.
30ca89f5 890
81a81c0f
GM
891 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
892 FILENAME to bring it in synch with the documentation.
893
441bf856
GM
894 * xfaces.c (realizing_basic_faces_p): Renamed from
895 realize_default_face_p.
896 (realize_basic_faces): Set/clear realizing_basic_faces_p.
897 (realize_default_face): Don't set the flag.
898
702a1e8e
GM
8992001-04-04 Gerd Moellmann <gerd@gnu.org>
900
1013f4e3
GM
901 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
902
52283633
SM
903 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
904
1013f4e3
GM
905 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
906 the buffer that was used for echoing.
907
702a1e8e
GM
908 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
909 (first_font_matching): Removed unused function.
910 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
911 (may_use_scalable_font_p): Remove parameter FONT; rename
912 parameter NAME to FONT.
913 (x_face_list_fonts): Fix missing bounds check.
914 (realizing_default_face_p): New variable.
915 (realize_default_face): Set and clear that flag.
916 (x_face_list_fonts): When called during the realization of the
917 default face, and no matching fonts are found when ignoring
918 scalable fonts and fonts matching a regexp from
919 face-ignored-fonts, try without ignoring fonts.
920
f9dbcda4
GM
9212001-04-03 Gerd Moellmann <gerd@gnu.org>
922
ad18ffb1
GM
923 * xfns.c (postprocess_image): New function.
924 (lookup_image): Call it for all image types except PostScript.
925 (x_kill_gs_process): Call postprocess_image.
926
f9dbcda4
GM
927 * xterm.c (x_use_underline_position_properties): New variable.
928 (x_draw_glyph_string): Use it.
929 (syms_of_xterm): DEFVAR_BOOL it.
930
651f03b6
GM
9312001-04-02 Gerd Moellmann <gerd@gnu.org>
932
933 * xterm.c (x_alloc_nearest_color_1): New function.
934 (x_alloc_nearest_color): Use it.
935 (x_color_cells): Take a Display as argument, instead of a frame.
936 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
937 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
938 (x_initialize): Register cvt_string_to_pixel as resource converter
939 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
940
73d75a62
GM
9412001-03-30 Gerd Moellmann <gerd@gnu.org>
942
b2046df8
GM
943 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
944 (set_iterator_to_next): If a string from a display property ends,
945 consider the case that this might also be the end of an
946 overlay string having the display property.
947
52283633 948 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 949
87d8eba4
GM
950 * xdisp.c (reseat_to_string): Undo last change.
951
73d75a62
GM
952 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
953 matrix of a window when the header line changes, when
954 new rows are allocated, or when the width changes.
955
911a2406
EZ
9562001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
957
52283633 958 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 959
aea51abe
EZ
9602001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
961
962 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
963 deprecated.
964
176bc847
GM
9652001-03-29 Gerd Moellmann <gerd@gnu.org>
966
ed31fabf
GM
967 * data.c (Fsubr_interactive_form): New function.
968 (syms_of_data): Defsubr it.
969
176bc847
GM
970 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
971 (live_float_p, live_misc_p): Return 1 only if the offset of the
972 pointer in its block is >= 0.
973
e59d0e9d
GM
9742001-03-28 Paul Eggert <eggert@twinsun.com>
975
976 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
977 microseconds calcuation. Avoid double-rounding problem.
978 In doc string, warn that the result is approximate.
979
f827b862
GM
9802001-03-28 Gerd Moellmann <gerd@gnu.org>
981
30a3f61c
GM
982 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
983 bind `inhibit-eval-during-redisplay' to t.
984
985 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
986
987 * xdisp.c (inhibit_eval_during_redisplay)
988 (Qinhibit_eval_during_redisplay): New variables.
989 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
990 don't eval, return nil instead.
991 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
992 Initialize Qinhibit_eval_during_redisplay.
993
e719f5ae
GM
994 * xdisp.c (reseat_to_string): If STRING is multibyte, set
995 the iterator's multibyte_p flag.
996
deb2613a
GM
997 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
998 instead of setting it to zero; it's incremented for each frame
999 where the menu face is changed.
1000
52283633
SM
1001 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1002 change bottom shadow accordingly.
1003
1004 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1005 intersections here.
1006 (expose_window): Do it here instead.
52283633 1007 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1008
f827b862
GM
1009 * bytecode.c (BYTE_CODE_QUIT): New macro.
1010 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1011
4bde0ebb
GM
10122001-03-27 Gerd Moellmann <gerd@gnu.org>
1013
607ec83c
GM
1014 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1015 Give up if matrix starts in an ellipsis.
1016 (init_from_display_pos): Do nothing if POS doesn't specify
1017 a dpvec_index but the iterator has such a position.
1018
0245398f
GM
1019 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1020
aba25348
GM
1021 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1022 x/y position is (0, 0) after destroying the menu bar, restore
1023 its original position.
1024
4bde0ebb
GM
1025 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1026 (init_from_display_pos): Use it.
1027 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1028
8cdb267e
GM
10292001-03-26 Gerd Moellmann <gerd@gnu.org>
1030
1031 * xdisp.c (try_window_id): Undo last change.
1032
9948db79
EZ
10332001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1034
1035 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1036
1037 * buffer.c (syms_of_buffer): Doc fix.
1038
2eddf899
GM
10392001-03-26 Gerd Moellmann <gerd@gnu.org>
1040
1041 * xfaces.c (x_update_menu_appearance): Use local variable
1042 popup_path for setting font resources.
1043
6c145d35
EZ
10442001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1045
6a65b1b5
EZ
1046 * frame.c (Fframe_list): Don't reference tip_frame if
1047 HAVE_WINDOW_SYSTEM is not defined.
1048
6c145d35
EZ
1049 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1050 <wl@gnu.org>.
1051
d74c1900
GM
10522001-03-25 Gerd Moellmann <gerd@gnu.org>
1053
20fbd925
GM
1054 * xdisp.c (init_from_display_pos): Test invisible property
1055 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1056
927c5b3b
GM
1057 * xdisp.c (redisplay_internal) <update one window>: Make sure
1058 last_arrow_position and last_arrow_string are set.
1059
d74c1900
GM
1060 * frame.c (Fframe_list): Don't return a tooltip frame.
1061
091f8878
GM
10622001-03-23 Gerd Moellmann <gerd@gnu.org>
1063
52283633
SM
1064 * xdisp.c (mark_window_display_accurate_1): New function,
1065 extracted from mark_window_display_accurate.
1066 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1067 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1068 (mark_window_display_accurate): Use it.
1069 (redisplay_internal): Use it for the selected window.
1070 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1071 for the selected frame.
1072
ac90c44f
GM
1073 * xdisp.c Use make_number, for readability.
1074 (try_window_id): Disable rows below the window end.
1075 (try_window_reusing_current_matrix): Use cursor_row_p.
1076 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1077 of rows.
1078 (init_from_display_pos): If POS specifies a position in a display
1079 vector, maybe get the iterator set up for that ellipsis.
43c09969 1080
091f8878
GM
1081 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1082
991786dd
EZ
10832001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1084
1085 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1086
6c29b43c
GM
10872001-03-23 Gerd Moellmann <gerd@gnu.org>
1088
1089 * xfaces.c (x_update_menu_appearance): Use a different path
1090 for Lucid popup menus.
1091
d8731202
SM
10922001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1093
1094 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1095
1096 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1097 (string_buffer_position): Use `make_number'.
1098
f61a541b
GM
10992001-03-22 Gerd Moellmann <gerd@gnu.org>
1100
3c9e997b
GM
1101 * xfaces.c (x_update_menu_appearance): Renamed from
1102 x_set_menu_face_resources. Use different resources for popups.
1103
1104 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1105 (GC_CHECK_STRING_BYTES): Don't define.
1106
364cd450
GM
1107 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1108 Removed, together with subroutines.
1109 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1110 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1111
d8731202
SM
1112 * dispextern.h (x_set_menu_resources_from_menu_face):
1113 Remove prototype.
364cd450 1114
d8731202 1115 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1116 Remove calls to x_set_menu_resources_from_menu_face.
1117
d8731202
SM
1118 * xfaces.c (xm_set_menu_resources_from_menu_face):
1119 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1120
1121 * xmenu.c: Include widget.h.
1122 (single_submenu): Return int. Some cleanup.
1123 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1124
140330de
GM
11252001-03-21 Gerd Moellmann <gerd@gnu.org>
1126
1127 * xterm.c (x_update_window_end): Handle overwritten mouse face
1128 also for tool bar windows.
1129 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1130 DRAW is DRAW_IMAGE_RAISED.
1131
1741905c
GM
11322001-03-20 Gerd Moellmann <gerd@gnu.org>
1133
fa88947e
GM
1134 * print.c (syms_of_print): Doc fixes.
1135
1741905c
GM
1136 * fns.c (Fmd5): Doc fix.
1137
ade0bee1
GM
11382001-03-19 Gerd Moellmann <gerd@gnu.org>
1139
357e7376
GM
1140 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1141 Clear area of the frame not occupied by the scroll bar.
1142
c2c097cc
GM
1143 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1144 tip frame's root window buffer to *tip* right after creating
1145 the frame.
1146
ade0bee1
GM
1147 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1148 is an integer don't have to be for space characters.
1149
88c6e37e
GM
11502001-03-16 Gerd Moellmann <gerd@gnu.org>
1151
52283633
SM
1152 * indent.c (current_column, current_column_1, Fmove_to_column)
1153 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1154
c62eed76
KH
11552001-03-15 Kenichi Handa <handa@etl.go.jp>
1156
1157 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1158 drawing glyph string.
1159
c899e7e6
GM
11602001-03-15 Gerd Moellmann <gerd@gnu.org>
1161
d0bbfc99
GM
1162 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1163 (command_loop_1): Undo last change.
1164
03d1a189
GM
1165 * xterm.c (fast_find_position): Return the correct vpos.
1166
c899e7e6 1167 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1168 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1169 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1170 Call store_symval_forwarding with BUF null.
1171 (set_internal): Call store_symval_forwarding with the BUF
1172 parameter passed to set_internal. Formerly, the value was always
1173 set in the current buffer; the buffer recorded in specbind for
1174 this case wasn't used.
1175 (arith_driver): Reindent.
1176
52283633
SM
1177 * buffer.c (swap_out_buffer_local_variables):
1178 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1179
1180 * lisp.h (store_symval_forwarding): Change prototype.
1181
1182 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1183
57ac7c81
GM
11842001-03-14 Gerd Moellmann <gerd@gnu.org>
1185
697617d9
GM
1186 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1187 FOR_DELETION. Avoid resizing the mini-window of the selected
1188 frame if FOR_DELETION is set.
1189 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1190 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1191 signature.
1192
1193 * window.c (Fset_window_configuration): Change call to
1194 do_switch_frame to new format.
1195
1196 * keyboard.c (quit_throw_to_read_char): Change call to
1197 do_switch_frame to new format.
1198
1199 * lisp.h (do_switch_frame): Change prototype.
1200
819dce0f
GM
1201 * frame.c (Fframe_parameters): In the `buffer-list' frame
1202 parameter, store the buffer list of FRAME, not the list of the
1203 selected frame.
1204
57ac7c81
GM
1205 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1206 box just because the glyph row's full_width_p flag is set.
1207
65008712
GM
12082001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1209
1210 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1211 skip the padding blanks inserted in extend_face_to_end_of_line,
1212 before checking for trailing whitespace.
1213
159cf431
GM
12142001-03-13 Gerd Moellmann <gerd@gnu.org>
1215
52283633 1216 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1217 Remove special handling for LessTif/Motif.
1218 (toplevel): Don't include Xm/Xm.h.
1219
52283633
SM
1220 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1221 Remove workaround code for LessTif; it doesn't work anymore.
1222
2564ea1b 1223 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1224 Xm/ScrollBarP.h.
afcdc0a1 1225
52283633
SM
1226 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1227 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1228 contemporary LessTif.
1229
52283633
SM
1230 * xfaces.c (xm_set_menu_resources_from_menu_face):
1231 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1232
159cf431
GM
1233 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1234 removing button grabs.
1235
c6f7429a
KH
12362001-03-13 Kenichi Handa <handa@etl.go.jp>
1237
cb82d767
KH
1238 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1239 and clip-large-size-font as obsolete.
1240
c6f7429a
KH
1241 * lread.c (read_multibyte): Check the validity of multibyte
1242 sequence. If invalid, return the first byte.
1243
760cefb5
GM
12442001-03-12 Gerd Moellmann <gerd@gnu.org>
1245
1246 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1247 before running the command; timer functions or process
1248 filters may have set it.
1249
5141f9d0
EZ
12502001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1251
1252 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1253 Doc fix.
1254
b6a15240
GM
12552001-03-12 Gerd Moellmann <gerd@gnu.org>
1256
1257 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1258 to sprintf.
1259
95522746
GM
12602001-03-09 Gerd Moellmann <gerd@gnu.org>
1261
db14cfc5
GM
1262 * dispextern.h (string_buffer_position): Add prototype.
1263
52283633 1264 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1265 (single_display_prop_string_p): New functions.
1266
1267 * xterm.c (note_mouse_highlight): If there's no help-echo on
1268 a string, look at the buffer text ``under'' it.
1269
1270 * keyboard.c (make_lispy_event): Add string info to the event,
1271 analogous to what's done on mode lines.
1272 (read_key_sequence): For a click on a string, consider `local-map'
1273 and `keymap' of that string.
1274
52283633
SM
1275 * keyboard.c (make_lispy_event, make_lispy_movement):
1276 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1277
1278 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1279
1280 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1281 POS; return void.
1282
95522746
GM
1283 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1284 flags argument to emacs_open; it seems to conflict with O_EXCL.
1285
898a399d
KH
12862001-03-09 Kenichi Handa <handa@etl.go.jp>
1287
28cd4910
KH
1288 * composite.h (struct composition): Change types of members;
1289 glyph_len to unsigned, width to unsigned short.
898a399d 1290
4cdf6a6c
AI
12912001-03-08 Andrew Innes <andrewi@gnu.org>
1292
1293 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1294 menu titles.
1295
129004d3
GM
12962001-03-08 Gerd Moellmann <gerd@gnu.org>
1297
221dd3e7
GM
1298 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1299 instead of nil.
1300
52283633 1301 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1302 help-echo in strings.
1303 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1304 (fast_find_string_pos): New function.
1305
52283633
SM
1306 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1307 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1308
1309 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1310 Handle `mouse-face'.
1311
1312 * dispextern.h (face_at_string_position): Change prototype.
1313
52283633 1314 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1315
129004d3
GM
1316 * keyboard.c (make_lispy_event): Avoid generating drag events
1317 if the mouse hasn't actually moved to another buffer position.
52283633 1318
80c8ab8c
DL
13192001-03-08 Dave Love <fx@gnu.org>
1320
129004d3 1321 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1322
989521fd
GM
13232001-03-08 Gerd Moellmann <gerd@gnu.org>
1324
1325 * process.c (Fset_process_window_size): Fix a typo.
1326
bb5c338d
KH
13272001-03-08 Kenichi Handa <handa@etl.go.jp>
1328
1329 * coding.c (detect_coding_sjis): Do more rigid check.
1330 (detect_coding_big5): Likewise.
1331 (decode_coding_sjis_big5): Likewise.
1332 (Fdetect_coding_region): Call detect_coding_system with tailing
1333 anchor byte `\0' for more rigid detection.
52283633 1334 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1335 (Fdetect_coding_string): Likewise.
1336
8b8f9197
SM
13372001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1338
1339 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1340 a string before extracting its data.
1341
3bdf2660
GM
13422001-03-07 Gerd Moellmann <gerd@gnu.org>
1343
1344 * window.c (Frecenter): Rewrite code handling negative values
1345 of ARG on graphical frames.
1346
13472001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1348
1349 * window.c (displayed_window_lines): If W->start is outside the
1350 accessible portion of the buffer, call start_display with BEGV or
1351 ZV instead of W->start.
1352
471f86b9
GM
13532001-03-07 Gerd Moellmann <gerd@gnu.org>
1354
2ab62c6c
GM
1355 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1356
471f86b9
GM
1357 * process.c (Fset_process_filter): Don't crash if the input
1358 file descriptor of PROCESS is closed.
1359 (Fset_process_window_size): Likewise.
1360
101922c3
GM
13612001-03-06 Kenichi Handa <handa@etl.go.jp>
1362
1363 * xterm.c (XTflash): Make the timeout of select shorter, and call
1364 select repeatedly until the desired time expires.
1365
45d051a7
GM
13662001-03-06 Gerd Moellmann <gerd@gnu.org>
1367
1368 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1369
1370 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1371
1372 * lisp.h (Vwindow_list): Declare extern.
1373
8f372c46
EZ
13742001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1375
1376 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1377
f16a7aa5
GM
13782001-03-06 Gerd Moellmann <gerd@gnu.org>
1379
157ae273
GM
1380 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1381 to detect a case where we have to highlight a different region
1382 despite not having left the currently highlighted region.
1383 Set mouse_face_overlay in the x_display_info.
45d051a7 1384 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1385
1386 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1387
1388 * buffer.c (mouse_face_overlay_overlaps): New function.
1389
1390 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1391 (Qmouse_face): Declare extern.
1392
f16a7aa5
GM
1393 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1394 if face_change_count is non-zero.
1395
827afcac
KH
13962001-03-06 Kenichi Handa <handa@etl.go.jp>
1397
1398 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1399 that the source is unibyte.
1400
14c7242e
DL
14012001-03-05 Dave Love <fx@gnu.org>
1402
827afcac 1403 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1404
c28b847b
GM
14052001-03-05 Gerd Moellmann <gerd@gnu.org>
1406
1407 * minibuf.c (read_minibuf): Clean up the binding stack if
1408 called noninteractively.
1409
b86644f2
KH
14102001-03-05 Kenichi Handa <handa@etl.go.jp>
1411
1412 * coding.c (syms_of_coding): Docstring modified.
1413
203682cc 14142001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1415
1416 * charset.c (char_to_string): If a single byte char has modifier
1417 bits that can't be reflected to the character code, ignore them
45d051a7 1418 instead of signaling an error.
b86644f2 1419
e30bd7b7
EZ
14202001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1421
1422 * s/msdos.h: Update copyright notice.
1423
1424 * dosfns.h: Update copyright notice.
1425
1426 * dosfns.c: Update copyright notice.
1427
1428 * msdos.c: Update copyright notice.
1429
b52b65bd
GM
14302001-03-02 Gerd Moellmann <gerd@gnu.org>
1431
1432 * xterm.c (glyph_rect): New function.
1433 (XTmouse_position): Use it to raise the threshold for mouse
1434 movement event generation.
1435
53c4b1e6
EZ
14362001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1437
1438 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1439 specifies (reverse . t), reverse the initial screen colors.
1440 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1441 but we are reversing the colors, set bg_set, not fg_set.
1442 Likewise for setting background-color and reversing: set fg_set.
1443 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1444 in effect.
1445
1446 * xfaces.c (Finternal_set_lisp_face_attribute)
1447 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1448 parameters alist.
1449
f964b4d7
GM
14502001-03-02 Gerd Moellmann <gerd@gnu.org>
1451
ef53d75e
GM
1452 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1453 to a single slash in the middle of file names.
1454
52283633 1455 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1456 Accept only alphanumeric time zone names.
1457
f964b4d7
GM
1458 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1459 or width area.
1460 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1461 a widget to zero height.
52283633 1462
c3c45f65
GM
14632001-03-01 Gerd Moellmann <gerd@gnu.org>
1464
1465 * window.c (Fwindow_end): Call move_it_past_eol only if
1466 ending up on a partially visible line.
1467
028d739a
DL
14682001-03-01 Dave Love <fx@gnu.org>
1469
1470 * ccl.c (Fccl_execute): Doc fix.
1471
57c5889c
GM
14722001-03-01 Gerd Moellmann <gerd@gnu.org>
1473
35f59f6b
GM
1474 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1475 of the tool bar before calling x_figure_window_size.
1476
f84ff02c
GM
1477 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1478 NULL after destroying it, otherwise XTread_socket can access a
1479 destroyed widget when input is unblocked.
1480
8b8f9197 1481 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1482
57c5889c
GM
1483 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1484 same name as before, although there was a change in fontsets.
1485
224227d1
KR
14862001-02-28 Ken Raeburn <raeburn@gnu.org>
1487
4560730a
KR
1488 * lisp.h (Fframe_parameter): Declare.
1489
224227d1 1490 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1491 Lisp_Object.
224227d1 1492
ece93c02
GM
14932001-02-28 Gerd Moellmann <gerd@gnu.org>
1494
11ef99b9
GM
1495 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1496 NULL instead.
1497
1498 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1499 NULL instead.
1500
ece93c02
GM
1501 * alloc.c (toplevel): Include process.h.
1502 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1503 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1504 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1505 (allocate_vector, allocate_hash_table, allocate_window)
1506 (allocate_frame, allocate_process, allocate_other_vector):
1507 New functions.
ece93c02
GM
1508 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1509 (mark_maybe_pointer): New function.
52283633 1510 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1511 remain and not Lisp_Objects.
1512 (min_heap_address, max_heap_address): New variables.
1513 (mem_find): Return MEM_NIL if START is below min_heap_address or
1514 above max_heap_address.
1515 (mem_insert): Compute min_heap_address and max_heap_address.
1516
1517 * process.c (make_process): Use allocate_process.
1518
1519 * frame.c (make_frame): Use allocate_frame.
1520
1521 * window.c (make_window, make_dummy_parent): Use allocate_window.
1522 (Fcurrent_window_configuration): Use allocate_other_vector.
1523
1524 * lisp.h (allocate_vectorlike): Remove prototype.
1525 (allocate_vector, allocate_other_vector, allocate_frame)
1526 (allocate_window, allocate_process, allocate_hash_table):
1527 Add prototypes.
1528
1529 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1530 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1531
063af457
KH
15322001-02-27 Kenichi Handa <handa@etl.go.jp>
1533
1534 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1535 treat the produced bytes as a valid multibyte sequence.
1536
1537 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1538 (ccl_driver) <CCL_WriteMultibyteChar2>:
1539 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1540 <ccl_finish>: Set ccl->eight_bit_control properly.
1541
1542 * ccl.h (struct ccl_program): New member eight_bit_control.
1543
f58c6494
SM
15442001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1545
1546 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1547 accessible_keymaps_char_table.
1548 (accessible_keymaps_char_table): Obey `is_metized'.
1549 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1550 Lisp_Object.
1551
c596c392
GM
15522001-02-26 Gerd Moellmann <gerd@gnu.org>
1553
1554 * dispnew.c: Check HAVE_TERM_H before including term.h.
1555
425de386
AI
15562001-02-24 Andrew Innes <andrewi@gnu.org>
1557
1558 * makefile.w32-in: Update copyright notice.
1559
2ba11bbd
SM
15602001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1561
1562 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1563
66c56ed1
KH
15642001-02-24 Kenichi Handa <handa@etl.go.jp>
1565
4c1593ce
KH
1566 * Makefile.in (lisp): Add international/utf-8.elc.
1567
66c56ed1
KH
1568 * fontset.c (Fnew_fontset): Fix handling of the case that an
1569 element of FONTLIST is a cons of family and registry.
1570
796ead7e
JR
15712001-02-23 Jason Rumney <jasonr@gnu.org>
1572
1573 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1574 to height unconditionally.
1575
1576 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1577 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1578 (x_insert_glyphs): Call window_box_left to obtain the left
1579 x-coordinate of the area to shift.
1580
1581 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1582 safe_run_hooks.
1583
f6839838
AI
15842001-02-22 Andrew Innes <andrewi@gnu.org>
1585
52283633 1586 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1587 ($(BLD)\dispnew.obj):
1588 ($(BLD)\editfns.obj):
1589 ($(BLD)\fileio.obj):
1590 ($(BLD)\filelock.obj):
1591 ($(BLD)\keyboard.obj):
1592 ($(BLD)\w32proc.obj):
1593 ($(BLD)\process.obj):
1594 ($(BLD)\sysdep.obj): Ditto.
1595
1596 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1597 header files.
52283633
SM
1598 ($(BLD)/dispnew.$(O)):
1599 ($(BLD)/editfns.$(O)):
1600 ($(BLD)/fileio.$(O)):
1601 ($(BLD)/filelock.$(O)):
1602 ($(BLD)/keyboard.$(O)):
1603 ($(BLD)/w32proc.$(O)):
1604 ($(BLD)/process.$(O)):
f6839838
AI
1605 ($(BLD)/sysdep.$(O)): Ditto.
1606
c224f70b
GM
16072001-02-22 Gerd Moellmann <gerd@gnu.org>
1608
51695746
GM
1609 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1610 at the start of the function, check that the \n in it->c is
1611 from the iterator's current position.
52283633 1612
a61b7058
GM
1613 * xdisp.c (handle_single_display_prop): Add parameter
1614 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1615 properties which replace the display of text with something else.
1616 (handle_display_prop): Call handle_single_display_prop with
1617 additional argument saying if we already replaced text display
1618 with something else. Use AREF.
52283633 1619 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1620 (decode_mode_spec_coding): Use AREF and ASIZE.
1621
3473f362
GM
1622 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1623 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1624 * vmstime.h: Files removed.
52283633 1625
2bb58df3
GM
1626 * unexencap.c, unexfx2800.c: Files removed.
1627
c224f70b
GM
1628 * dispnew.c (direct_output_for_insert): Give up if we are showing
1629 a message or just cleared the message because we might need to
1630 resize the echo area window or display an empty echo area.
1631
ffc9ff0c
GM
16322001-02-21 Gerd Moellmann <gerd@gnu.org>
1633
0528abe1
GM
1634 * xdisp.c (redisplay_internal): Do the
1635 mark_window_display_accurate after all windows have been
1636 redisplayed because this call resets flags in buffers which are
1637 needed for proper redisplay.
1638
52283633
SM
1639 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1640 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1641 the old names.
1642
52283633
SM
1643 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1644 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1645
1646 * msdos.h (struct x_output): Rename busy_window to
1647 hourglass_window, busy_p to hourglass_p.
1648
52283633
SM
1649 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1650 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1651
1652 * xfns.c: Rename everything containing *busy_cursor* and similar
1653 to *hourglass*.
1654 (syms_of_w32fns): Rename x-busy-pointer-shape to
1655 x-hourglass-pointer-shape, display-busy-cursor to
1656 display-hourglass, busy-cursor-delay to hourglass-delay.
1657
1658 * w32fns.c: Rename everything containing *busy_cursor* and similar
1659 to *hourglass*.
1660 (syms_of_w32fns): Rename x-busy-pointer-shape to
1661 x-hourglass-pointer-shape, display-busy-cursor to
1662 display-hourglass, busy-cursor-delay to hourglass-delay.
1663
1664 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1665 of its busy_p flag.
1666
1667 * dispextern.h (start_hourglass, cancel_hourglass)
1668 (display_hourglass_p): Renamed from *busy_cursor*.
1669
ab2c5f0a
GM
16702001-02-20 Gerd Moellmann <gerd@gnu.org>
1671
d17e49a8
GM
1672 * keyboard.c (read_char): When an event from unread-command-events
1673 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1674
fa97adf6
GM
1675 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1676 equal to the current buffer.
1677
ab2c5f0a
GM
1678 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1679 nil, otherwise we're left with truncate_lines t when a message
1680 is printed with message-truncate-lines bound to t.
1681
aeac019e
GM
16822001-02-19 Gerd Moellmann <gerd@gnu.org>
1683
c8bc6f65
GM
1684 * window.c (Fmove_to_window_line): Undo last change.
1685 (displayed_window_lines): Call line_bottom_y to determine
1686 the line's bottom position.
1687
1688 * dispextern.h (line_bottom_y): Add prototype.
1689
52283633 1690 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1691 (pos_visible_p): Use it.
1692
980a2d69
GM
1693 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1694 set redisplaying_p to 0 here instead of in Frecursive_edit.
1695 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1696 set redisplaying_p.
1697
52283633 1698 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1699 New variables.
1700 (syms_of_xdisp): Initialize new variables.
1701 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1702 Specbind `inhibit-menubar-update' when updating the menu bar.
1703
65048e97
GM
1704 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1705 safe_run_hooks.
1706
1707 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1708 safe_run_hooks.
1709
a57c4026
GM
1710 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1711 is null.
1712
aeac019e
GM
1713 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1714 to the start of the file.
1715
76846b31
GM
17162001-02-16 Gerd Moellmann <gerd@gnu.org>
1717
f3f053f3 1718 * window.c (set_window_buffer): Fix last change.
52283633 1719
f3f053f3
GM
1720 * window.c (set_window_buffer): Set window's vscroll to 0.
1721
dad75588
GM
1722 * window.c (coordinates_in_window): Increase width of area
1723 where the vertical line can be dragged.
1724
c220b753
GM
1725 * xterm.c (x_set_glyph_string_background_width): Extend the
1726 background face to the end of the drawing area in the text
1727 area, only.
1728
c56b1c1b
GM
1729 * xdisp.c (handle_single_display_prop): Set iterator's position
1730 to where the `display' property starts, like for images.
1731 (dump_glyph): New function.
1732 (dump_glyph_row): Use it. Dump info about marginal areas.
1733
1734 * dispnew.c (direct_output_for_insert): Recognize more cases where
1735 glyphs can be written instead of being inserted.
1736
1737 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1738 the left x-coordinate of the area to shift.
1739
76846b31
GM
1740 * dired.c (directory_files_internal): Set result list to nil
1741 before retrying.
1742
0fc71a77
KH
17432001-02-15 Kenichi Handa <handa@etl.go.jp>
1744
1745 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1746 invalid multibyte sequence, treat *SRC as a character of
1747 eight-bit-graphic.
1748
25078b54
EZ
17492001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1750
1751 * textprop.c (Fset_text_properties): Doc fix.
1752
8399f8a0
GM
17532001-02-15 Gerd Moellmann <gerd@gnu.org>
1754
1755 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1756
9a2a6f73
DL
17572001-02-14 Dave Love <fx@gnu.org>
1758
1759 * coding.c: Doc and message fixes.
1760
bf853fee
AI
17612001-02-14 Andrew Innes <andrewi@gnu.org>
1762
1763 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1764 Emacs frame above the screen size.
1765
78c663d8
GM
17662001-02-14 Gerd Moellmann <gerd@gnu.org>
1767
1768 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1769
7cc9f69f
GM
17702001-02-13 Gerd Moellmann <gerd@gnu.org>
1771
0a411995
GM
1772 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1773 case that TO ends up beyond ZV after running before-change-functions.
1774
5ddc1b75
GM
1775 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1776 the selected window if it is showing the buffer in question.
1777
7cc9f69f
GM
1778 * dired.c (directory_files_internal): Initialize errno.
1779 (toplevel): Include errno.h.
1780
2e6621ca
GM
17812001-02-13 Kenichi Handa <handa@etl.go.jp>
1782
1783 * xfaces.c (best_matching_font): New parameter width_ratio.
1784 Multiply avgwidth by width_ratio.
1785 (choose_face_font): Call best_matching_font with width_ratio
1786 calculated from the column width of C.
1787
60222d69
AI
17882001-02-12 Andrew Innes <andrewi@gnu.org>
1789
1790 The following changes are to draw box lines inside characters area
1791 if line-width is negative.
52283633 1792
60222d69
AI
1793 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1794 face->box_line_width is negative.
1795 (x_produce_stretch_glyph): Likewise.
1796 (x_produce_glyphs): Likewise.
1797 (x_estimate_mode_line_height): Likewise.
1798 (x_draw_glyph_string_background): Likewise.
1799 (x_draw_glyph_string_foreground): Likewise.
1800 (x_draw_composite_glyph_string_foreground): Likewise.
1801 (x_draw_glyph_string_box): Likewise.
1802 (x_draw_image_foreground): Likewise.
1803 (x_draw_image_relief): Likewise.
1804 (x_draw_image_foreground_1): Likewise.
1805 (x_draw_image_glyph_string): Likewise.
1806
9804b846
KH
18072001-02-09 Kenichi Handa <handa@etl.go.jp>
1808
1809 The following changes are to draw box lines inside characters area
1810 if line-width is negative.
52283633 1811
9804b846
KH
1812 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1813 face->box_line_width is negative.
1814 (x_produce_stretch_glyph): Likewise.
1815 (x_produce_glyphs): Likewise.
1816 (x_estimate_mode_line_height): Likewise.
1817 (x_draw_glyph_string_background): Likewise.
1818 (x_draw_glyph_string_foreground): Likewise.
1819 (x_draw_composite_glyph_string_foreground): Likewise.
1820 (x_draw_glyph_string_box): Likewise.
1821 (x_draw_image_foreground): Likewise.
1822 (x_draw_image_relief): Likewise.
1823 (x_draw_image_foreground_1): Likewise.
1824 (x_draw_image_glyph_string): Likewise.
1825
1826 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1827 and :line-width can be negative.
52283633 1828 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1829
49be9f70
JR
18302001-02-09 Jason Rumney <jasonr@gnu.org>
1831
1832 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1833 characters the same as ASCII and latin-1.
1834 (x_display_and_set_cursor): Check for the focus frame's selected
1835 window instead of selected_window.
1836 (x_after_update_window_line): Don't clear if frame's internal
1837 border width is zero.
1838 (x_new_font): Don't change a tooltip's size.
1839 (w32_initialize): Set char_ins_del_ok to 1.
1840
1841 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1842 (x_set_font): If font hasn't changed, avoid recomputing
1843 faces and other things.
52283633
SM
1844 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1845 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1846 (x_create_tip_frame): Prevent changing the tooltip's
1847 background color by specifying a color for the default font
1848 in .Xdefaults.
1849 (Qcancel_timer): New variable.
1850 (syms_of_w32fns): Initialize and staticpro it.
1851 (Fx_hide_tip, Fx_show_tip): Use it.
1852 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1853 the timer.
1854 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1855
1856 * w32.c (init_environment): Duplicate local string before putenv.
1857
555e35d2
SZ
18582001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1859
1860 * charset.c (Fstring): A typo.
1861
19c92c94
KH
18622001-02-09 Kenichi Handa <handa@etl.go.jp>
1863
e47a1c33
KH
1864 * charset.c (Fstring): If all arguments are less than 256, return
1865 a unibyte string.
1866
1867 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1868 return a unibyte string.
1869
19c92c94
KH
1870 * coding.c (code_convert_region): After detecting a coding, if
1871 nothing found, set coding->composing to COMPOSITION_NO.
1872 (decode_coding_string): Likewise.
1873
d8e675f5
SM
18742001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1875
1876 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1877 to avoid overflow.
1878
bd503487
KH
18792001-02-07 Kenichi Handa <handa@etl.go.jp>
1880
1881 * charset.c (parse_str_to_multibyte): New function.
1882
1883 * charset.h (parse_str_to_multibyte): Extern it.
1884
1885 * print.c (print_string): If we are going to print a unibyte
1886 string into a multibyte buffer, convert the string to multibyte by
1887 str_to_multibyte.
1888
a8370d72
AI
18892001-02-06 Andrew Innes <andrewi@gnu.org>
1890
1891 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1892 been created. It seems we can get sent window messages such as
1893 WM_ERASEBKGND before we properly update a frame.
1894
c363a1d6
GM
18952001-02-06 Gerd Moellmann <gerd@gnu.org>
1896
1897 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1898 Avoid some unnecessary cursor positioning.
1899
a08332c0
GM
19002001-02-05 Gerd Moellmann <gerd@gnu.org>
1901
52283633 1902 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1903 (LFACE_AVGWIDTH): New macro.
1904 (LFACEP): Use AREF.
1905 (check_lface_attrs): Check LFACE_AVGWIDTH.
1906 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1907 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1908 (merge_face_vectors): Check LFACE_AVGWIDTH.
1909 (Finternal_make_lisp_face): Use AREF.
1910 (xm_set_menu_resources_from_menu_face)
1911 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1912 (Finternal_lisp_face_empty_p): Use AREF.
1913 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1914 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1915 Compare average widths..
1916 (best_matching_font): Arrange for comparing average widths.
1917
52283633
SM
1918 * dispextern.h (enum lface_attribute_index):
1919 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1920
5cb3c8d4
DL
19212001-02-05 Dave Love <fx@gnu.org>
1922
1923 * puresize.h: Revert last change following loadup.el change.
1924
193fba87
AI
19252001-02-05 Andrew Innes <andrewi@gnu.org>
1926
1927 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1928 invocation of temacs, to work with Windows 2000.
1929 (bootstrap-emacs): Ditto.
1930
e16f52ce
GM
19312001-02-05 Gerd Moellmann <gerd@gnu.org>
1932
7a58ab59
GM
1933 * xterm.c (x_display_and_set_cursor): Check for the focus
1934 frame's selected window instead of selected_window.
1935
e89aaabd
GM
1936 * xdisp.c (try_scrolling): If point is in the line below the
1937 window, make sure to move the iterator at least a canonical
1938 char height down.
1939
52283633 1940 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1941
789ce875
KH
19422001-02-05 Kenichi Handa <handa@etl.go.jp>
1943
52283633
SM
1944 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1945 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1946 (ccl_driver): If the CCL program is terminated because of
1947 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1948 destination instead of throwing them away.
1949
20b28f82
GM
19502001-02-02 Gerd Moellmann <gerd@gnu.org>
1951
79fb38c0
GM
1952 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1953 faces and other things.
1954
20b28f82
GM
1955 * xdisp.c (get_next_display_element): Fix case of empty
1956 display table entry.
1957
5a72551e
EZ
19582001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1959
eb24d0bf
EZ
1960 * editfns.c (Fconstrain_to_field): Doc fix.
1961
6a3f48c7
EZ
1962 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1963 into `thoroughly', to make it consistent with the doc string.
1964
5a72551e
EZ
1965 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1966
01acdb05
GM
19672001-02-01 Gerd Moellmann <gerd@gnu.org>
1968
0353b28f
GM
1969 * search.c (search_buffer): Call set_search_regs with a byte
1970 position, not a character position.
1971
01acdb05
GM
1972 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1973 minibuffer-only,
1974
e86b5133
EZ
19752001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1976
1977 * frame.c (Fmodify_frame_parameters): Doc fix.
1978
7442878f
GM
19792001-01-31 Gerd Moellmann <gerd@gnu.org>
1980
01acdb05
GM
1981 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1982 identifier which is not reserved by Standard C.
52283633 1983
7442878f
GM
1984 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1985
1986 * window.c (enum window_part): New enumeration.
1987 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1988 Qright_bitmap_area.
1989 (coordinates_in_window): Return an enumerator from enum
1990 window_part. Fix handling of right scroll bar.
1991 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1992 `right-fringe' instead of `left-bitmap-area' and
1993 `right-bitmap-area'. Use enumerators from enum window_part
1994 instead of hard-coded integers.
52283633
SM
1995 (check_window_containing, window_from_coordinates):
1996 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1997 (syms_of_window): Replace Qleft_bitmap_area and
1998 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1999
7c132cba
EZ
20002001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2001
2002 * editfns.c (Fformat_time_string): Doc fix.
2003
c359dd9e
SM
20042001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2005
2006 * keymap.c (Fwhere_is_internal): Use the first valid binding
2007 if no ascii binding is found (when firstonly is t).
2008
ce070307
GM
20092001-01-31 Gerd Moellmann <gerd@gnu.org>
2010
b4f30ec5
GM
2011 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2012 instead of Finteractive_p.
2013
2014 * lisp.h (interactive_p): Add prototype.
2015
2016 * eval.c (interactive_p): New function.
2017 (Finteractive_p): Use it.
2018
ce070307
GM
2019 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2020
f57b6e64
DL
20212001-01-31 Dave Love <fx@gnu.org>
2022
d61c7afe
DL
2023 * .gdbinit (hook-run): Define to run xreload.
2024
f57b6e64
DL
2025 * textprop.c (Fset_text_properties): Fix newline in doc string.
2026
eef93f99
GM
20272001-01-30 Gerd Moellmann <gerd@gnu.org>
2028
52283633
SM
2029 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2030 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2031
2032 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2033 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2034 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2035
2036 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2037 height.
2038
d9c1f6f9
DL
20392001-01-30 Dave Love <fx@gnu.org>
2040
2041 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2042 AFTER_POTENTIAL_GC.
2043
e8f044a0
GM
20442001-01-29 Gerd Moellmann <gerd@gnu.org>
2045
52283633
SM
2046 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2047 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2048
8e1db7b3
EZ
20492001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2050
2051 * textprop.c (Fset_text_properties): Doc fix.
2052
4eefd9d2
GM
20532001-01-29 Gerd Moellmann <gerd@gnu.org>
2054
2055 * xdisp.c (forward_to_next_line_start): Remove xassert.
2056
fccb8288
EZ
20572001-01-29 Jason Rumney <jasonr@gnu.org>
2058
4eefd9d2 2059 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2060 returning without releasing it.
2061
76581eab
KH
20622001-01-29 Kenichi Handa <handa@etl.go.jp>
2063
2064 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2065 for '^', '$', and '\0'.
2066
83a96b4d
AC
20672001-01-28 Andrew Choi <akochoi@i-cable.com>
2068
5604ec34
AC
2069 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2070 regex for '^', '$', and '\0'.
2071
83a96b4d
AC
2072 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2073 only if current_sblock has been initialized.
2074
2075 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2076 terminal frame even if it is the only visible frame.
2077
c09a6440
KH
20782001-01-28 Kenichi Handa <handa@etl.go.jp>
2079
2080 * fontset.c (font_family_registry): Even if FONTNAME conform to
2081 XLFD, if it specifies other fields than family and registry,
52283633 2082 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2083 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2084 a signle byte character. Don't set FAMILY part to nil here.
2085 It is handled by the caller choose_face_font.
c09a6440
KH
2086 (Fnew_fontset): Call font_family_registry with FORCE 0.
2087 (Fset_fontset_font): Likewise.
2088
4dcd74e6
GM
20892001-01-27 Gerd Moellmann <gerd@gnu.org>
2090
2091 * xdisp.c (display_line): Don't treat a newline as fitting
2092 on the line.
2093
d2906bf8
GM
20942001-01-26 Gerd Moellmann <gerd@gnu.org>
2095
0130fe1a
GM
2096 * window.c (size_window): Set the window's orig_top to nil when
2097 changing heights, so that a future shrink_mini_window won't
2098 restore a bogus height.
2099
550f0e6a
GM
2100 * frame.c (do_switch_frame): If selected frame has a mini-window,
2101 resize that to exact size.
2102
b7b20fbd
GM
2103 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2104
a47b7816
GM
2105 * xdisp.c (display_line): Simplify check for glyphs fitting
2106 entirely in the line.
2107
d2906bf8
GM
2108 * xfns.c (xic_style): New variable.
2109 (create_frame_xic): Move static variable to global scope for
550f0e6a 2110 the case that `static' gets defined away.
d2906bf8 2111
73df2b1e
KH
21122001-01-26 Kenichi Handa <handa@etl.go.jp>
2113
2114 * coding.c (decode_coding): Set a flag for inhibiting
2115 inconsistent eol.
2116 (code_convert_region): Always set saved_coding_symbol.
2117 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2118 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2119
6613cfc4
GM
21202001-01-25 Gerd Moellmann <gerd@gnu.org>
2121
c5e6e06b
GM
2122 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2123 XClearArea.
2124
2125 * xterm.c (x_after_update_window_line): Don't clear if frame's
2126 internal border width is zero.
2127 (x_clear_area): New function.
2128 (x_after_update_window_line, x_clear_end_of_line)
2129 (x_scroll_bar_create, x_scroll_bar_set_handle)
2130 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2131 instead of XClearArea.
2132
2133 * xterm.h (x_clear_area): Add prototype.
2134
6613cfc4
GM
2135 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2136 which doesn't seem necessary anymore with Lesstif 0.92.
2137
650cc6cc
DL
21382001-01-25 Dave Love <fx@gnu.org>
2139
34ac3367
DL
2140 * puresize.h (BASE_PURESIZE): Up to 720000.
2141
650cc6cc
DL
2142 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2143
5e37dc22
GM
21442001-01-25 Gerd Moellmann <gerd@gnu.org>
2145
e1e441f9
GM
2146 * xdisp.c (echo_area_display): Don't call redisplay_internal
2147 when Emacs is shutting down. We can't run hooks etc. that
2148 would be necessary to do a redisplay.
2149
5e37dc22
GM
2150 * lread.c (read_integer): Use type EMACS_INT instead of int.
2151
0fb94c7f
EZ
21522001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2153
2154 * ccl.c (ccl_driver): Fix last change.
2155
e3778624
KH
21562001-01-25 Kenichi Handa <handa@etl.go.jp>
2157
2158 * ccl.h (sturct ccl_program): New member suppress_error.
2159
bb264518 2160 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2161 insert error message to the output.
2162 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2163
2164 * coding.h (struct coding_system): New member suppress_error.
2165
2166 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2167 (Fset_terminal_coding_system_internal): Set the member
2168 suppress_error to 1.
2169 (Fset_safe_terminal_coding_system_internal): Likewise.
2170
245ed2b1
SM
21712001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2172
2173 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2174 as if it was a `charset'.
2175
f9aaedb6
GM
21762001-01-24 Gerd Moellmann <gerd@gnu.org>
2177
2178 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2179 value in where_is_cache; the next lookup in the cache returns
2180 something bogus if we do.
2181
c3902c3e
EZ
21822001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2183
2184 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2185 if HAVE_WINDOW_SYSTEM isn't defined.
2186
3497f73e
GM
21872001-01-24 Gerd Moellmann <gerd@gnu.org>
2188
e7e41584
GM
2189 * fns.c (sweep_weak_table): Fix code taking items out of
2190 the hash collision chain. Some cleanup.
2191
3497f73e
GM
2192 * xterm.c (x_new_font): Don't change a tooltip's size.
2193
2194 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2195 background color by specifying a color for the default font
2196 in .Xdefaults.
2197
3d48e687
KH
21982001-01-24 Kenichi Handa <handa@etl.go.jp>
2199
96531b20
KH
2200 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2201 a workaround for SunOS 4's cc.
2202 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2203 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2204 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2205 statement.
3d48e687 2206
a30629d2
GM
22072001-01-23 Gerd Moellmann <gerd@gnu.org>
2208
2209 * xterm.c (x_set_window_size_1): New function extracted from
2210 x_set_window_size.
2211 (x_set_window_size): Use it.
2212 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2213 doesn't have a widget, like tooltips.
2214
5a43decf
EZ
22152001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2216
52283633 2217 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2218
b0e98867
KH
22192001-01-23 Kenichi Handa <handa@etl.go.jp>
2220
2221 * fns.c (Fset_char_table_default): Fix to make sub char-table
2222 correctly.
2223
50606b4c
GM
22242001-01-22 Gerd Moellmann <gerd@gnu.org>
2225
cb2ddc53 2226 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2227 a desired tool bar string, even if there are no tool bar items.
2228
57c28064
GM
2229 * xdisp.c (Ftool_bar_lines_needed): New function.
2230 (syms_of_xdisp): Defsubr it.
2231
50606b4c
GM
2232 * editfns.c (Fformat): Don't extend text properties from arguments
2233 to padding chars in the result.
2234
2f169c38
EZ
22352001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2236
2237 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2238
0f32f023
AI
22392001-01-20 Andrew Innes <andrewi@gnu.org>
2240
52283633 2241 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2242 (w32_initialize): Don't set term hooks that aren't actually needed
2243 in windowed mode.
2244
2245 * xfaces.c (realize_default_face):
2246 (realize_face):
2247 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2248
2249 * xdisp.c (handle_single_display_prop): Remove references to
2250 FRAME_W32_CONSOLE_P.
2251
52283633 2252 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2253
2254 * frame.h (output_method): Remove output_w32_console method.
2255 (FRAME_W32_CONSOLE_P): Remove macro.
2256
2257 * frame.c (Qw32_console): Remove variable.
2258 (Fframep): Remove references to it.
2259 (syms_of_frame): Ditto.
2260 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2261
2262 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2263 redefinition.
2264
7173eada
KH
22652001-01-20 Kenichi Handa <handa@etl.go.jp>
2266
2267 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2268
755b45ce
AI
22692001-01-19 Andrew Innes <andrewi@gnu.org>
2270
2271 * w32.c (init_environment): Add a version-independent site-lisp
2272 directory to EMACSLOADPATH, after the version dependent one.
2273
0a949811
GM
22742001-01-19 Gerd Moellmann <gerd@gnu.org>
2275
8501998a
GM
2276 * editfns.c (Fbuffer_substring): Doc fix.
2277
52283633
SM
2278 * xdisp.c (message_dolog, message2, message2_nolog):
2279 Rename parameter LEN to NBYTES.
0a949811 2280
e6ebcbbe
KH
22812001-01-19 Kenichi Handa <handa@etl.go.jp>
2282
200ecca2
KH
2283 * charset.c (strwidth): Use c_string_width.
2284 (c_string_width): New function.
2285 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2286 Caller changed.
2287
2288 * charset.h (c_string_width, lisp_string_width): Extern them.
2289
52283633 2290 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2291
e6ebcbbe
KH
2292 * indent.c (check_composition): Check validity of composition.
2293
200ecca2
KH
2294 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2295 characters by calling c_string_width.
2296 (x_consider_frame_title): Get byte length of frame tile string
2297 correctly.
2298 (display_mode_element): Pay attention to width of non-ASCII
2299 characters by calling strwidth.
2300
8692ca92
GM
23012001-01-18 Gerd Moellmann <gerd@gnu.org>
2302
8962e303
GM
2303 * xfns.c (Qcancel_timer): New variable.
2304 (syms_of_xfns): Initialize and staticpro it.
2305 (Fx_hide_tip, Fx_show_tip): Use it.
2306 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2307 the timer.
2308 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2309
91523be9
GM
2310 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2311
2312 * window.h (WINDOW_LIVE_P): New macro.
2313
b0b7ed0e
GM
2314 * window.c (window_size_fixed): New variable.
2315 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2316 the doc string.
2317
06bccf8e
GM
2318 * eval.c (specbind): If binding a per-buffer variable which
2319 doesn't have a buffer-local value in the current buffer, change
2320 the global value by changing the value of the symbol bound in all
2321 buffers not having their own value, to make it consistent with
2322 what happens with other buffer-local variables.
2323
8692ca92
GM
2324 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2325
2326 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2327 when searching for a newline.
2328
bb3a3b50
KH
23292001-01-18 Kenichi Handa <handa@etl.go.jp>
2330
2331 * xdisp.c (display_string): Fix previous change.
2332
c2cc16fa
JR
23332001-01-18 Jason Rumney <jasonr@gnu.org>
2334
2335 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2336 GLYPH_DEBUG is defined.
2337 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2338 true for images with `:ascent 100'.
2339 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2340 meantime, use face MOUSE_FACE_ID.
2341 If first glyph isn't a character glyph, use the ASCII NUL
2342 character to determine the face.
2343 (expose_area): Do not treat left margin specially.
2344 (note_mode_line_highlight): If no local_map, check global keymap.
2345 (note_mouse_highlight): Initialize overlay.
52283633 2346 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2347 (show_scroll_bars): Remove unused function.
2348 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2349 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2350 Clip to row.
52283633 2351 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2352 (x_free_frame_resources): Unload relief colors.
2353
9c11f79e
GM
23542001-01-17 Gerd Moellmann <gerd@gnu.org>
2355
3aec8722 2356 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2357 get_next_display_element when the newline is already found.
2358 This may change the iterator's position, when its current position is
3aec8722
GM
2359 equal to the iterator's stop_charpos.
2360
f3ffc2c3
GM
2361 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2362 zero, use this method only at the end of a line.
2363
52283633 2364 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2365 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2366 if SCALABLE_FONTS_P is set.
52283633 2367
d26d6fd9
GM
2368 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2369 so that scalable fonts are included.
2370
9c11f79e
GM
2371 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2372 In the cache, use a key containing the information if scalable
2373 fonts are included.
2374 (x_load_font): Adapt to change of keys in the font cache.
2375
23762001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2377
d26d6fd9
GM
2378 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2379 XListFonts to take advantage of font caching.
2380
9c11f79e
GM
2381 * xterm.c (x_list_fonts): Ensure caching font information when
2382 called for a null frame, which is the case frequently when Emacs
2383 starts.
2384
51446987
GM
23852001-01-17 Gerd Moellmann <gerd@gnu.org>
2386
f864120f
GM
2387 * xfns.c (QCconversion): Replaces QCalgorithm.
2388
2389 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2390
2391 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2392 of :algorithm.
52283633 2393
e37d1417
GM
2394 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2395 not everything could be displayed.
2396
51446987
GM
2397 * line.h, x-list-font.c: Files removed because unused.
2398
9ad4f3e5
AI
23992001-01-17 Andrew Innes <andrewi@gnu.org>
2400
2401 * dired.c (directory_files_internal): Convert result from readdir
2402 to a unibyte string initially, to avoid possible misinterpretation
2403 of some bytes as the internal form of Emacs characters.
2404
2eda09b5
KH
24052001-01-17 Kenichi Handa <handa@etl.go.jp>
2406
2407 * fns.c (concat): Be sure to avoid putting the same `composition'
2408 property on the adjacent regions.
2409
826f3788
GM
24102001-01-16 Gerd Moellmann <gerd@gnu.org>
2411
52283633 2412 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2413 (Fscroll_right, Fscroll_left): Set it here instead, if called
2414 interactively.
2415
d57b83b3
GM
2416 * buffer.c (Fset_buffer_modified_p): Set buffer's
2417 prevent_redisplay_optimizations_p flag.
2418
826f3788 2419 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2420 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2421 with additional arg.
2422
2423 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2424 Change prototype.
826f3788 2425
826f3788
GM
2426 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2427 FROM_WHERE, for debugging.
2428
261d788b
KH
24292001-01-16 Kenichi Handa <handa@etl.go.jp>
2430
2431 * ccl.c (Fregister_ccl_program): Handle the return value of
2432 resolve_symbol_ccl_program correctly.
52283633 2433 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2434
bccee4f2
GM
24352001-01-15 Gerd Moellmann <gerd@gnu.org>
2436
e4ded23c
GM
2437 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2438 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2439
2440 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2441 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2442 the display; we didn't open it.
2443
bccee4f2
GM
2444 * dispnew.c (save_or_restore_current_matrices): Function removed.
2445 (save_current_matrix, restore_current_matrix): New functions.
2446 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2447 restore the frame's current matrix. Due to the glyph pointer
2448 setup done in adjust_glyph_matrix, there is no easy way to make
2449 saving the current matrix in the desired matrix generally correct,
2450 so don't try it.
2451
ebeccffa
KH
24522001-01-15 Kenichi Handa <handa@etl.go.jp>
2453
2454 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2455 truncation glyphs.
2456 (display_line): Optimize for wide characters.
e4ded23c 2457 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2458 partially. On ttys, produce more than one truncation glyph for
2459 multi-column characters that don't fit on the line.
2460
64388126
KH
24612001-01-13 Kenichi Handa <handa@etl.go.jp>
2462
52283633
SM
2463 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2464 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2465
8edb0a6f
JR
24662001-01-13 Jason Rumney <jasonr@gnu.org>
2467
2468 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2469 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2470 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2471 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2472
52283633
SM
2473 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2474 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2475 (x_draw_image_glyph_string): Adapt to change of image margins.
2476
2477 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2478 variables.
2479
2480 * w32bdf.c (search_file_line, get_cached_font_char)
2481 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2482
2483 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2484
2485 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2486 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2487 (Fw32_send_sys_command): Remove unused variables.
2488 (w32_msg_pump): Add parentheses.
2489
2490 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2491 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2492 Add parentheses.
2493
4956d1ef
GM
24942001-01-12 Gerd Moellmann <gerd@gnu.org>
2495
b30623be
GM
2496 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2497 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2498 being a pair of margins.
2499 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2500 to DEFVAR_LISP. Extend doc.
2501
2502 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2503 margins.
2504 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2505 pair of integers `(X . Y)', use X for the horizontal and Y for the
2506 vertical margin.
2507 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2508 (parse_image_spec): Check it.
52283633
SM
2509 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2510 (tiff_format, gif_format, gs_format):
2511 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2512
52283633
SM
2513 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2514 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2515 (x_draw_image_glyph_string): Adapt to the change of image margins.
2516
2517 * dispextern.h (struct image): Replace member `margin' with
2518 `hmargin' and `vmargin'.
2519
4554cc79
GM
2520 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2521 and GLYPHS.
2522
2523 * dispnew.c (update_text_area): Put code which decrements the
2524 stop position when the row's face extends to the end of the
3bffc665 2525 line in #if 0.
4554cc79 2526
3cccce8d
GM
2527 * xfns.c (x_set_mouse_color): Fix color allocation.
2528
4956d1ef
GM
2529 * keyboard.c: Call get_local_map with new argument list.
2530
2531 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2532
2533 * intervals.h (enum map_property): Removed.
2534 (get_local_map): Change prototype.
2535
2536 * keymap.c: Call get_local_map with new argument list.
2537 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2538
2c2ff7f2
GM
25392001-01-11 Gerd Moellmann <gerd@gnu.org>
2540
a23887b9
GM
2541 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2542 of the size needed for the tool bar string. For the last image,
2543 use a `display' property that reaches to the end of the string.
2544
a7ee2d2e
GM
2545 * xselect.c (selection_request_dpyinfo): New variable.
2546 (x_handle_selection_request): Set it.
2547 (x_selection_request_lisp_error): Don't call
2548 x_decline_selection_request if selection request's display has
2549 been closed.
2550
52283633
SM
2551 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2552 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2553
457b792c
GM
25542001-01-10 Dave Love <fx@gnu.org>
2555
2556 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2557 ${SOME_MACHINE_LISP}, not ${lisp}.
2558
c1efd260
GM
25592001-01-10 Gerd Moellmann <gerd@gnu.org>
2560
52283633
SM
2561 * xdisp.c (display_line): On ttys, produce more than one truncation
2562 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2563
ac95a621
GM
2564 * xselect.c (x_reply_selection_request): Add a comment.
2565
c1efd260
GM
2566 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2567 XkbGetNames instead of XkbGetKeyboard.
2568
1bfb1345
DL
25692001-01-10 Dave Love <fx@gnu.org>
2570
2571 * sysdep.c (random): Revert the declaration.
2572
38119822
GM
25732001-01-09 Gerd Moellmann <gerd@gnu.org>
2574
52283633
SM
2575 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2576 Call function string_bytes.
35f464a7
GM
2577 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2578
2579 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2580 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2581 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2582 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2583 the current sblock.
2584 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2585 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2586 after sweeping strings, and at the end.
2587 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2588
38119822
GM
2589 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2590 ensure that pop_message is called.
2591
2592 * keyboard.c (Fexecute_extended_command): Use a
2593 record_unwind_protect to ensure that pop_message is called.
2594
2595 * lisp.h (push_message_unwind): Add prototype.
2596
2597 * xdisp.c (push_message_unwind): New function.
2598
2599 * fileio.c (do_auto_save_unwind): Do the pop_message here
2600 instead of in Fdo_auto_save.
2601 (Fdo_auto_save): Don't call pop_message.
2602
f47a9ec4
KR
26032001-01-08 Ken Raeburn <raeburn@gnu.org>
2604
2605 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2606 in inner block.
2607
a758f97d
GM
26082001-01-08 Gerd Moellmann <gerd@gnu.org>
2609
6d0afc03
GM
2610 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2611 when increasing window's vscroll.
2612
a758f97d
GM
2613 * macros.c (Qkbd_macro_termination_hook): New variable.
2614 (syms_of_macros): Initialize and staticpro it.
2615 (pop_kbd_macro): Run kbd-macro-termination-hook.
2616
2617 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2618
1bfb1345 26192001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2620
2621 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2622 arglist, for documentation's sake.
2623
0dac6924
AI
26242001-01-06 Andrew Innes <andrewi@gnu.org>
2625
2626 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2627 of *.pdb.
2628
8182406a
AI
26292001-01-05 Andrew Innes <andrewi@gnu.org>
2630
2631 * term.c (update_end): Don't check updating_frame; for some reason
2632 this can be 0 sometimes, such as after dismissing a popup menu,
2633 and isn't necessary given the explicit frame argument.
2634
3828218c
GM
26352001-01-05 Gerd Moellmann <gerd@gnu.org>
2636
2637 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2638 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2639
2f5ded21
GM
26402001-01-04 Gerd Moellmann <gerd@gnu.org>
2641
52283633 2642 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2643
2644 * xfns.c (x_create_tip_frame): Preserve the value of
2645 face_change_count around the creation of the tip frame.
52283633 2646
2f5ded21
GM
2647 * xfns.c (last_show_tip_args): New variable.
2648 (compute_tip_xy): New function.
2649 (Fx_show_tip): Reuse an existing tip frame, if possible.
2650 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2651
dfad65fa
DL
26522001-01-04 Dave Love <fx@gnu.org>
2653
64d4ec0f
DL
2654 * editfns.c (Fformat): Doc fix.
2655
dfad65fa
DL
2656 * systime.h (set_file_times): Prototype.
2657
2658 * widget.h (EmacsFrameSetCharSize_): Prototype.
2659
2660 * sysdep.c (random, srandom): Declare explicitly.
2661
2662 * dispextern.h (move_it_vertically_backward): Declare.
2663
85fe3b5e
GM
26642001-01-04 Gerd Moellmann <gerd@gnu.org>
2665
0f2ac578
GM
2666 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2667 like in Fx_create_frame.
2668
482cca61
GM
2669 * xfaces.c (set_font_frame_param): Don't do anything for
2670 non-graphical frames.
2671
85fe3b5e
GM
2672 * window.c (Fdelete_other_windows): Set window's window_end_valid
2673 to nil when changing the window's start. Don't change the
2674 window's start when its top position hasn't changed. If we do,
2675 this will set the window's optional_new_start, which act's like a
2676 force_start during redisplay with C-x 1 M-> under particular
2677 circumstances (see report from Per Starback to emacs-pretest-bug
2678 from 2000-12-13.).
2679
3e99d3b4
GM
26802001-01-03 Gerd Moellmann <gerd@gnu.org>
2681
a77dc1ec
GM
2682 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2683 short cut at the start of the function. Add an assertion.
2684 (reseat_at_next_visible_line_start): Add an assertion.
2685
2f3cad6c
GM
2686 * window.c (Frecenter): When changing the window start, set the
2687 window's window_end_valid to nil.
2688 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2689
2690 * dispextern.h (move_it_past_eol): Add prototype.
2691
2692 * xdisp.c (move_it_past_eol): New function.
2693
3e99d3b4
GM
2694 * window.c (Fwindow_end): Doc fix.
2695
26962001-01-03 Dave Love <fx@gnu.org>
2697
52283633 2698 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2699
bafb434c
GM
27002001-01-03 Gerd Moellmann <gerd@gnu.org>
2701
2702 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2703 the enabled_p flag of the glyph row at window_end_vpos to 0.
2704 (handle_single_display_prop): Fix last change.
2705
5297fb00
RS
27062001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2707
2708 * window.c (Frecenter): Doc fix.
2709
13d6a61c
AI
27102001-01-02 Andrew Innes <andrewi@gnu.org>
2711
2712 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2713
2714 * frame.h (output_method): Add output_w32_console method.
2715 (FRAME_W32_CONSOLE_P): New macro.
2716
2717 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2718 use output_w32_console method.
2719 (Qw32_console): New Lisp_Object.
2720 (Fframep): Return it.
2721 (syms_of_frame): Init it.
52283633 2722 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2723
2724 * xfaces.c (realize_default_face): Set face foreground and
2725 background to unspecified for w32_console frames.
2726 (realize_face): Realize face cache for w32_console frames.
2727 (realize_tty_face): Accept w32_console frames.
2728
52283633 2729 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2730 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2731 necessary, even if running interactively.
2732
2733 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2734 w32_console frames.
2735
52283633
SM
2736 * w32term.c (x_update_begin):
2737 (x_update_end):
2738 (x_clear_frame):
2739 (x_ins_del_lines):
2740 (x_change_line_highlight):
2741 (x_delete_glyphs):
2742 (w32_ring_bell):
2743 (x_update_begin):
2744 (x_update_end):
2745 (w32_reassert_line_highlight):
2746 (w32_frame_rehighlight):
13d6a61c
AI
2747 (w32_frame_raise_lower): Do nothing if not w32 frame.
2748
2749 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2750
2751 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2752 system doesn't tell us directly.
2753 (Fx_display_visual_class): Implement properly.
2754
d6bb0c0d
GM
27552001-01-02 Gerd Moellmann <gerd@gnu.org>
2756
2757 * window.c (Frecenter): Handle centering in graphical frames
2758 specially. Centering on the basis of line counts doesn't work
2759 reliably with variable-height lines.
52283633 2760
315f5865
EZ
27612001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2762
2763 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2764 and al[].
2765
52283633 2766 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2767 (update_compositions): Remove unused variable `hook'.
2768
2769 * intervals.c (get_local_map): Remove unused variable `tem'.
2770
2771 * doprnt.c (doprnt1): Remove unused variable `size'.
2772
2773 * fns.c (Flength): Remove unused variable `tail'.
2774 (Fdelete): Remove unused variable `size'.
2775
2776 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2777 and `gcpro2'.
2778
52283633 2779 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2780
2781 * data.c (find_symbol_value): Remove extra 3rd argument in the
2782 call to swap_in_symval_forwarding.
2783
52283633 2784 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2785
2786 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2787 (trivial_regexp_p): Remove unused variable `c'.
2788 (boyer_moore): Remove unused variable `k'.
2789
2790 * indent.c (current_column): Remove unused variable `stopchar'.
2791 (Fcompute_motion): Remove unused variable `contin'.
2792
2793 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2794
2795 * dired.c (directory_files_internal): Fix a typo in a comment.
2796 Remove an unused variable `handler'.
52283633 2797 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2798 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2799 on BSD4_2.
2800
52283633 2801 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2802
2803 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2804 and `buf'.
2805 (Fmarker_insertion_type): Remove unused variable `buf'.
2806
2807 * insdel.c (make_gap): Remove unused variable `result'.
2808
52283633 2809 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2810 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2811 (menu_bar_items): Remove unused function-scope variable `tem'.
2812
2813 * fontset.c (fontset_ref): Remove unused variable `i'.
2814 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2815 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2816 (make_fontset_for_ascii_face): Remove unused variable `name'.
2817 (fs_load_font): Remove unused variable `font_idx'.
52283633 2818 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2819 (list_fontsets): Remove unused variable `tail'.
2820 (Fnew_fontset): Remove unused variables `family' and `registry'.
2821 (accumulate_font_info): Remove unused variable `tmp'.
2822 (Ffontset_font): Remove unused variable `id'.
2823 (syms_of_fontset): Remove unused variable `i'.
2824
2825 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2826 to x_term_init.
2827 (lookup_image): Remove unused variable `file'.
2828 (xbm_load): Remove unused variables `bitmap_data', `height', and
2829 `width'. Remove function-local variable `i', leave the
2830 block-local one.
2831 (gif_load): Remove unused variable `inc'.
2832
52283633 2833 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2834 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2835 leave only the one in the inner block.
2836
2837 * xfaces.c (face_fontset, realize_default_face): Remove unused
2838 variable `fontset'.
2839 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2840
2841 * term.c (encode_terminal_code): Remove unused variable `c'.
2842
2843 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2844 char *' instead of `char *'.
2845
2846 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2847 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2848 (Fchar_category_set): Remove unused variables `val', `charset',
2849 `c1' and `c2'.
2850
52283633
SM
2851 * coding.c (detect_coding_iso2022, setup_coding_system):
2852 Remove unused variable `i'.
315f5865
EZ
2853 (detect_coding_mask): Remove unused variable `idx'.
2854 (detect_coding): Remove unused variable `i'.
2855 (ccl_coding_driver): Remove unused variable `result'.
2856 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2857 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2858 (encode_coding_string): Remove unused variables `gcpro1' and
2859 `saved_coding_symbol'.
2860 (Ffind_coding_systems_region_internal): Remove function-local
2861 variable args[], leave only the block-local one.
2862 (code_convert_region1): Remove unused variable `len'.
2863
2864 * charset.c (char_printable_p): Remove unused variable `chars'.
2865 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2866 (str_to_multibyte): Remove unused variable `c'.
2867
2868 * window.c (size_window): Remove block-local variable `min_size'.
2869
2870 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2871 `header_line_height'.
2872 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2873 enum display_element_type.
2874
1a8a9daf
GM
28752001-01-02 Gerd Moellmann <gerd@gnu.org>
2876
6dde6abc 2877 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2878 statements that call X. Save away the error message in a local copy.
2879
1883b2c6
GM
2880 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2881 the start.
2882
a13be207
GM
2883 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2884 in or at the start of invisible text.
2885
1a8a9daf
GM
2886 * dispnew.c (update_window): Don't check_current_matrix_flags.
2887
3608c0f9
JR
28882001-01-01 Jason Rumney <jasonr@gnu.org>
2889
2890 * w32fns.c (x_figure_window_size): Do not allow new_height and
2891 new_width of frame to override specified values.
2892
abb1acc4
KH
28932000-12-30 Kenichi Handa <handa@etl.go.jp>
2894
52283633 2895 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2896
762a68ec
GM
28972000-12-29 Gerd Moellmann <gerd@gnu.org>
2898
52283633 2899 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2900 (update_window) [GLYPH_DEBUG]: Call it.
2901 (scrolling_window): Prevent including current rows which are below
2902 what's displayed in the window.
2903
2904 * xdisp.c (try_window_reusing_current_matrix)
2905 <new start <= old start>: Disable rows in the current matrix
2906 which are below the window after scrolling.
52283633 2907
762a68ec
GM
2908 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2909 is zero. It's not worth the complexity.
2910 (invisible_text_between_p): Put in #if 0 because unused.
2911
2d5912c1
GM
29122000-12-28 Gerd Moellmann <gerd@gnu.org>
2913
46f6a258
GM
2914 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2915 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2916
89f93679
GM
2917 * keyboard.c (echo_char): If C is an integer, always call
2918 push_key_description. Former code could signal an invalid
2919 character error.
2920
2921 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2922 If set, print multibyte text.
2923 (Fsingle_key_description): Call push_key_description with
2924 FORCE_MULTIBYTE set.
2925 (describe_buffer_bindings): Likewise.
2926
2927 * lisp.h (push_key_description): Add prototype.
2928
c06017fb
GM
2929 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2930 around the call to redisplay_internal.
2931
f1d2ce7f
GM
2932 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2933
2d5912c1
GM
2934 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2935
9371f831
KH
29362000-12-28 Kenichi Handa <handa@etl.go.jp>
2937
2938 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2939 (ccl_driver): New local variable `extra_bytes'.
2940
2941 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2942
52283633
SM
2943 * coding.c (setup_coding_system):
2944 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2945 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2946
0c80628a
KH
29472000-12-28 Kenichi Handa <handa@etl.go.jp>
2948
2949 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2950 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2951 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2952 (decode_composition_emacs_mule): New function.
2953 (decode_coding_emacs_mule): Decode composition sequence by calling
2954 decode_composition_emacs_mule.
2955 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2956 (encode_coding_emacs_mule): Changed from macro to function.
2957 If a text contains compositions, encode them correctly.
0c80628a
KH
2958 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2959 that decoding and encoding are required.
2960
3e32cc27
GM
29612000-12-27 Gerd Moellmann <gerd@gnu.org>
2962
5e25feee
GM
2963 * xfaces.c (PT_PER_INCH): New macro.
2964 (xlfd_point_size): Compute real point size from font's pixel size.
2965 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2966 instead of 72.
2967
892d8fcd
GM
2968 * .gdbinit: Comment out the line pointing to the Lesstif source
2969 directory.
2970
12c8b416
GM
2971 * window.c (Frecenter): Use displayed_window_lines instead
2972 of window_internal_height.
2973
6061fbf0
GM
2974 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2975 instead of x-toolkit-scroll-bars-p.
2976 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2977
2978 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2979 instead of x-toolkit-scroll-bars-p.
2980 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2981
3e32cc27
GM
2982 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2983 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2984 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2985 New variables.
2986 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2987 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2988 (build_frame_matrix_from_leaf_window): Remove unused code.
2989 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2990 redisplay history.
2991 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2992 (update_window) [GLYPH_DEBUG]: Likewise.
2993 (syms_of_display): Defsubr dump-redisplay-history.
2994
31798cfe
GM
29952000-12-23 Gerd Moellmann <gerd@gnu.org>
2996
f717c2ba
GM
2997 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2998 the end of the prompt. Set echo_after_prompt to the offset
2999 of echoptr in echobuf.
3000
aeb2b8fc
GM
3001 * xdisp.c (init_from_display_pos): Pop until the iterator's
3002 stack is empty; there may be frames for stretch or images
3003 on the stack.
3004
31798cfe
GM
3005 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3006 (save_or_restore_current_matrix): New function for the same
3007 purpose, but more efficient.
3008 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3009
f8156156
EZ
30102000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3011
3012 * xdisp.c (syms_of_xdisp): Fix last change.
3013
bdd6d4e8
GM
30142000-12-23 Gerd Moellmann <gerd@gnu.org>
3015
3016 * xdisp.c (syms_of_xdisp): Doc fix.
3017
3018 * xdisp.c (redisplay_window): Remove label restore_buffers;
3019 use finish_scroll_bars instead to make sure that scroll bars
3020 are redeemed. If we don't do this, flickering can result from
3021 scroll bars being destroyed and recreated.
3022
9436cdf9
JR
30232000-12-22 Jason Rumney <jasonr@gnu.org>
3024
3025 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3026 in the wrong colors when the foreground is not black.
3027 (expose_window): Don't redraw the window that's currently being
3028 updated.
3029
951f9df5
GM
30302000-12-22 Gerd Moellmann <gerd@gnu.org>
3031
856ff7a7
GM
3032 * window.c (size_window): When setting the window's too_small_ok
3033 flag, compare old size with minimum size depending on WIDTH_P,
3034 don't compare with window_min_width.
52283633 3035
951f9df5
GM
3036 * window.c (delete_window): Simplify somewhat.
3037 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3038 freeing window matrices. The flag windows_or_buffers_changed is
3039 set, so the next redisplay will consider all windows; this should
3040 suffice.
3041
886bc933
KH
30422000-12-22 Kenichi Handa <handa@etl.go.jp>
3043
3044 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3045
3046 * ccl.h (struct ccl_program): New member cr_consumed.
3047
3048 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3049 (CCL_READ_CHAR): Handle EOL conversion here.
3050 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3051
177f4e88
GM
30522000-12-21 Gerd Moellmann <gerd@gnu.org>
3053
52283633 3054 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3055
3056 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3057 otherwise tabs of different size compare equal.
3058
3059 * callint.c (Fcall_interactively): Prevent a compiler warning.
3060
3061 * print.c (print_unwind): Return nil.
3062 (PRINTDECLARE): Initialize all local variables.
3063 (print_preprocess): Add a default case.
3064
8e15274f
GM
3065 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3066
3067 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3068
52283633 3069 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3070 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3071
3072 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3073
3074 * dispnew.c (ensure_frame_matrix): Removed.
3075 (save_frame_matrix, restore_frame_matrix): New functions.
3076 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3077
3078 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3079 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3080
99012074
AI
30812000-12-21 Andrew Innes <andrewi@gnu.org>
3082
3083 * w32term.c (x_update_begin): Regenerate the palette here, rather
3084 than for each window.
3085
3086 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3087 palette is NULL, since this corrupts memory! Also get
3088 display_info reference from frame.
3089
29ef7d2d
JR
30902000-12-21 Jason Rumney <jasonr@gnu.org>
3091
3092 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3093
3094 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3095 to avoid returning without releasing it.
3e27fa1f 3096
3f9d67a6
KH
30972000-12-21 Kenichi Handa <handa@etl.go.jp>
3098
587fc3f9
KH
3099 * keymap.c (push_key_description): Don't convert eight-bit-control
3100 and eight-bit-graphic to multibyte character.
3101
3f9d67a6
KH
3102 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3103 generic character and CODE1 is nil, return the smallest character
3104 in CHARSET.
3105
774ba8c9
DL
31062000-12-20 Dave Love <fx@gnu.org>
3107
3108 * s/osf5-0.h (NSIG): Don't redefine.
3109
88416888
SM
31102000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3111
3112 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3113 excluding menu-bar and tool-bar.
3114 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3115 (menu_item_p): Remove.
3116 (where_is_internal_1): Don't ignore menu-items.
3117
a6426c6f
GM
31182000-12-20 Gerd Moellmann <gerd@gnu.org>
3119
03ff8aab
GM
3120 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3121 into account.
3122
3123 * window.c (make_window): Initialize window's min_hscroll.
3124 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3125 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3126 to zero.
3127 (struct saved_window): New member min_hscroll.
3128 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3129 (Fset_window_configuration): Set window's min_hscroll.
3130 (save_window_save): Save window's min_hscroll.
3131 (compare_window_configurations): Compare min_hscroll values.
3132
3133 * window.h (struct window): New member min_hscroll.
3134
3135 * keyboard.c (echo_prompt): Prevent a compiler warning.
3136
8de4aaf8
GM
3137 * xdisp.c (try_cursor_movement): Fix last change. The real
3138 condition is that PT is at the end of the row, and should
3139 be displayed at the start of the next row.
52283633 3140
3f7e3031
GM
3141 * xdisp.c (try_cursor_movement): If we end on a partially
3142 visible line, end we already decided to scroll, return -1.
3143
a6426c6f
GM
3144 * dispextern.h (ensure_frame_matrix): Add prototype.
3145
3146 * window.c (delete_window, Fsplit_window)
3147 (Fset_window_configuration): Call ensure_frame_matrix.
3148
52283633
SM
3149 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3150 New functions.
a6426c6f
GM
3151 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3152 completed, call fake_current_matrices instead of marking frame
3153 garbaged.
3154
57fa2774
JR
31552000-12-20 Jason Rumney <jasonr@gnu.org>
3156
3157 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3158
d925df90
EZ
31592000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3160
3161 * fns.c (Frequire): Doc fix.
3162
7b93a85b
GM
31632000-12-19 Gerd Moellmann <gerd@gnu.org>
3164
52283633 3165 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3166
c74e645b
GM
3167 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3168 currently displaying a message.
3169
7b93a85b
GM
3170 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3171 xterm.h.
3172 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3173
90d97e64
AI
31742000-12-18 Andrew Innes <andrewi@gnu.org>
3175
3176 * w32.c (w32_strerror): New function.
3177
3178 * w32.h (w32_strerror): New extern.
3179
3180 * w32fns.c (Fw32_shell_execute): Use it.
3181
91c9e6ce
GM
31822000-12-18 Gerd Moellmann <gerd@gnu.org>
3183
3184 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3185
6f4745e2
EZ
31862000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3187
3188 * msdos.c (IT_set_face): Obey inverse_video.
3189
c9e088ce
KH
31902000-12-18 Kenichi Handa <handa@etl.go.jp>
3191
3192 * dired.c (directory_files_internal): Always return decoded filenames.
3193
c3695f5f
GM
31942000-12-18 Gerd Moellmann <gerd@gnu.org>
3195
52d8e4ff
GM
3196 * xterm.c (x_connection_closed): Prevent being called recursively
3197 because of an error condition in XtCloseDisplay.
52283633 3198
62be9979
GM
3199 * xdisp.c (init_iterator): If noninteractive, and the frame's
3200 face cache is null, make one.
3201
52283633 3202 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3203
c3695f5f
GM
3204 * process.c (wait_reading_process_input): Check for pending
3205 input when running timers.
3206
78555fbe
EZ
32072000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3208
52283633 3209 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3210
b2b36264
KH
32112000-12-18 Kenichi Handa <handa@etl.go.jp>
3212
3213 * process.c (read_process_output): Don't run a filter if the code
3214 decoder produces nothing but carryover.
3215
9c543fbf
AI
32162000-12-17 Andrew Innes <andrewi@gnu.org>
3217
3218 * w32.c (sys_rename): Only check errno against EEXIST, and not
3219 EACCES, when determining whether rename failed because the target
3220 exists. This was resulting in indefinite looping on Windows 9x if
3221 the source file was locked by another process.
3222
3223 * w32fns.c (Ffile_system_info): New function.
3224 (syms_of_w32fns): Defsubr it.
3225
10c2b5a8
GM
32262000-12-17 Gerd Moellmann <gerd@gnu.org>
3227
b0228ace
GM
3228 * window.c (coordinates_in_window): Fix computation for
3229 position on vertical line between mode lines.
3230
10c2b5a8
GM
3231 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3232 Don't alter tip_frame or tip_window.
3233 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3234 was deleted.
3235
c844a81a
GM
3236 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3237 Don't alter tip_frame or tip_window.
3238 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3239 was deleted.
3240
6c825f8e
EZ
32412000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3242
3243 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3244 be consistent with the doc string. Reported by NAKAJIMA Mikio
3245 <minakaji@osaka.email.ne.jp>.
3246
af4bb4c8
KH
32472000-12-16 Kenichi Handa <handa@etl.go.jp>
3248
3249 * xfaces.c (Vface_ignored_fonts): New variable.
3250 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3251 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3252
8062e53a
GM
32532000-12-15 Gerd Moellmann <gerd@gnu.org>
3254
e87b8809
GM
3255 * dispnew.c (update_window): Detect pending input every nth line
3256 updated, i.e. do it depending on real work done, and not on the
3257 vpos of the line.
3258
3259 * xterm.c (expose_window): Don't redraw the window that's
3260 currently being updated.
3261
a6768cc5
GM
3262 * window.c (Fset_window_point): Remove test for
3263 cursor_in_non_selected_windows.
3264
4ea7fdca
GM
3265 * lread.c (read1): Recognize end of file after `\\'.
3266
8062e53a
GM
3267 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3268 not unwind_create_frame.
3269
bb7959c1
GM
32702000-12-15 Dave Love <fx@gnu.org>
3271
3272 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3273 bcopy & al.
3274
3275 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3276
ced04c42
KH
32772000-12-15 Kenichi Handa <handa@etl.go.jp>
3278
c5443913
KH
3279 * coding.c (setup_coding_system): Clear all members of the struct
3280 coding_system at first.
bc137305
KH
3281 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3282 argument.
3283 (code_convert_region): Don't override coding->src_multibyte and
3284 coding->dst_multibyte.
c5443913 3285
ced04c42
KH
3286 * fns.c (Fmd5): Docstring improved.
3287
c2d7f289
MB
32882000-12-15 Miles Bader <miles@gnu.org>
3289
3290 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3291 are actually marked as mode-lines; otherwise use
3292 estimate_mode_line_height.
3293
9d7d9263
GM
32942000-12-14 Gerd Moellmann <gerd@gnu.org>
3295
3296 * editfns.c (Fformat): Prevent a buffer overrun when the format
3297 specifies a precision.
3298
7cf0153a
EZ
32992000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3300
3301 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3302 argument is outside the range [2..3].
3303
1de0f662
AI
33042000-12-14 Andrew Innes <andrewi@gnu.org>
3305
3306 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3307 nothing to do. Bind inhibit-quit.
3308 (tip_frame): Make it a Lisp_Object.
3309 (x_create_tip_frame): Set tip_frame after it has been added to
3310 Vframe_list.
3311 (Fx_show_tip): Don't set tip_frame here.
52283633 3312 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3313 (unwind_create_frame, unwind_create_tip_frame): New functions.
3314 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3315 while a frame is only partially constructed.
3316
3317 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3318 (x_free_frame_resources): New function.
3319 (x_destroy_window): Use it.
3320
02387dcc
GM
33212000-12-14 Gerd Moellmann <gerd@gnu.org>
3322
3323 * xfns.c (Fx_backspace_delete_keys_p): New function.
3324 (syms_of_xfns): Defsubr it.
3325
3326 * config.in (HAVE_XKBGETKEYBOARD): Add.
3327
0544ef49
KH
33282000-12-14 Kenichi Handa <handa@etl.go.jp>
3329
98d62747
KH
3330 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3331 Always store string in multibyte representation in echobuf.
3332 (echo_char): Always store string in multibyte representation in
3333 echobuf.
3334 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3335 (read_key_sequence): Adjusted for the change of echo_prompt.
3336
a20193cd
KH
3337 * fns.c (Fmd5): Docstring improved.
3338
191b83b6
KH
3339 * lisp.h (detect_coding_system): Prototype adjusted.
3340
0544ef49
KH
3341 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3342 (detect_coding_emacs_mule, detect_coding_iso2022,)
3343 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3344 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3345 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3346 (detect_coding_mask, detect_coding_system): New argument
3347 MULTIBYTEP. Callers changed.
1da1bb05
KH
3348 (decode_coding_string): Set coding->src_multibyte and
3349 coding->dst_multibyte before calling detect_coding and detect_eol.
3350 Update them after some coding system is detected.
52283633 3351
d5b3eb1b
SM
33522000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3353
3354 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3355
3356 * keyboard.c (menu_bar_items, tool_bar_items):
3357 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3358
f7f8bb69
GM
33592000-12-13 Gerd Moellmann <gerd@gnu.org>
3360
52283633 3361 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3362 New variables.
3363 (unwind_create_frame, unwind_create_tip_frame): New functions.
3364 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3365 while a frame is only partially constructed.
3366
3367 * xterm.h (x_free_frame_resources): Declare.
3368
3369 * xterm.c (x_free_frame_resources): New function.
3370 (x_destroy_window): Use it.
3371
e10da507
GM
3372 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3373 don't interrupt the update for pending input initially, i.e.
3374 update at least some lines.
3375
3376 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3377
d5b3eb1b 3378 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3379
3380 * xfns.c (gray_bitmap_bits): Declare `char *'.
3381
90aa2856
GM
33822000-12-12 Gerd Moellmann <gerd@gnu.org>
3383
3384 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3385 lines start with a relief line.
3386
a308c9cd
DL
33872000-12-12 Dave Love <fx@gnu.org>
3388
3389 * window.c (Fdisplay_buffer): Doc fix.
3390 (Fwindow_list): Remove unused var.
3391
3392 * buffer.h (mmap_set_vars): Declare.
3393
3394 * window.h (Fset_window_point): Declare.
3395
d575011f
EZ
33962000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3397
bf6282d2 3398 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3399 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3400 variable `area'. When looking for a row under (X,Y), give up if some
3401 of the previous rows is not enabled.
d575011f 3402
ecf4d726
GM
34032000-12-12 Gerd Moellmann <gerd@gnu.org>
3404
2ebf6139
GM
3405 * window.c (Fset_window_point): If displaying cursors in windows
3406 other than the selected window, make sure redisplay updates
3407 other windows to show the new value of point in the window.
3408
3409 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3410
bfdb75ee
GM
3411 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3412 the buffer is the sole visible buffer when in the mini-buffer.
3413
52283633 3414 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3415 Bind `inhibit-read-only' to t.
3416 (unwind_with_echo_area_buffer): Use AREF.
3417
c0006262
GM
3418 * xfns.c (Fx_hide_tip): Simplified.
3419
52283633
SM
3420 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3421 instead of `1'.
e9a59cad 3422
ecf4d726
GM
3423 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3424
e5959a9a
GM
34252000-12-11 Gerd Moellmann <gerd@gnu.org>
3426
a3642e49 3427 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3428
44b5a125
GM
3429 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3430 nothing to do. Bind inhibit-quit.
3431 (tip_frame): Make it a Lisp_Object.
3432 (x_create_tip_frame): Set tip_frame after it has been added to
3433 Vframe_list.
3434 (Fx_show_tip): Don't set tip_frame here.
3435
3436 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3437
3438 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3439 Lisp_Object.
3440
3441 * dispextern.h: Change external declaration of tip_frame.
3442
d990421f
GM
3443 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3444 return an empty string.
3445
4db87380
GM
3446 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3447 of the window's update_mode_line flag, since the former is set by
3448 force-mode-line-update, not the latter. This makes
3449 column-number-mode slightly faster.
52283633 3450
e5959a9a
GM
3451 * xdisp.c (try_window_id) <all changes above window start>:
3452 Set the cursor.
3453
169fe44e
GM
34542000-12-11 Paul Eggert <eggert@twinsun.com>
3455
3456 * config.in (HAVE_FTELLO): Remove.
3457 (HAVE_FSEEKO): Add.
3458 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3459 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3460 HAVE_FTELLO.
3461 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3462 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3463
59ec59ae
MB
34642000-12-11 Miles Bader <miles@gnu.org>
3465
3466 * window.c (displayed_window_lines): Don't round up when
3467 converting empty space at bottom to lines.
ff904dd6
MB
3468 Handle non-newline-terminated final lines properly.
3469 (Fwindow_text_height): New function (used to be in lisp).
3470 (syms_of_window): Initialize it.
59ec59ae 3471
42ebfa31
SM
34722000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3473
3474 * syntax.c (scan_lists): Check that the right quote char has the
3475 right Sstring syntax when jumping over strings.
3476 (init_syntax_once): Use Smax rather than 13.
3477
5cdb3cf3
MB
34782000-12-09 Miles Bader <miles@gnu.org>
3479
3480 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3481 with PARTIALLY, inverting the sense.
3482 (window_scroll_pixel_based): Scroll partially visible lines into
3483 place if we hit the beginning or end of the buffer.
a12167c5
MB
3484 (displayed_window_lines): Don't include partially visible lines.
3485 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3486
842b2a94
GM
34872000-12-08 Gerd Moellmann <gerd@gnu.org>
3488
3489 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3490
3491 * tparam.c (tparam1): Change the way buffers are reallocated to be
3492 portable and less obfuscated.
3493
3494 * termcap.c (tgetent): Change the way buffers are reallocated to
3495 be portable and less obfuscated.
3496
3497 * macros.c (store_kbd_macro_char): Change the way buffers are
3498 reallocated to be portable and less obfuscated.
3499
3500 * lread.c (read1): Change the way buffers are reallocated to be
3501 portable and less obfuscated.
3502
3503 * doc.c (Fsubstitute_command_keys): Change the way buffers
3504 are reallocated so that it is portable.
3505
137cad7c
EZ
35062000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3507
3508 * dosfns.c (Ffile_system_info): New function.
3509 (syms_of_dosfns): Defsubr it.
3510
5c7f629c
SM
35112000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3512
3513 * alloc.c (gc_sweep): Add comment.
3514
959e647d
GM
35152000-12-07 Gerd Moellmann <gerd@gnu.org>
3516
52283633
SM
3517 * sound.c (vox_configure): Change order of ioctls.
3518 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3519 Ignore errors when changing volume.
3520 (vox_close): Don't reset the device.
3521
926b7e5e
GM
3522 * process.c (read_process_output): Make sure the process marker's
3523 position is valid when the process buffer is changed in
3524 after-change functions. W3 does that.
52283633 3525
959e647d
GM
3526 * xfns.c (x_free_gcs): New function.
3527
3528 * xterm.h (x_free_gcs): Add prototype.
3529
3530 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3531 freeing GCs here.
3532
3533 * xterm.c (x_destroy_window): Call x_free_gcs so that
3534 resources of non-toolkit X windows will be freed.
3535
478ea067
AI
35362000-12-07 Andrew Innes <andrewi@gnu.org>
3537
3538 * w32fns.c (xlfd_charset_of_font): Fix last change.
3539
fbee3231
DL
35402000-12-06 Dave Love <fx@gnu.org>
3541
67292061
DL
3542 * md5.h (__P): Don't define -- it comes from config.h.
3543
fbee3231
DL
3544 * strftime.c: Change some #if foo to #ifdef foo.
3545
4ee87dbb
AI
35462000-12-06 Andrew Innes <andrewi@gnu.org>
3547
3548 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3549
52283633 3550 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3551 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3552 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3553
9765b4a4
GM
35542000-12-06 Gerd Moellmann <gerd@gnu.org>
3555
d285b373
GM
3556 * alloc.c (gc_sweep): Prevent symbols read during loadup
3557 from being freed.
3558
384333ee
GM
3559 * xdisp.c (underlying_face_id): New function.
3560 (handle_face_prop, face_before_or_after_it_pos): Use it
3561 to determine the face ``under'' a string. Let strings inherit
3562 the face of the buffer under them.
3563
3564 * xfaces.c (face_at_string_position): Update function comment.
52283633 3565
d4b72d58
GM
3566 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3567 matrix if the window's left position has changed; we need to
3568 redraw it in this case.
3569
3570 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3571
e1d05387
GM
3572 * window.c (coordinates_in_window): Check mouse on mode-line or
3573 header-line first.
3574
eb1b0c74
GM
3575 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3576 advertized by the function documentation.
3577
d94d636f
GM
3578 * window.c (syms_of_window): Doc fix.
3579
3887b449
GM
3580 * sound.c (vox_configure): Set volume for left and right channel.
3581 (sound_cleanup): Return nil.
3582
efc8f57a
GM
3583 * xdisp.c (move_it_by_lines): Fix paren typo.
3584
9765b4a4
GM
3585 * xterm.c (x_load_font): Don't use the font's max_bounds for
3586 computing the height of the font. If max_bounds' ascent or
3587 descent are greater than the font's ascent or descent, this means
3588 glyphs overlap, which should be handled now by redisplay.
3589
6529ed87
GM
3590 * window.c (Veven_window_heights): New variable.
3591 (syms_of_window): DEFVAR_LISP it.
3592 (Fdisplay_buffer): Check Veven_window_heights before evening the
3593 window heights.
52283633 3594
0eb2ecde
MB
35952000-12-06 Miles Bader <miles@gnu.org>
3596
3597 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3598 update `default-frame-alist' instead of setting no frame parameters.
3599
03d7a167
KH
36002000-12-06 Kenichi Handa <handa@etl.go.jp>
3601
3602 * composite.c (update_compositions): Fix typo (use the correct
3603 variable).
3604
5f8803c2
JR
36052000-12-05 Jason Rumney <jasonr@gnu.org>
3606
3607 * md5.h: Remove underscores from function declarations.
3608 (__attribute__, __alignof__) [!__GNUC__]: Define.
3609
3610 * md5.c: Delay include of md5.h until after namespace cleaning.
3611
c28a075b
JR
3612 * makefile.w32-in (fns.o): Depend on md5.h
3613 (md5.o): New target.
3614 (sunfns.o): Remove.
3615
3616 * makefile.nt: Likewise.
3617
ff3c7056
JR
36182000-12-05 Jason Rumney <jasonr@altavista.net>
3619
3620 * w32term.c (expose_area): Complete last change.
3621
0c21eeeb
KR
36222000-12-05 Ken Raeburn <raeburn@gnu.org>
3623
3624 * minibuf.c: Include intervals.h.
3625
f201d732
JR
36262000-12-05 Jason Rumney <jasonr@gnu.org>
3627
3628 * w32term.c (x_produce_glyphs): If a font for a component of
3629 a composition is not found, use 1 pixel dot ascent and 0 dot
3630 descent value to avoid displaying terribly tall empty boxes.
3631 (expose_area): Pass x-coordinate relative to the exposed
3632 area to x_draw_glyphs instead of a window-relative coordinate.
3633
21999ab9
GM
36342000-12-05 Gerd Moellmann <gerd@gnu.org>
3635
4d2036e4
GM
3636 * xdisp.c (next_element_from_ellipsis): Save face before selective
3637 display in saved_face_id, and set face_before_selective_p.
3638 (reseat_1): Reset face_before_selective_p.
3639 (append_space, extend_face_to_end_of_line): If iterator's
3640 face_before_selective_p is set, use the face from saved_face_id.
3641 (extend_face_to_end_of_line): For tty frames, make sure to
3642 use the right face id when producing spaces at the end of
3643 the line.
3644
3645 * dispextern.h (struct it): Add face_before_selective_p.
3646
52be17cc
GM
3647 * keyboard.c (record_char): Don't record identical help-echo
3648 events in recent_keys.
3649
8a4f36cc
GM
3650 * xterm.c [USE_X_TOOLKIT]: Close the display.
3651 (xim_close_dpy): Handle case that the display has been closed.
3652
57d6e381
GM
3653 * xterm.c (x_destroy_window): Reset the frame's X window after
3654 destroying it.
3655
21999ab9
GM
3656 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3657 variable window_width.
3658 (line_draw_cost): Fix code skipping over spaces at the end of the
3659 line when must_write_spaces is not set.
3660 (scrolling_window): Fix code inserting runs in list of all runs.
3661
91372bb7
KH
36622000-12-05 Kenichi Handa <handa@etl.go.jp>
3663
3664 * coding.c (setup_coding_system): Be sure to initialize
3665 coding->category_idx.
3666
6c083b4c
GM
36672000-12-04 Gerd Moellmann <gerd@gnu.org>
3668
0c68ce6f 3669 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3670
6452929e
GM
3671 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3672 area to x_draw_glyphs instead of a window-relative coordinate.
3673
d7f31e22
GM
3674 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3675 error in the message.
3676
ae18aa3b
GM
3677 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3678 timer after having read a key. It's not good for code reading
3679 several keys in a loop, like an input method.
3680
caa15ef7
GM
3681 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3682 record undo information for format-decode.
3683
3684 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3685 current buffer is read-only, not if it isn't.
3686
6c083b4c
GM
3687 * keyboard.c (record_char): Record `help-echo' input events
3688 in recent_keys only if they display some help. Don't record
3689 `help-echo' events as macro char.
3690
caa15ef7
GM
36912000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3692
3693 * editfns.c (save_excursion_restore): Don't move point
3694 in another window if it is showing the wrong buffer.
3695 Avoid the call to Fwindow_live_p, for speed.
3696
5a13529b
KH
36972000-12-04 Kenichi Handa <handa@etl.go.jp>
3698
e225faa7
KH
3699 * xfaces.c (struct font_name): New member registry_priority.
3700 (split_font_name): Initialize the above member to zero.
3701 (concat_font_list): New function.
3702 (font_list): Include fonts of all alternative registries.
3703 (FONT_POINT_SIZE_QUANTUM): New macro.
3704 (better_font_p): Ignore point size difference less than
3705 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3706
e89648b4
KH
3707 * xterm.c (x_produce_glyphs): If a font for a component of
3708 a composition is not found, use 1 pixel dot ascent and 0 dot
3709 descent value to avoid displaying terribly tall empty boxes.
3710
5a13529b
KH
3711 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3712
d7935eb6
KR
37132000-12-03 Ken Raeburn <raeburn@gnu.org>
3714
3715 * coding.h (code_convert_string1): Declare.
3716
3717 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3718
52283633 3719 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3720
0dd5e255
JR
37212000-12-02 Jason Rumney <jasonr@gnu.org>
3722
3723 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3724 correctly for single byte character case.
3725 (w32_per_char_metric): Do not try to make any assumptions about
3726 the metrics of BDF fonts.
250cfece 3727 (x_estimate_mode_line_height): If `mode-line' face
52283633 3728 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3729 (note_mouse_highlight): Change the cursor shape on the vertical
3730 border between windows [not enabled].
3731
3732 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3733
3734 * w32fns.c (Fx_create_frame): Reintroduce the call to
3735 face-set-after-frame-defaults.
3736 (Vx_window_horizontal_drag_shape): New variable.
3737 (syms_of_xfns): DEFVAR_LISP it.
3738 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3739 enabled].
0dd5e255 3740
b5d8d2ca
GM
37412000-12-02 Simon Josefsson <simon@josefsson.org>
3742
3743 * fns.c (Fmd5): Use a different logic to decide the coding system
3744 to use.
3745
3746 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3747
fbb87147
EZ
37482000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3749
52283633 3750 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3751
447e9da0
GM
37522000-12-01 Gerd Moellmann <gerd@gnu.org>
3753
7708ced0
GM
3754 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3755 height for YNegative.
3756 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3757 height; also see comment there.
3758
447e9da0
GM
3759 * window.c (coordinates_in_window): Handle computations for
3760 positions on the vertical bar and fringes differently for
3761 window-system frames. Consider some pixels near the vertical bar
3762 as on the bar if the frame doesn't have vertical scroll bars.
3763 Associate positions between mode or header lines with the
3764 right window, the left one.
3765
86d1db20
JR
37662000-12-01 Jason Rumney <jasonr@gnu.org>
3767
3768 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3769
3770 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3771 invalid frame.
3772
a1d58e5b
GM
37732000-12-01 Gerd Moellmann <gerd@gnu.org>
3774
52283633 3775 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3776 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3777 (save_window_save, Fset_window_configuration): Save/restore
3778 window's orig_top and orig_height.
3779
89c609af
JR
37802000-12-01 Jason Rumney <jasonr@gnu.org>
3781
4d177746 3782 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3783
89c609af
JR
3784 * w32fns.c (x_set_cursor_color): Fix last change.
3785
eccc05db
GM
37862000-11-30 Gerd Moellmann <gerd@gnu.org>
3787
31b6671b
GM
3788 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3789 sure that the next redisplay displays the minibuffer, so that
3790 the cursor will be replaced with what the minibuffer wants.
3791
eccc05db
GM
3792 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3793 #ifndef instead of using #if.
3794 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3795 USE_TOOLKIT_SCROLL_BARS is defined.
3796
162de750
JR
37972000-11-30 Jason Rumney <jasonr@gnu.org>
3798
3799 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3800 x_display_cursor.
3801
693c4692
GM
38022000-11-30 Gerd Moellmann <gerd@gnu.org>
3803
3804 * fns.c (Fmd5): Doc fix.
3805
b5d8d2ca 38062000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3807
3808 * fns.c (Fmd5): New function.
3809 (syms_of_fns): Defsubr md5.
3810
3811 * Makefile.in (obj): Add md5.o
3812
b02cd40b
GM
38132000-11-30 Gerd Moellmann <gerd@gnu.org>
3814
edfb795e
GM
3815 * md5.h, md5.c: New files, taken from glibc.
3816
df3aedcf
GM
3817 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3818
b02cd40b 3819 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3820 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3821
8b5176cd
SM
38222000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3823
3824 * eval.c (Frun_hooks): Allow 0 arguments.
3825
346598f1
GM
38262000-11-29 Gerd Moellmann <gerd@gnu.org>
3827
f9396e03
GM
3828 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3829 is over the menu bar widget, say it's not on the frame.
3830
4a967a9b
GM
3831 * xfns.c (Fx_create_frame): Reintroduce the call to
3832 face-set-after-frame-defaults.
3833
346598f1
GM
3834 * eval.c (Fsignal): Reset handling_signal.
3835
222456a1
JR
38362000-11-28 Jason Rumney <jasonr@gnu.org>
3837
3838 * w32menu.c (add_menu_item): Reset menu item text when changing
3839 type to radio button.
3840
8049ddc0
GM
38412000-11-28 Gerd Moellmann <gerd@gnu.org>
3842
346598f1 3843 * xselect.c: Update copyright.
f4f4ee4d 3844
bebe4a2c
GM
3845 * window.c (coordinates_in_window): If on a mode or header line,
3846 but sufficiently close to its start, return ``on vertical
3847 border''. This gives us a way to drag windows horizontally when
3848 using toolkit scroll bars.
3849
3850 * xterm.c (note_mouse_highlight): Change the cursor shape
3851 on the vertical border between windows.
3852
3853 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3854
3855 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3856 (syms_of_xfns): DEFVAR_LISP it.
3857 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3858
8d2c2642
GM
3859 * textprop.c (text_read_only): New function.
3860 (verify_interval_modification): Use it instead of signaling
3861 `text-read-only'. This makes it easier to catch this error
52283633 3862 with a breakpoint.:
8d2c2642 3863
52283633 3864 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3865 not end of line, which includes CR.
3866
5a2bae6c
KH
38672000-11-28 Kenichi Handa <handa@etl.go.jp>
3868
3869 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3870 include no-conversion.
3871
ae31f84d
JR
38722000-11-27 Jason Rumney <jasonr@gnu.org>
3873
3874 * w32fns.c (w32_load_system_font): Always mark font as double byte
3875 if codepage is unicode.
3876
67f1cf4c
GM
38772000-11-27 Gerd Moellmann <gerd@gnu.org>
3878
4a74d071 3879 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3880 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3881
902ae620
GM
3882 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3883 `vertical-line', `mode-line' and `header-line' events.
3884
3885 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3886 of a character, a TAB for instance. This is easier than to set
3887 up the iterator exactly, and it's not a frequent case, so the
3888 additional effort wouldn't really pay off.
3889
c1e279c2
AC
38902000-11-26 Andrew Choi <akochoi@i-cable.com>
3891
67f1cf4c 3892 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3893 init_window_once.
3894
a609568a
JR
38952000-11-25 Jason Rumney <jasonr@gnu.org>
3896
52283633
SM
3897 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3898 Args to window_from_coordinates should be pixel coordinates.
48b21762 3899
a609568a
JR
3900 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3901 redisplay handles them properly.
3902
a658d039
MB
39032000-11-25 Miles Bader <miles@gnu.org>
3904
3905 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3906
d3416cca
JR
39072000-11-24 Jason Rumney <jasonr@gnu.org>
3908
3909 * w32.c (init_environment): Set LANG environment variable based on
3910 locale settings, if not set.
3911
3912 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3913 making tool bar smaller. When clearing the frame, also
3914 clear current matrices. Clear frame when tool bar disappears.
3915 Don't use more lines for the tool-bar than is available.
3916 (x_change_window_heights): New function.
3917
ba193890
GM
39182000-11-24 Gerd Moellmann <gerd@gnu.org>
3919
2be8f184
GM
3920 * xdisp.c (init_from_display_pos): If POS says we're already after
3921 an overlay string ending at POS, make sure to pop the iterator
3922 because it will be in front of that overlay string. When POS is
3923 ZV, we've thereby also ``processed'' overlay strings at ZV.
3924
ba193890
GM
3925 * xfaces.c (lface_from_face_name): Function comment fix.
3926
1862a24e
MB
39272000-11-24 Miles Bader <miles@gnu.org>
3928
3929 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3930 apply `mode-line-inverse-video' -- zero means force display using
3931 the default face, non-zero means display using the specialized face.
3932 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3933
f07fa1b8
KH
39342000-11-23 Kenichi Handa <handa@etl.go.jp>
3935
3936 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3937 hard coded `4'.
3938
2bcdf662
EZ
39392000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3940
3941 * coding.c (decode_coding_emacs_mule): Fix the case of
3942 CODING_EOL_LF, which used uninitialized value of c.
3943
ba8299ff
SM
39442000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3945
3946 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3947
f4117c4d
GM
39482000-11-22 Gerd Moellmann <gerd@gnu.org>
3949
03e757c1
GM
3950 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3951 buffer object.
3952
f4117c4d
GM
3953 * frame.h (struct frame): Replace desired_tool_bar_items,
3954 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3955 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3956
3957 * frame.c (make_frame): Change initialization of tool bar
3958 items accordingly.
3959
3960 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3961 Change references to members deleted from struct frame to use the
f4117c4d
GM
3962 new ones.
3963
3964 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3965 references to members deleted from struct frame to use the new ones.
f4117c4d 3966
52283633 3967 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3968
3969 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3970
3971 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3972 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3973 from struct frame to use the new ones.
3974
f8e2f3f2
MB
39752000-11-23 Miles Bader <miles@gnu.org>
3976
3977 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3978 the face's inverse-video attribute, rather than overriding it.
3979
60e8e0a5
GM
39802000-11-22 Gerd Moellmann <gerd@gnu.org>
3981
3982 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3983 making tool bar smaller.
3984
92dd1b29
DL
39852000-11-22 Dave Love <fx@gnu.org>
3986
3987 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3988
e672fdce
MB
39892000-11-22 Miles Bader <miles@gnu.org>
3990
3a17d6cc
MB
3991 * keyboard.c (Vminibuffer_message_timeout): New variable.
3992 (command_loop_1): Use it to determine message timeout.
3993 (syms_of_keyboard): Initialize it.
3994
60e8e0a5 3995 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3996
e9655d81
KH
39972000-11-22 Kenichi Handa <handa@etl.go.jp>
3998
3999 * sysdep.c: Move the code for declaring h_errno after #include
4000 <netdb.h>.
4001
77270fac
GM
40022000-11-21 Gerd Moellmann <gerd@gnu.org>
4003
cd913aae
GM
4004 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4005 the menu bar when the tooltip is unmapped.
4006
77270fac
GM
4007 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4008 sole visible buffer when we're currently in the mini-buffer, and
4009 give up if so.
52283633 4010
556635d6
JR
40112000-11-21 Jason Rumney <jasonr@gnu.org>
4012
4013 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4014 put on the clipboard.
4015 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4016 copy of what Emacs last put there. If they are the same, do not
52283633 4017 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4018
5b7bde64
MB
40192000-11-22 Miles Bader <miles@gnu.org>
4020
4021 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4022 (syms_of_minibuf): Initialize it.
4023 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4024 to prompt, don't make read-only.
4025
ff23e1dd
GM
40262000-11-21 Gerd Moellmann <gerd@gnu.org>
4027
52283633
SM
4028 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4029 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4030
7aaf4388
GM
4031 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4032
f5f47add 4033 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4034
ff23e1dd
GM
4035 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4036
37c35586
KH
40372000-11-21 Kenichi Handa <handa@etl.go.jp>
4038
4039 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4040 ... #endif scope.
4041
ff9ab414
GM
40422000-11-20 Gerd Moellmann <gerd@gnu.org>
4043
52283633 4044 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4045 screen supports it.
4046
29a01b72
GM
4047 * s/gnu-linux.h: Don't use `#cpu'.
4048
09dfdf85
GM
4049 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4050 not defined in mman.h.
4051
52283633 4052 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4053 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4054 and store an index in the XClientMessageEvent. Storing a
4055 Lisp_Object or pointer can fail on a 64 bit system, since X only
4056 transfers 32 bits.
52283633
SM
4057 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4058
81459ac9
DL
40592000-11-20 Dave Love <fx@gnu.org>
4060
4061 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4062
56c13ae6
GM
40632000-11-20 Gerd Moellmann <gerd@gnu.org>
4064
4065 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4066
495a6df3
KH
40672000-11-20 Kenichi Handa <handa@etl.go.jp>
4068
2bcf3714
KH
4069 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4070 by WIDTH.
4071
495a6df3
KH
4072 * alloc.c (make_string): Fix previous change. Be sure to make
4073 unibyte string correctly.
4074
6d950f4c
GM
40752000-11-19 Gerd Moellmann <gerd@gnu.org>
4076
39b39373
GM
4077 * window.c (Fwindow_list): Change parameter list to be XEmacs
4078 compatible.
4079 (window_list_1): New function.
4080 (window_loop): Use it instead of Fwindow_list.
4081
b95b34e5
GM
4082 * sysdep.c (emacs_ospeed): New variable.
4083 (toplevel): Don't declare ospeed extern.
4084 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4085
4086 * termcap.c (ospeed): Remove.
4087 (tputs) [!emacs]: Remove unused code.
4088 (tgetent): Avoid a compiler warning.
4089
e83dc917
GM
4090 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4091 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4092 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4093
4094 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4095 removed.
4096 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4097 Take the X display as additional argument.
4098 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4099 `Widget' is a pointer type that's not easily stored in Lisp_Object
4100 form in a portable way.
52283633 4101
6d950f4c
GM
4102 * dispnew.c (update_text_area): Fix last change.
4103
e47306e6
GM
41042000-11-18 Gerd Moellmann <gerd@gnu.org>
4105
fb3cd89b
GM
4106 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4107
4108 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4109 clear current matrices.
4110
edaa9aed
GM
4111 * buffer.c (mmap_enlarge): Don't print a message on stderr
4112 if mapping new memory at the end of the existing region fails.
4113
e47306e6
GM
4114 * dispnew.c (update_text_area): Don't skip over equal glyphs
4115 when the last current glyph overlaps the glyph to its right.
4116
509633e3
MB
41172000-11-18 Miles Bader <miles@gnu.org>
4118
4119 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4120 lines that *end* with "..." too (that's the most common case!).
4121
d392e9c5
GM
41222000-11-18 Gerd Moellmann <gerd@gnu.org>
4123
67988445
GM
4124 * xdisp.c (resize_mini_window): Temporarily change to the
4125 mini-window's buffer if necessary.
1bfdbe43 4126
d392e9c5
GM
4127 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4128 the tooltip obscures less text under it.
4129
41302000-11-17 Gerd Moellmann <gerd@gnu.org>
4131
4132 * puresize.h (BASE_PURESIZE): Increase to 700000.
4133
92bb977f
JR
41342000-11-18 Jason Rumney <jasonr@gnu.org>
4135
4136 * w32term.c (w32_draw_bitmap): Use face to set colors.
4137
26fbf20b
DL
41382000-11-17 Dave Love <fx@gnu.org>
4139
4140 * lread.c (Fload): Fix #ifdef for pcc.
4141
100b593b
GM
41422000-11-17 Gerd Moellmann <gerd@gnu.org>
4143
4144 * xdisp.c (pos_visible_p): Compute the default character height
4145 differently.
4146
a288d0d1
GM
41472000-11-16 Gerd Moellmann <gerd@gnu.org>
4148
cac94de6 4149 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4150 knowing the line's height; use the default font's height in that case.
cac94de6 4151
a288d0d1
GM
4152 * xfaces.c (weight_table): Add `demi' with the same meaning as
4153 `demibold'.
4154
981fb6f6
KH
41552000-11-16 Kenichi Handa <handa@etl.go.jp>
4156
2cca872d 4157 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4158 (clear_glyph_row): Delete local static variable null_row.
4159
e5fa381b
JR
41602000-11-15 Jason Rumney <jasonr@gnu.org>
4161
4162 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4163 (w32_alloc_lighter_color): Use new brightness calculations from
4164 xterm.c. Scale delta to be in the range expected by W32.
4165 (w32_draw_relief_rect): Use frame relief colors.
4166
8e42f043
GM
41672000-11-15 Gerd Moellmann <gerd@gnu.org>
4168
6d133d1f
GM
4169 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4170 (Qinhibit_default_face_x_resources): New variable.
4171 (syms_of_frame): Initialize it.
4172 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4173
4174 * xdisp.c (pos_visible_p): Improve function comment.
4175
4176 * lisp.h (BINDING_STACK_SIZE): New macro.
4177
8e42f043
GM
4178 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4179 reading the directory if readdir returns null and errno is EAGAIN
4180 or EINTR.
4181
e8c87124
SM
41822000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4183
4184 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4185 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4186 Set amount_to_scroll to max of dx and scroll_step so that
4187 scroll-conservatively doesn't defeat scroll-step>1.
4188 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4189 scroll-conservatively for line-at-a-time scrolling.
4190
5f0c971d
GM
41912000-11-14 Gerd Moellmann <gerd@gnu.org>
4192
4193 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4194 extra argument.
4195
4196 * xdisp.c (current_mode_line_height, current_header_line_height):
4197 New variables.
4198 (init_xdisp): Initialize them.
4199 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4200 and use exact mode line heights if it is set.
4201
4202 * lisp.h (pos_visible_p): Change prototype.
4203
4204 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4205 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4206 and current_header_line_height first.
52283633
SM
4207 (current_mode_line_height, current_header_line_height):
4208 Declare extern.
5f0c971d 4209
d7361edf
MB
42102000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4211
4212 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4213 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4214 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4215
ee5e440a
MB
42162000-11-14 Miles Bader <miles@gnu.org>
4217
4218 * xterm.c (x_alloc_lighter_color): Include an additive component
4219 too for dark colors, because FACTOR isn't enough.
4220 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4221 New macros.
4222
5ca020fc
GM
42232000-11-13 Gerd Moellmann <gerd@gnu.org>
4224
4225 * keyboard.c (show_help_echo): Call message3_nolog with number of
4226 bytes in the help string as 2nd parameter, instead of the number
4227 of characters.
4228
9d348294
MB
42292000-11-13 Miles Bader <miles@gnu.org>
4230
4231 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4232 (Fload): Use new openp return protocol.
4233 Don't try to use Vload_source_file_function to load .elc files.
4234 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4235 openp return protocol.
4236 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4237
1729bb9a
KH
42382000-11-11 Kenichi Handa <handa@etl.go.jp>
4239
4e677396
KH
4240 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4241
4242 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4243 Defined these macros.
4244 (NLIST_STRUCT): Avoid re-defining it.
4245
1729bb9a
KH
4246 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4247 -I/usr/contrib/X11R6/include.
4248 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4249
a82fe213
JR
42502000-11-10 Jason Rumney <jasonr@gnu.org>
4251
4252 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4253
4254 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4255 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4256
4257 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4258 (Qw32_charset_vietnamese): New symbol.
4259 (xlfd_charset_of_font): New function.
4260 (w32_load_system_font): Use it.
4261 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4262 when Vw32_charset_info_alist is nil to ensure default face always
4263 has font. Use Fcar and Fcdr for safety.
4264 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4265 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4266 pseudo-codepages for special cases.
4267 (w32_to_x_font): New parameter to allow charset portion to be
4268 specified where there is many to one mapping. Callers changed.
4269 (w32_list_fonts): Avoid listing fonts that won't display.
4270
52d89894
GM
42712000-11-10 Gerd Moellmann <gerd@gnu.org>
4272
4273 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4274 (font_list_1): Renamed from font_list.
4275 (font_list): New function, trying alternative registries from
4276 Vface_alternative_font_registry_alist.
4277 (Finternal_set_alternative_font_registry_alist): New function.
4278 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4279 Vface_alternative_font_registry_alist.
4280 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4281
651cd3da
KR
42822000-11-09 Ken Raeburn <raeburn@gnu.org>
4283
4284 * lisp.h (Flooking_at): Declare.
4285
388ac098
GM
42862000-11-09 Gerd Moellmann <gerd@gnu.org>
4287
778fbc46 4288 * dired.c (directory_files_internal): Fix a braino.
52283633 4289
388ac098
GM
4290 * dired.c (directory_files_internal): Add missing GCPRO's.
4291 Some cleanup.
4292
ecaedde1
GM
42932000-11-08 Gerd Moellmann <gerd@gnu.org>
4294
f7eb32aa
GM
4295 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4296 (resize_mini_window): Return quickly if Vresize_mini_window is
4297 nil. Don't return if Vmax_mini_window_height is nil.
4298
4299 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4300 (syms_of_xdisp): Initialize them.
4301 (resize_mini_window): Act according to the setting of
4302 Vresize_mini_window.
4303 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4304
ecaedde1
GM
4305 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4306 scroll bar widget after configuring it, so that it will appear at
4307 the right position from the start.
4308 (XTredeem_scroll_bar): Cleaned up.
4309
3747ef2c
KH
43102000-11-08 Kenichi Handa <handa@etl.go.jp>
4311
4312 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4313 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4314 division by two.
4315
4316 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4317
03391420
DL
43182000-11-07 Dave Love <fx@gnu.org>
4319
7758f1c1 4320 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4321
4322 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4323
b5de343d
GM
43242000-11-07 Gerd Moellmann <gerd@gnu.org>
4325
acad3c0b
GM
4326 * window.c (Fset_window_configuration): Don't try to preserve
4327 point in the current buffer, if that buffer is displayed in more
4328 than one window.
4329
b5de343d
GM
4330 * xfaces.c (lookup_named_face): If default face isn't realized,
4331 try to realize it. Return -1 if not successful.
4332 (Fx_list_fonts): Handle case that face cannot be determined.
4333 (Fface_font): Likewise.
4334
cdb1fe49
GM
43352000-11-06 Gerd Moellmann <gerd@gnu.org>
4336
4337 * window.c (displayed_window_lines): Detect partially
4338 visible lines at the bottom correctly.
4339
d3a67486
SM
43402000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4341
4342 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4343 when ensuring we don't do visit in indirect buffer.
4344
ff8dd5d5
KH
43452000-11-06 Kenichi Handa <handa@etl.go.jp>
4346
4347 * composite.h (compose_chars_in_text): Add prototype.
4348
4349 * composite.c (Vcomposition_function_table): New variable.
4350 (Qcomposition_function_table): New variable.
4351 (run_composition_function): Call
4352 Vcompose_chars_after_function with three arguments.
4353 (compose_chars_in_text): New function.
4354 (syms_of_composite): Modified the doc-string of
4355 Vcompose_chars_after_function. Declare composition-function-table
4356 as a lisp variable, and initialize it.
4357
4358 * xfns.c (x_encode_text): Suppress producing escape sequences for
4359 composition.
4360
4361 * xselect.c: Include composite.h.
4362 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4363
d1145f85
AI
43642000-11-05 Andrew Innes <andrewi@gnu.org>
4365
4366 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4367
4368 * sysdep.c (read_input_waiting): Remove extraneous argument to
4369 read_socket_hook.
4370
4371 * w32fns.c (Fx_server_version): Include w32_build_number in the
4372 return list.
4373
4374 * w32heap.c (w32_build_number): New variable.
4375 (cache_system_info): Set it.
4376
4377 * w32heap.h (w32_build_number): Add extern.
4378
4379 * emacs.c (syms_of_emacs): Update docstring for
4380 system-configuration, to reflect the actual usage on MS-Windows.
4381
e85ee976
GM
43822000-10-31 Gerd Moellmann <gerd@gnu.org>
4383
26dcb81b
GM
4384 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4385 process idle timers while waiting for another event.
4386
52283633 4387 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4388 the default face are colored.
4389
e85ee976
GM
4390 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4391 window height hasn't changed.
4392
01b220b6
JR
43932000-10-31 Jason Rumney <jasonr@gnu.org>
4394
4395 * w32term.c (x_produce_glyphs): Handle composite characters.
4396 (x_draw_glyph_string_foreground)
4397 (x_draw_composite_glyph_string_foreground): Restore old font.
4398
4e6b7204
MB
43992000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4400
4401 * minibuf.c (read_minibuf): Reset the undo history just before
4402 starting the recursive-edit.
4403
d4358b37
GM
44042000-10-30 Gerd Moellmann <gerd@gnu.org>
4405
563f68f1
GM
4406 * xfaces.c (menu_face_change_count): New variable.
4407 (Finternal_set_lisp_face_attribute): Increment it for changes
4408 of the `menu' face.
4409 (realize_basic_faces): Reflect changes in the `menu' faces
4410 in menu bars.
4411
82e274d1
GM
4412 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4413 dy obtained from the iterator's y-position after moving from
4414 scroll_margin_pos to PT; see comment there.
52283633 4415
0dbf9fd2
GM
4416 * xdisp.c (safe_eval_handler): Call add_to_log.
4417
906b3b14
GM
4418 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4419 is not a symbol or string.
4420
d4358b37
GM
4421 * xdisp.c (echo_area_display): Don't perform a display update from
4422 inside redisplay. The update will happen anyway at the end of
4423 redisplay, and it can confuse redisplay (GC messages while
4424 redisplaying, for instance.)
4425
70c825df
SM
44262000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4427
cf9b4b0b
SM
4428 * xrdb.c (x_load_resources): Use the class name in the defaults.
4429
70c825df
SM
4430 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4431 (regex_compile): Catch bogus \(\1\).
4432
a1d34b1e
GM
44332000-10-30 Gerd Moellmann <gerd@gnu.org>
4434
cae71efe
GM
4435 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4436 RGB values.
52283633 4437
35efe0a1
GM
4438 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4439 we have a color cache, check that the cached color equals the
4440 allocated color. If not, clear the color cache.
4441
1d3baf74
GM
4442 * window.c (displayed_window_lines): Change buffers if necessary.
4443 Fix computation of displayed lines.
4444
a1d34b1e
GM
4445 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4446 update_menu_bindings to DEFVAR_BOOL.
4447
70737ea9
KH
44482000-10-30 Kenichi Handa <handa@etl.go.jp>
4449
70c825df 4450 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4451
fa0cb51d
KH
4452 * puresize.h (BASE_PURESIZE): Increase to 680000.
4453
70737ea9
KH
4454 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4455
0e4c08e8
JR
44562000-10-29 Jason Rumney <jasonr@gnu.org>
4457
4458 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4459
4460 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4461 (w32_cache_char_metrics): Handle possibility that 'x' does not
4462 exist in a BDF font.
4463 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4464
4465 * w32bdf.h (bdffont): Add nchars.
4466
4467 * w32bdf.c (set_bdf_font_info): Set it.
4468 (w32_BDF_TextOut): Swap byte order of double byte characters.
4469 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4470
45b84006
EZ
44712000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4472
4473 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4474 don't override the colors in frame's param_alist, unless they are
4475 unspecified.
4476
4477 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4478 reverse the effect of the highlight flag.
4479
caf9deee
KR
44802000-10-27 Ken Raeburn <raeburn@gnu.org>
4481
4482 * window.h (Fwindow_live_p): Declare.
4483
ae0b9b46
KR
4484 * undo.c (record_delete): Check that last_undo_buffer is really a
4485 buffer before applying XBUFFER to it.
4486
4487 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4488 Faref.
4489
02067692
SM
44902000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4491
4492 * lisp.h (KEYMAPP): New macro.
4493 (get_keymap): Remove.
4494 (get_keymap_1): Rename get_keymap.
4495
4496 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4497
4498 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4499
4500 * xmenu.c (single_submenu): Use KEYMAPP.
4501 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4502 Use KEYMAPP rather than Fkeymapp.
4503
4504 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4505
4506 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4507 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4508 Use KEYMAPP rather than Fkeymapp.
4509 (single_submenu): Use KEYMAPP.
4510 (w32_menu_show, w32_dialog_show): Use TRUE.
4511
4512 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4513
4514 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4515 (Fkeymapp): Use KEYMAPP.
4516 (get_keymap): Rename from get_keymap_1. Remove old def.
4517 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4518 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4519 (Fminor_mode_key_binding): Don't raise an error if the binding
4520 is not a keymap.
4521 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4522 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4523
4524 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4525 Allow Vspecial_event_map to be autoloaded.
4526 (menu_bar_items): Fetch the keymap rather than using keymapp.
4527 (menu_bar_one_keymap): No need to follow func-indirect any more.
4528 (parse_menu_item): get_keymap_1 -> get_keymap.
4529 (tool_bar_items): Fetch the keymap rather than using keymapp.
4530 (read_key_sequence): Use KEYMAPP.
4531
4532 * intervals.c (get_local_map): Use get_keymap rather than following
4533 function-indirections explicitly.
4534
4535 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4536
f9d80af3
JR
45372000-10-27 Jason Rumney <jasonr@gnu.org>
4538
4539 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4540 point, as Windows has oversized fonts.
4541
4542 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4543
a3ba27da
GM
45442000-10-27 Gerd Moellmann <gerd@gnu.org>
4545
4546 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4547 (freehook, reallochook): Handle null pointer arguments.
4548 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4549
aa3b80cc
SM
45502000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4551
4552 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4553 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4554 Giving in to popular pressure to shut up the compiler with casts.
4555
e24e84cc
GM
45562000-10-27 Gerd Moellmann <gerd@gnu.org>
4557
4558 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4559 signed value, and use a default value computed from the font's
4560 maximum descent.
4561
05ea7ef2
MB
45622000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4563
4564 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4565 that specify a negative underline position can still use underlines.
4566
4567 * window.c (Fpos_visible_in_window_p): Make POS default to
4568 WINDOW's point, not the current buffer's point.
4569
0b95284b
DL
45702000-10-26 Dave Love <fx@gnu.org>
4571
4572 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4573 when it's necessary.
4574
6c5b90af
GM
45752000-10-26 Gerd Moellmann <gerd@gnu.org>
4576
8b6d9dc9
GM
4577 * window.c (size_window): Compute size difference from sum of old
4578 child window sizes instead of from parent's size.
4579
6bc92b2e
GM
4580 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4581 Handle obscured lines at the top of the window.
4582
4583 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4584 down after the last error condition check.
4585
6c5b90af
GM
4586 * frame.c (Fdelete_frame): Run delete-frame-hook.
4587
42f92d4d
KH
45882000-10-26 Kenichi Handa <handa@etl.go.jp>
4589
4590 * coding.c (decode_coding): Fix previous change (check also
4591 CODING_MODE_LAST_BLOCK).
4592
d97151cb
SM
45932000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4594
e7efc503
SM
4595 * regex.c: More `unsigned char' -> `re_char' changes.
4596 Also change several `int' into `re_wchar_t'.
4597 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4598 (PUSH_FAILURE_POINTER): Don't cast any more.
4599 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4600 We want GCC to complain, since this piece of code makes
4601 re_match non-reentrant, which *should* be fixed.
4602 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4603 (EXTEND_BUFFER): Use RETALLOC.
4604 (SET_LIST_BIT): Don't cast.
4605 (re_wchar_t): New type.
4606 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4607 that those two functions will always properly return.
4608 (IMMEDIATE_QUIT_CHECK): Cast to void.
4609 (analyse_first): Use recursion rather than an explicit stack.
4610 (re_compile_fastmap): Can't fail anymore.
4611 (re_search_2): Don't check re_compile_fastmap for failure.
4612 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4613 Now also sets the new value (passed in a new argument).
4614 (re_match_2_internal): Use it.
4615 Also, use a new var `reg' of type size_t when looping through regs
4616 rather than reuse the inappropriate `mcnt'.
4617
d97151cb
SM
4618 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4619 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4620 (where_is_internal): Renamed from Fwhere_is_internal.
4621 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4622 (Fwhere_is_internal): New function wrapping where_is_internal.
4623 (where_is_internal_1): Handle the case where we're filling the cache.
4624 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4625
d5789b65
MB
46262000-10-25 Miles Bader <miles@gnu.org>
4627
4628 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4629
4ecda532
GM
46302000-10-25 Gerd Moellmann <gerd@gnu.org>
4631
4632 * window.c (pos_fully_visible_p): Removed.
4633 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4634 if position is visible and/or fully visible.
4635
4636 * lisp.h (pos_visible_p): Add prototype.
4637
4638 * xdisp.c (pos_visible_p): New function.
4639
68c3a137
KH
46402000-10-25 Kenichi Handa <handa@etl.go.jp>
4641
4642 * process.c (send_process): If OBJECT is t, it means that the data
4643 is from C string, but we should encode it. Before calling
4644 setup_raw_text_coding_system, be sure to flush out data by the
4645 previous coding system.
4646
7ae1c032
MB
46472000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4648
ff4dcd4b
MB
4649 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4650 assignment of startpos to prev when startpos == pos.
4651
7ae1c032
MB
4652 * editfns.c (find_field): Set the field stickiness correctly from
4653 overlay fields. Use renamed `text_property_stickiness'.
4654 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4655 Only check text properties, not overlays.
7ae1c032
MB
4656 * textprop.c (get_char_property_and_overlay): New function.
4657 (Fget_char_property): Use it.
4658 * intervals.h (get_char_property_and_overlay): Add declaration.
4659
49801145
SM
46602000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4661
4662 * keymap.c: Use AREF, ASET and ASIZE macros.
4663 (Fmake_sparse_keymap): Docstring fix.
4664 (synkey): Remove.
4665 (shadow_lookup): Move up.
4666 Handle the case where lookup-key returns an integer.
4667 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4668 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4669 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4670 Simplify/rewrite the keymap-finding code.
4671 Add check for command shadowing, using shadow_lookup.
4672
39e776cd
SM
46732000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4674
4675 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4676 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4677 a symbol.
4678
2488aba5
AI
46792000-10-24 Andrew Innes <andrewi@gnu.org>
4680
4681 * dired.c (directory_files_internal_unwind): New function.
4682 (directory_files_internal): Use it to ensure closedir is called
4683 even if expand-file-name or file-attributes throw, eg. because of
4684 a user interrupt. Also enable immediate_quit while calling
4685 re_search, so that matching can be interrupted as well.
4686
b94fdf61
AI
46872000-10-24 Andrew Innes <andrewi@gnu.org>
4688
4689 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4690 NT-Emacs only.
4691 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4692 so that re_search functions only quit when callers expect them to.
4693
46942000-10-24 Kenichi Handa <handa@etl.go.jp>
4695
4696 * regex.c (regex_compile): Change the way of handling a range from
4697 a char less than 256 to a char not less than 256.
4698
1946f901
GM
46992000-10-24 Gerd Moellmann <gerd@gnu.org>
4700
7ae2f10f
GM
4701 * window.c (size_window): Prevent setting window's width or
4702 height to a negative value (esp. with XSETFASTINT).
4703
5dcab13e
GM
4704 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4705 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4706 (protect_malloc_state) [GC_MALLOC_CHECK &&
4707 GC_PROTECT_MALLOC_STATE]: New function.
4708 (PROTECT_MALLOC_STATE): New macro.
4709 (__malloc_initialize, morecore, _malloc_internal)
4710 (_free_internal) _realloc_internal): Use it to make _heapinfo
4711 read-only outside of gmalloc.
4712
63e1b552
GM
4713 * keymap.c: Update copyright.
4714
1946f901
GM
4715 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4716 a symbol.
4717
4fa09beb
GM
47182000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4719
4720 * filelock.c (unlock_all_files): Use unlock_file to expand each
4721 buffer's file_truename before trying remove its lock file.
4722
23afac01
EZ
47232000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4724
4725 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4726 or CRLF, decode EOLs.
4727
04448b95
KH
47282000-10-24 Kenichi Handa <handa@etl.go.jp>
4729
4730 * window.c (Fdisplay_buffer): Fix doc.
4731
3090a5a5
JR
47322000-10-23 Jason Rumney <jasonr@gnu.org>
4733
4734 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4735 ASCII font of default fontset on Windows.
4736
4737 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4738 xterm.c comment below).
4739
4740 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4741
a83fee2c
GM
47422000-10-23 Gerd Moellmann <gerd@gnu.org>
4743
4744 * xterm.c (x_connection_closed): Reset handling_signal.
4745
52283633 4746 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4747
6ffdb539
MB
47482000-10-23 Miles Bader <miles@gnu.org>
4749
4750 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4751 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4752 maintain old behavior.
4753 * minibuf.c (Fminibuffer_complete): Likewise.
4754
7f1c969b
MB
47552000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4756
4757 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4758 that when a font can't be exactly centered, it errs up rather than
4759 down.
4760
23afac01 47612000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4762
52283633 4763 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4764
1a578e9b
AC
47652000-10-23 Andrew Choi <akochoi@i-cable.com>
4766
4767 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4768
4769 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4770 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4771
4772 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4773 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4774 syms_of_search, x_term_init, and init_keyboard before calling
4775 init_window_once. Also, call syms_of_xmenu.
4776
4777 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4778 default fontset to Monaco.
4779
4780 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4781 NewMacWindow and DisposeMacWindow.
4782 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4783 instead of calling NewMacWindow and setting fields of
4784 f->output_data.mac directly. Call init_frame_faces.
4785 (Fdelete_frame) [macintosh]: Remove unused code.
4786 (Fmodify_frame_parameters) [macintosh]: Call
4787 x_set_frame_parameters instead of mac_set_frame_parameters.
4788
4789 * frame.h [macintosh]: Define menu_bar_lines field in struct
4790 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4791
4792 * keyboard.c [macintosh]: Include macterm.h.
4793 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4794 and menu_bar_activate_event type events as for X and NT.
4795 (make_lispy_event) [macintosh]: Construct lisp events of type
4796 MENU_BAR_EVENT as for X and NT.
4797
4798 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4799 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4800 (sys_subshell) [macintosh]: Remove definition entirely.
4801 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4802 Vwindow_system_version here. Remove initialization of
4803 Vx_bitmap_file_path.
4804 (read_input_waiting): Correct the number of parameters passed to
4805 read_socket_hook.
4806 Move all Macintosh functions to mac/mac.c.
4807
4808 * term.c [macintosh]: Include macterm.h.
4809
4810 * window.c [macintosh]: Include macterm.h.
4811
4812 * xdisp.c [macintosh]: Include macterm.h. Declare
4813 set_frame_menubar and pending_menu_activation.
4814 (echo_area_display) [macintosh]: Do not return if terminal frame
4815 is the selected frame.
4816 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4817 Allow only the selected frame to set menu bar.
4818 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4819 calling FRAME_EXTERNAL_MENU_BAR (f).
4820 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4821
4822 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4823 and check_x. Declare XCreateGC. Define x_create_gc and
4824 x_free_gc. Initialize font_sort_order.
4825 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4826 but call x_list_fonts instead of w32_list_fonts.
4827 (Finternal_face_x_get_resource) [macintosh]: Do not call
4828 display_x_get_resource.
4829 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4830 (realize_x_face) [macintosh]: Load the font if it is specified in
4831 ATTRS.
52283633 4832 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4833
1ffbabe3
SM
48342000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4835
4836 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4837 is nil: since we go to the end of submap anyway, we'd end up
4838 setting nil to nil.
4839 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4840 doesn't obey autoload.
4841
bed43f1d
EZ
48422000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4843
1ffbabe3 4844 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4845
ea4233a7
JR
48462000-10-21 Jason Rumney <jasonr@gnu.org>
4847
4848 * w32term.c (w32_cache_char_metrics): Double check that font is
4849 really fixed pitch before trusting tmPitchAndFamily.
4850
f3d3c491
AI
48512000-10-21 Andrew Innes <andrewi@gnu.org>
4852
4853 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4854
4855 * w32term.h: Extern decl for w32_cache_char_metrics.
4856
4857 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4858
4859 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4860 (w32_unload_font): Free per_char array if present.
4861
4862 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4863 cached information in emulated XFontStruct to handle common cases
4864 quickly. Do not allocate XCharStruct for return.
4865 (w32_native_per_char_metric): New function.
4866 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4867 allocating one.
4868 (x_produce_glyphs): Don't get an HDC. Change calls to
4869 w32_per_char_metric to match arg change above. Remove calls to
4870 free results.
4871 (w32_get_glyph_overhangs): Ditto.
4872 (w32_cache_char_metrics): New function.
4873
4874 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4875 ($(BLD)/casefiddle.$(O)): Remove compile command.
4876 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4877 ($(BLD)/dispnew.obj):
4878 ($(BLD)/keyboard.obj):
4879 ($(BLD)/w32inevt.obj):
4880 ($(BLD)/w32bdf.obj):
4881 ($(BLD)/alloc.obj):
4882 ($(BLD)/buffer.obj):
4883 ($(BLD)/editfns.obj):
4884 ($(BLD)/emacs.obj):
4885 ($(BLD)/fileio.obj):
4886 ($(BLD)/fns.obj):
4887 ($(BLD)/indent.obj):
4888 ($(BLD)/insdel.obj):
4889 ($(BLD)/intervals.obj):
4890 ($(BLD)/minibuf.obj):
4891 ($(BLD)/print.obj):
4892 ($(BLD)/scroll.obj):
4893 ($(BLD)/sysdep.obj):
4894 ($(BLD)/textprop.obj):
4895 ($(BLD)/widget.obj):
f3d3c491
AI
4896 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4897 ($(BLD)/term.obj): Add dependency on dispextern.h.
4898
52283633
SM
4899 * makefile.nt ($(BLD)\dispnew.obj):
4900 ($(BLD)\keyboard.obj):
4901 ($(BLD)\w32inevt.obj):
4902 ($(BLD)\w32bdf.obj):
4903 ($(BLD)\alloc.obj):
4904 ($(BLD)\buffer.obj):
4905 ($(BLD)\editfns.obj):
4906 ($(BLD)\emacs.obj):
4907 ($(BLD)\fileio.obj):
4908 ($(BLD)\fns.obj):
4909 ($(BLD)\indent.obj):
4910 ($(BLD)\insdel.obj):
4911 ($(BLD)\intervals.obj):
4912 ($(BLD)\minibuf.obj):
4913 ($(BLD)\print.obj):
4914 ($(BLD)\scroll.obj):
4915 ($(BLD)\sysdep.obj):
4916 ($(BLD)\textprop.obj):
4917 ($(BLD)\widget.obj):
f3d3c491
AI
4918 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4919 ($(BLD)\term.obj): Add dependency on dispextern.h
4920
18ad4821
EZ
49212000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4922
4923 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4924 with an additional argument of Qt.
4925
de54681a
MB
49262000-10-21 Miles Bader <miles@gnu.org>
4927
4928 * window.c (pos_fully_visible_in_window_p): New function.
4929 (Fpos_visible_in_window_p): Add FULLY argument.
4930 Use pos_fully_visible_in_window_p.
4931 (window_scroll_pixel_based, window_scroll_line_based): Update
4932 calls to Fpos_visible_in_window_p.
4933 * lisp.h (Fpos_visible_in_window_p): Update prototype
4934
13c844fb
GM
49352000-10-20 Gerd Moellmann <gerd@gnu.org>
4936
4937 * alloc.c (toplevel): Conditionalize compilation of mem_*
4938 functions differently.
52283633 4939
d9506268
JR
49402000-10-20 Jason Rumney <jasonr@gnu.org>
4941
4942 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4943 mem_init where it used to be. mem_z etc not defined otherwise.
4944
8094989b
GM
49452000-10-20 Gerd Moellmann <gerd@gnu.org>
4946
4947 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4948 GC_MALLOC_CHECK.
4949 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4950 structure definition and related variabled to the top of the file.
4951 Include this code when GC_MALLOC_CHECK is defined.
4952 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4953 register/unregister allocated region.
4954 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4955 which isn't allocated.
4956 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4957 something which is already in use.
4958 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4959 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4960 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4961 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4962
4963 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4964 _malloc_internal instead of malloc.
4965 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4966 of free.
4967
ea456eb4
AI
49682000-10-20 Andrew Innes <andrewi@gnu.org>
4969
4970 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4971 Windows.
4972 (my_strftime) <macro>: Don't use macro arg list when redefining as
4973 _strftime_copytm.
4974 (my_strftime) <function>: Supply 0 as ut argument.
4975
e64c3a75
JR
49762000-10-19 Jason Rumney <jasonr@altavista.net>
4977
4978 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4979 including dispextern.h, as it stops faces from working.
4980
4981 * w32fns.c (Fx_create_frame): Don't bother calling
4982 face-set-after-frame-default since the caller does it for us
4983 anyway. Clean up calls to x_get_arg to be consistent with X.
4984
4985 * w32term.c (x_produce_glyphs): Handle
4986 unibyte_display_via_language_environment correctly.
4987 (w32_draw_box_rect): Fix the calculation of width and height.
4988
4989 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4990 as it has stopped working.
4991 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4992 menu-bar.
4993
17401c97
GM
49942000-10-19 Gerd Moellmann <gerd@gnu.org>
4995
4996 * eval.c (skip_debugger): Prevent a compiler warning.
4997 (Fcondition_case): Likewise.
4998 (Fbacktrace_frame): Use a null interactive spec.
4999
773272d8
KH
50002000-10-19 Kenichi Handa <handa@etl.go.jp>
5001
5002 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5003
a42943e9
GM
50042000-10-18 Gerd Moellmann <gerd@gnu.org>
5005
e50517d9
GM
5006 * strftime.c: Sync with glibc, file version 1.78.
5007 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5008 should no longer be used according to ISO 8601.
5009
9035a35a
GM
5010 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5011 no map for meta_prefix_char, don't try to use it as a keymap.
5012 Instead, if T_OK is non-zero, look up a default binding, if any,
5013 otherwise, if T_OK is zero, return nil.
5014
a42943e9
GM
5015 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5016 (x_to_xcolors, png_load): Use x_query_color.
5017
52283633
SM
5018 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5019 New functions.
a42943e9
GM
5020 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5021 which can be slow.
5022 (x_copy_color, x_alloc_lighter_color): Likewise.
5023
5024 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5025 (x_query_color, x_query_colors): Add prototype.
5026
5027 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5028 check_string_bytes only if not noninteractive, increase count to 50.
5029
00de2987
MB
50302000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5031
5032 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5033 markers correctly.
5034
54918e2b
GM
50352000-10-17 Gerd Moellmann <gerd@gnu.org>
5036
1f0b3fd2
GM
5037 * alloc.c (pure_bytes_used): Renamed from pureptr.
5038 (ALIGN): New macro.
5039 (pure_alloc): New function.
5040 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5041 Use it.
5042 (Fpurecopy): Use PURE_POINTER_P.
5043
68c5d1db
GM
5044 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5045 PT has moved backward.
52283633 5046
9a038881
GM
5047 * xdisp.c (cursor_row_p): Take continued lines into account.
5048
361b097f
GM
5049 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5050 string's size_byte.
5051 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5052 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5053 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5054 string allocated.
5055
54918e2b
GM
5056 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5057 of selective display off while searching for the next line start.
5058
03ed0806
KH
50592000-10-17 Kenichi Handa <handa@etl.go.jp>
5060
5061 * Makefile.in (term.o): Depend on dispextern.h.
5062
7e05cdaf
SM
50632000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5064
5065 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5066
a6801fd1
GM
50672000-10-16 Gerd Moellmann <gerd@gnu.org>
5068
483de32b
GM
5069 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5070 the iterator at the beginning, so that they can be set later on,
5071 for instance in reseat_at_next_visible_line_start, without being
5072 overwritten.
5073
a6801fd1
GM
5074 * xfns.c (pbm_format): Add :foreground and :background keywords.
5075 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5076 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5077
dbf1fcc1
EZ
50782000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5079
5080 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5081
52283633 5082 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5083
5084 * msdos.c (IT_set_face): Compare highlighted face with the default
5085 face, and invert colors if these faces' colors are identical.
5086 (Fmsdos_remember_default_colors): Don't swap foreground and
5087 background colors in initial_colors[].
5088 (IT_set_frame_parameters): Don't swap frame's foreground and
5089 background pixels. If ALIST includes "(reverse . t)", swap
5090 foreground-color and background-color properties in frame's
5091 param_alist. If the original frame's param_alist doesn't specify
5092 the colors, store unspecified-fg and unspecified-bg, reversed if
5093 required.
5094
5095 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5096 the colors are unspecified and reversed, reverse fore- and back-
5097 ground in the returned value.
5098 (Fframe_parameter): Ditto.
5099
b41fe2c3 51002000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5101
3a6b59d9
GM
5102 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5103 get_last_unchanged_at_beg_row.
5104 (find_first_unchanged_at_end_row): Renamed from
5105 get_first_unchanged_at_end_row.
5106 (find_first_unchanged_at_end_row): Convert assertions to
5107 unconditional tests which abort. When looking for a row in
5108 unchanged text, don't go further back than first_text_row.
5109
b41fe2c3
GM
5110 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5111 Don't add in the last line's height when deciding if the new
5112 position is below the scroll margin.
9d1af64f 5113
b41fe2c3 51142000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5115
5116 * editfns.c (Fconstrain_to_field): Check carefully for field
5117 boundaries if either OLD_POS or NEW_POS has a non-nil field
5118 property, even if they're the same.
5119
c412cb7b
KH
51202000-10-16 Kenichi Handa <handa@etl.go.jp>
5121
5122 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5123 height for XFillRectangle.
5124
5586f3eb
SM
51252000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5126
5127 * syntax.c (Fstring_to_syntax): New function extracted from
5128 Fmodify_syntax_entry.
5129 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5130 (skip_chars, Fforward_comment): Remove unused variables.
5131 (syms_of_syntax): Add defsubr for string-to-syntax.
5132 (describe_syntax): Add code for comment and string fences.
5133
db785038
SM
51342000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5135
5136 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5137 Do the meta->esc mapping. Call get_keyelt before returning.
5138 Start scanning from the second element (the first is always `keymap')
5139 to make it easier to detect when we reach a parent map.
5140 Handle the case of inheriting from a symbol whose function is a map.
5141 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5142 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5143 (get_keyelt, Flookup_key): Update call to access_keymap.
5144 Remove the meta->esc mappings.
5145 (define_as_prefix): Delete old disabled code.
5146 (menu_item_p): New function.
5147 (where_is_internal_1): Skip over the few remaining menu items.
5148 * lisp.h (access_keymap): Update prototype.
5149 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5150 Update call to access_keymap.
5151 (follow_key, read_key_sequence): Update calls to access_keymap.
5152 Remove the meta->esc mappings.
5153
cafafe0b
GM
51542000-10-13 Gerd Moellmann <gerd@gnu.org>
5155
a2e2a7f6
GM
5156 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5157 with additional argument.
5158
cafafe0b
GM
5159 * xdisp.c (cursor_row_p): New function.
5160 (try_cursor_movement, display_line): Use it.
52283633 5161
cafafe0b
GM
5162 * xdisp.c (append_space): Also save/restore iterator's current
5163 character and its length.
5164
5165 * xdisp.c (init_from_display_pos): Add an assertion.
5166 (handle_stop): Don't set iterator's add_overlay_start.
5167 (handle_invisible_prop): Likewise.
5168 (load_overlay_strings): If text under an overlay is invisible,
5169 take both before- and after-strings into account when the iterator
5170 is positioned either at the start or at the end of the overlay.
5171 (forward_to_next_line_start): Rewritten.
5172 (reseat_at_next_visible_line_start): Rewritten.
5173 (set_iterator_to_next): Add parameter RESEAT_P.
5174
5175 * dispextern.h (struct it): Remove member add_overlay_start.
5176 (set_iterator_to_next): Change prototype.
5177
c744452b
KH
51782000-10-13 Kenichi Handa <handa@etl.go.jp>
5179
5180 * coding.c (code_convert_region): Be sure to initialize
5181 coding->category_idx.
e4a3f4e1
KH
5182 (decode_coding_string): Set coding->src_multibyte and
5183 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5184 (encode_coding_string): Set coding->src_multibyte and
5185 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5186
321fd26f
SM
51872000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5188
5189 * xfns.c (Fx_create_frame): Don't bother calling
5190 face-set-after-frame-default since the caller does it for us anyway.
5191
76832439
EZ
51922000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5193
5194 * window.c (coordinates_in_window): Fix detection of vertical line
5195 on character terminals.
5196
2483cf58
GM
51972000-10-12 Gerd Moellmann <gerd@gnu.org>
5198
5199 * editfns.c (save_excursion_save): Additionally record the
5200 selected window.
5201 (save_excursion_restore): If buffer was visible in a window, and a
5202 different window was selected, and the old selected window is
5203 still live, restore point in that window.
5204
eb991b25
KH
52052000-10-12 Kenichi Handa <handa@etl.go.jp>
5206
8a0eba09
KH
5207 * xterm.c (x_produce_glyphs): Handle
5208 unibyte_display_via_language_environment correctly.
5209
20401fcc
KH
5210 * regex.c (regex_compile): Change the way of handling a range from
5211 unibyte char to multibyte char.
5212
5213 * syntax.c (skip_chars): Change the way of handling a range from
5214 unibyte char to multibyte char.
5215
eb991b25
KH
5216 * process.c (read_process_output): Cancel previous change.
5217
365dd325
EZ
52182000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5219
c1b096cb
EZ
5220 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5221
365dd325
EZ
5222 * charset.c (Ffind_charset_string): Doc fix.
5223 (Ffind_charset_region): Doc fix.
5224
eb483c2b
KH
52252000-10-11 Kenichi Handa <handa@mule.m17n.org>
5226
5227 * process.c (read_process_output): Fix previous change. Adjust
5228 multibyteness of text to insert in a buffer by
52283633 5229 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5230
b40bfb99
AS
52312000-10-10 Andreas Schwab <schwab@suse.de>
5232
5233 * alloc.c (mark_object): Remove all workarounds installed on
5234 1993-08-08.
5235
caff31d4
KH
52362000-10-10 Kenichi Handa <handa@etl.go.jp>
5237
52283633 5238 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5239 (base64_encode_1): Make it work for a text of multibyte form.
5240 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5241 case. Don't call str_to_multibyte because base64_decode_1
5242 produces correct multibyte form for eight-bit codes.
52283633 5243 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5244 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5245 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5246 codes.
5247
5248 * charset.h (CHAR_STRING): Optimized for single byte characters.
5249
cba026ef
AS
52502000-10-09 Andreas Schwab <schwab@suse.de>
5251
5252 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5253 -1 after socket is closed, to fall through to error processing.
5254
1e21fe48
EZ
52552000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5256
5257 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5258 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5259 background-color, change also the colors of the default face for
5260 this frame.
5261
a640322e
EZ
52622000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5263
5264 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5265 them extern (they are defined on xfaces.c).
5266 (syms_of_msdos): Don't intern and don't staticpro
5267 Qbackground_color and Qforeground_color.
5268
a115794c
EZ
52692000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5270
5271 * frame.c (Fframe_parameter): For non-windowed frames, if
5272 f->param_alist says foreground or background color is unspecified,
5273 call tty_color_name to return the color name computed from the
5274 frame's current colors.
5275
f5533b63
DL
52762000-10-06 Dave Love <fx@gnu.org>
5277
5278 * terminfo.c (ospeed): Don't declare.
5279
5280 * sysdep.c: Don't include string.h.
5281 (h_errno): Declare conditional also on TRY_AGAIN.
5282
5283 * charset.c (Ffind_charset_string): Doc fix.
5284
52283633 5285 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5286 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5287 error messages.
5288
2b06561a
DL
52892000-10-05 Dave Love <fx@gnu.org>
5290
5291 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5292 position like menu-bar.
5293
ca839c85
GM
52942000-10-05 Gerd Moellmann <gerd@gnu.org>
5295
5296 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5297
5298 * xdisp.c (handle_single_display_prop): Use safe_call1.
5299 (safe_call): Renamed from call_function.
5300 (safe_call1): New function.
5301 (handle_fontified_prop): Use safe_call1 instead of call1.
5302 (safe_eval): Renamed from eval_form.
5303 (safe_eval_handler): Renamed from eval_handler.
5304 (handle_single_display_prop, display_mode_element): Use safe_eval
5305 instead of eval_form.
5306
5307 * xfaces.c (merge_face_heights): Use safe_call instead of
5308 call_function.
5309
5310 * keyboard.c (show_help_echo): Use safe_call instead of
5311 call_function; use safe_eval instead of eval_form.
5312
5313 * lisp.h (safe_call): Renamed from call_function.
5314 (safe_eval): Renamed from eval_form.
5315 (safe_call1): Add prototype.
5316
a3489ece
MB
53172000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5318
5319 * xfns.c (image_ascent): Rearrange ascent calculation for the
5320 has-a-font case.
5321
35810b6f
SM
53222000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5323
5324 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5325 (where_is_internal_1): Don't bother ignoring menu-items any more.
5326
3dc78168
GM
53272000-10-04 Gerd Moellmann <gerd@gnu.org>
5328
5329 * keyboard.c (update_menu_bindings): New variable.
5330 (parse_menu_item): Use AREF. If update_menu_bindings
5331 is 0, don't update menu bindings.
5332 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5333
1efc2bb9
EZ
53342000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5335
5336 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5337 to `mark_object'.
5338
3f679f55
SM
53392000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5340
5341 * syntax.c (forw_comment): Match nestedness of ender/starter.
5342 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5343 (prev_char_comstart_first): Remove.
5344 (back_comment): Check two-char comment markers more carefully
5345 to better handle overlapping cases like *//* or /* */* */ ...
5346 Match nestedness of ender/starter.
5347
2021ab61
DL
53482000-10-02 Dave Love <fx@gnu.org>
5349
5350 * config.in (HAVE_GAI_STRERROR): Add undef.
5351
5352 * process.c (Fopen_network_stream): Use it.
5353
5354 * m/alpha.h (NO_REMAP): Don't define.
5355
64e6cc18
GM
53562000-10-02 Gerd Moellmann <gerd@gnu.org>
5357
5358 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5359 return with a string converted to an integer or vice versa when
5360 Vmocklisp_arguments is t.
5361 (Fsignal): Likewise. The function can return for `quit'.
5362 (struct gcpro): Declare member `var' to point to a volatile
5363 Lisp_Object.
5364
5365 * eval.c (error): Prevent compiler warning.
5366
b1904cd9
SM
53672000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5368
5369 * keymap.c (keymap_memberp): New function.
5370 (Fset_keymap_parent): Use it.
5371 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5372 Use keymap_memberp to avoid creating cycles.
5373 (access_keymap): Use KEYMAPP.
5374
71c9ec51
GM
53752000-09-30 Gerd Moellmann <gerd@gnu.org>
5376
5377 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5378 gai_strerror. Make sure xerrno is set if connect fails. Improve
5379 error recovery.
71c9ec51 5380
c70c6b58
JR
53812000-09-29 Jason Rumney <jasonr@gnu.org>
5382
5383 * w32term.c (w32_char_font_type, w32_encode_char)
5384 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5385 (w32_bdf_per_char_metric): New function.
5386 (w32_per_char_metric): Use it.
5387 (x_draw_glyph_string_background): Always draw background for BDF
5388 glyphs.
5389
5390 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5391 GDI object which is a scarce resource.
5392
5393 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5394 (get_quoted_string): Fix limit on memchr search.
5395 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5396 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5397 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5398 (get_cached_font_char, cache_char_offset): Use macro
5399 BDF_CODEPOINT_RANGE_COVER_P.
5400 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5401 (clear_cached_bitmap_slots): New function.
5402 (GET_HEX_VALUE): G-Z, g-z are not hex.
5403 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5404 (get_bitmap_with_cache): Use new cache implementation.
5405 (create_offscreen_bitmap): New function.
5406 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5407
5408 * w32term.c (x_produce_glyphs): If the distance from the current
5409 position to the next tab stop is less than a canonical character
5410 width, use the tab stop after that.
5411 (x_draw_glyphs): Handle case START and END are out of bounds more
5412 carefully.
5413 (x_clear_mouse_face): Block/unblock input.
5414 (x_display_and_set_cursor): Don't show a hollow box cursor for
5415 buffers whose cursor_type is nil.
5416
fe01239f
GM
54172000-09-29 Gerd Moellmann <gerd@gnu.org>
5418
52283633 5419 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5420
5421 * dispextern.h (updating_frame): Declare extern.
5422
e7c52f1f
AS
54232000-09-29 Andreas Schwab <schwab@suse.de>
5424
5425 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5426
de6e1f7c
GM
54272000-09-29 Gerd Moellmann <gerd@gnu.org>
5428
25126faa
GM
5429 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5430 use its function definition.
5431 (tool_bar_items): Likewise.
5432
de6e1f7c 5433 * lisp.h (fatal): Declare NO_RETURN.
52283633 5434
454ee39b
KH
54352000-09-29 Kenichi Handa <handa@etl.go.jp>
5436
5437 * keymap.c: Remove the line "#undef NULL".
5438
96301c5f
GM
54392000-09-28 Gerd Moellmann <gerd@gnu.org>
5440
52283633 5441 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5442
efffeeb4
DL
54432000-09-28 Dave Love <fx@gnu.org>
5444
ecb8b666
DL
5445 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5446
dc3cd20f
DL
5447 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5448
5449 * .gdbinit (xreload): Note its need on GNU/Linux.
5450
efffeeb4
DL
5451 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5452 r_alloc, r_alloc_free.
5453
8610d903
KH
54542000-09-28 Kenichi Handa <handa@etl.go.jp>
5455
5456 * syntax.c (skip_chars): Handle negation correctly.
5457
8901d1ac
GM
54582000-09-27 Gerd Moellmann <gerd@gnu.org>
5459
6f22f1ad
GM
5460 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5461 with non-zero FORCE_P argument.
5462
52283633 5463 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5464 Add assertions.
5465
5466 * xdisp.c (window_box_height): Add an assertion.
5467
5468 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5469 tool-bar than is available.
5470 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5471
36f1966f
DL
54722000-09-27 Dave Love <fx@gnu.org>
5473
efffeeb4 5474 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5475
31d929e5
GM
54762000-09-26 Gerd Moellmann <gerd@gnu.org>
5477
c98863bf
GM
5478 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5479 instead of BITS_PER_INT.
5480 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5481 EMACS_UINT, respectively.
5482 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5483
5484 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5485
5486 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5487
77072ab1
GM
5488 * window.c (freeze_window_starts): Construct last argument for
5489 foreach_window differently.
5490
5491 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5492
5493 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5494 EMACS_UINT instead of `int' and `unsigned int'.
5495 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5496
5497 * frame.h (struct frame): Make the `nothing' member of union
5498 output_data an EMACS_INT.
5499
52283633 5500 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5501 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5502 size in the sdata structure.
5503 (SDATA_NBYTES, SDATA_DATA): New macros.
5504 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5505 differently for the different layout of the sdata structure.
5506 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5507 in sdata.
5508 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5509 Check that size recorded in the string size and size recorded in
5510 the sdata structure agree.
5511
3e60b029
DL
55122000-09-25 Dave Love <fx@gnu.org>
5513
5514 * buffer.c: Include stdio.h.
5515
5516 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5517
3e60b029
DL
5518 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5519
5520 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5521 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5522 (__malloc_extra_blocks): Declare as __malloc_size_t.
5523
8ff16b4e
GM
55242000-09-25 Gerd Moellmann <gerd@gnu.org>
5525
755a2ccd
GM
5526 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5527
d8b4516f
GM
5528 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5529 (read_char): If help-echo is showing, preserve the echo area
5530 when redisplaying.
5531
5532 * xdisp.c (help_echo_showing_p): New variable.
5533 (set_message): Reset it to 0.
5534 (init_xdisp): Initialize help_echo_showing_p.
5535
5536 * dispextern.h (help_echo_showing_p): Declare extern.
5537
5538 * config.in: Fix typo in __GNUC_MINOR__.
5539
5540 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5541
b11af2dd
GM
5542 * s/freebsd.h (POSIX_SIGNALS): Define.
5543
8ff16b4e
GM
5544 * xterm.c (x_clear_mouse_face): Block/unblock input.
5545
844eb643
DL
55462000-09-24 Dave Love <fx@gnu.org>
5547
5548 * fns.c (base64_encode_1): Fix last change.
5549
b30ab1b3
GM
55502000-09-22 Gerd Moellmann <gerd@gnu.org>
5551
5552 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5553
5554 * xdisp.c (try_window_reusing_current_matrix): More fixes
5555 for the case window has a header-line.
5556
c6cbe5f0
DL
55572000-09-22 Dave Love <fx@gnu.org>
5558
4c7c1f3f
DL
5559 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5560 a doc string.
5561
5562 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5563
c6cbe5f0
DL
5564 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5565
550a625e
GM
55662000-09-21 Gerd Moellmann <gerd@gnu.org>
5567
4c7c1f3f 5568 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5569 for GCC >= 2.5.
5570
52283633
SM
5571 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5572 Declare NO_RETURN.
fca99116 5573
80d26f99
GM
5574 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5575 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5576 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5577 warnings.
52283633 5578
80d26f99
GM
5579 * marker.c (byte_char_debug_check): Return void.
5580
623a0aae
GM
5581 * xfns.c (Fx_create_frame): Set default frame parameter value
5582 for tool-bar-lines to 1.
5583
5584 * dispnew.c (scrolling_window): Compare y-positions of rows
5585 equal at the start. Some simplification.
5586
5587 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5588 reused rows' y-position in the case window has a header-line, and
5589 new window start is greater than old window start.
5590
42ac0ae5
GM
5591 * process.c (process_sent_to): New variable.
5592 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5593 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5594 Declare more parameters volatile.
5595
550a625e
GM
5596 * lread.c (Vrecursive_load_depth_limit): New variable.
5597 (Fload): Check recursive loads whose recursion depth exceeds
5598 Vrecursive_load_depth_limit.
5599 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5600
8320414c
GM
56012000-09-20 Gerd Moellmann <gerd@gnu.org>
5602
f46c275e
GM
5603 * fileio.c (Fread_file_name): Doc fix.
5604
5605 * editfns.c (Fmessage_or_box): Doc fix.
5606
5607 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5608
b7e11c5b 5609 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5610
8320414c
GM
5611 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5612 symbols are specified, add color translations to the cache.
52283633 5613 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5614 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5615 xpm_cache_color.
5616 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5617 structures to xpm_init_color_cache.
5618
da1608d9
GM
56192000-09-19 Gerd Moellmann <gerd@gnu.org>
5620
52283633 5621 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5622
6badfa25
AI
56232000-09-19 Andrew Innes <andrewi@gnu.org>
5624
5625 * makefile.nt (bootstrap-emacs): Don't change directory.
5626
3a5f42bb
KH
56272000-09-19 Kenichi Handa <handa@etl.go.jp>
5628
1b7649bd
KH
5629 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5630
3a5f42bb
KH
5631 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5632 If output buffer is too small, signal an appropriated error.
5633
9f83cf0b
DL
56342000-09-18 Dave Love <fx@gnu.org>
5635
52283633 5636 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5637 (current_active_maps): Remove redundant get_local_map call.
5638
28c7826c
GM
56392000-09-18 Gerd Moellmann <gerd@gnu.org>
5640
5cefa566
GM
5641 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5642 cursor for buffers whose cursor_type is nil.
52283633 5643
6fed3546
GM
5644 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5645 a feature to implement that is already implemented.
5646 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5647 warnings.
5648
5649 * xfns.c (x_clear_image_1): New function.
5650 (x_clear_image): Use it.
52283633 5651 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5652
05b1f851
GM
5653 * dispnew.c (update_window): Move test for invisible lines
5654 at the top to update_window_line.
5655 (update_window_line): Handle invisible lines here.
5656
f4779de9
GM
5657 * xfns.c (clear_image_cache): Clear current matrices of all
5658 frames sharing an image cache. Block input while freeing
5659 images. Fix timestamp comparison.
5660 (x_clear_image): Also free the mask.
5661
28c7826c
GM
5662 * xfns.c (lookup_image): Block input while loading the image so
5663 that we won't get interrupted in a state where the image isn't yet
5664 set up completely.
5665 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5666 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5667 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5668 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5669
b7412313
GM
56702000-09-16 Gerd Moellmann <gerd@gnu.org>
5671
5672 * dispnew.c (update_window): Make sure to make desired rows
5673 current even if they are completely invisible at the top
5674 of a window.
5675
47e351a3
GM
56762000-09-15 Gerd Moellmann <gerd@gnu.org>
5677
7f8f1edc
GM
5678 * xfns.c (lookup_image): Build mask before applying an algorithm.
5679 Recognize algorithm `disabled'.
5680 (cross_disabled_images): New variable.
5681 (COLOR_INTENSITY): New macro.
5682 (x_detect_edges): Use COLOR_INTENSITY.
5683 (x_disable_image): New function.
5684 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5685
5686 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5687 disabled state, don't apply an image transformation algorithm if
5688 the user specified an image for the disabled state. Use
28c7826c 5689 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5690 user hasn't specified an image.
5691
ebb8f116
GM
5692 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5693 allocation functions with the XPM lib.
5694 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5695 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5696 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5697 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5698 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5699 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5700 functions, if possible, because these handle color allocation
5701 failure more gracefully.
5702 (Fimage_mask_p): New function.
5703
47e351a3
GM
5704 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5705 (Qedge_detection, Qheuristic): New symbols.
5706 (syms_of_xfns): Initialize new symbols.
5707 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5708 `algorithm (edge-detection ...)'.
5709 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5710 (tiff_format, gif_format, gs_format): Add `:mask'.
5711 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5712 (GIF_MASK, GS_MASK): New enumerators.
5713 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5714 (emboss_matrix, laplace_matrix): New variables.
5715 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5716 (x_edge_detection): New functions.
5717 (x_laplace): Rewritten in terms of x_detect_edges.
5718 (x_build_heuristic_mask): If image has a mask, free it.
5719
fe83b953
AI
57202000-09-14 Andrew Innes <andrewi@gnu.org>
5721
5722 * makefile.w32-in: Revert to Unix line endings.
5723
3021e816
AI
57242000-09-14 Andrew Innes <andrewi@gnu.org>
5725
5726 * makefile.w32-in: Standardize indentation somewhat.
5727 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5728 cater for differences between shells.
5729
5730 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5731
2a32b5ea
GM
57322000-09-14 Gerd Moellmann <gerd@gnu.org>
5733
5734 * xterm.c (x_produce_glyphs): If the distance from the current
5735 position to the next tab stop is less than a canonical character
5736 width, use the tab stop after that.
5737
b4331e96
DL
57382000-09-14 Dave Love <fx@gnu.org>
5739
5740 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5741
ef9e4345
GM
57422000-09-14 Gerd Moellmann <gerd@gnu.org>
5743
085536c2
GM
5744 * xdisp.c (handle_fontified_prop): While running fontification
5745 functions, bind `fontification-functions' and
5746 `after-change-functions' to nil.
5747
ef9e4345
GM
5748 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5749 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5750
5751 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5752
5753 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5754 USE_MMAP_FOR_BUFFERS.
5755
5756 * insdel.c (make_gap): Use enlarge_buffer_text.
5757
5758 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5759 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5760 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5761 from former r_alloc_* functions in ralloc.c.
52283633 5762 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5763 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5764 (mmap_init) [REL_ALLOC_MMAP]: New function.
5765 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5766 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5767 BUFFER_FREE.
5768
5769 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5770 (enlarge_buffer_text): Add prototype.
5771
5772 * ralloc.c: Remove everything having to do with the use of mmap.
5773
f8608968
GM
57742000-09-13 Gerd Moellmann <gerd@gnu.org>
5775
2a494b2d
GM
5776 * sound.c (Fplay_sound): Doc fix.
5777
8c907a56
GM
5778 * keyboard.c: Avoid some more compiler warnings.
5779 (parse_tool_bar_item): Ignore cached key bindings.
5780
f8608968
GM
5781 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5782 and allocation of Lisp data.
5783
6ab70e9a
GM
57842000-09-12 Gerd Moellmann <gerd@gnu.org>
5785
d12d0a9b
GM
5786 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5787 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5788 defaults first.
5789
6ab70e9a
GM
5790 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5791
63c36c3c
KH
57922000-09-12 Miyashita Hisashi <himi@meadowy.org>
5793
5794 * ccl.c: Comment fixed.
5795 (MAX_MAP_SET_LEVEL): Increased to 30.
5796 (PUSH_MAPPING_STACK): Enclose with do-while block.
5797 (POP_MAPPING_STACK): Likewise.
5798 (stack_idx_of_map_multiple): New variable.
5799 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5800 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5801 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5802 (ccl_driver) <CCL_MapSingle>: Likewise.
5803 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5804 with the case where looking up process reaches to the end of
5805 map-set, and call CCL programs as the above change.
5806
7ee3bd7b
GM
58072000-09-11 Gerd Moellmann <gerd@gnu.org>
5808
8ec8a5ec
GM
5809 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5810 that might be clobbered by longjmp.
5811 (check_x_display_info, x_decode_color, create_frame_xic)
5812 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5813 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5814
f74b0705
GM
5815 * lread.c (init_lread): Set Vloads_in_progress to nil.
5816 (Fload): Show list of recursively loaded files, when signaling an
5817 error.
5818
7ee3bd7b
GM
5819 * lread.c (Vloads_in_progress): New variable.
5820 (record_load_unwind): New function.
5821 (Fload): Check for recursive loads.
5822 (syms_of_lread): Initialize Vloads_in_progress.
5823 (read_integer, read1): Avoid some compiler warnings.
5824
5825 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5826 compiler warnings.
5827
974e1e5b
MB
58282000-09-11 Miles Bader <miles@gnu.org>
5829
5830 * editfns.c (Fbuffer_string): Doc fix.
5831
9824c4e3
GM
58322000-09-10 Gerd Moellmann <gerd@gnu.org>
5833
5834 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5835
6a72fdd1
KR
58362000-09-09 Ken Raeburn <raeburn@gnu.org>
5837
5838 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5839 whether to include other header files.
5840
28e6fb66
GM
58412000-09-09 Gerd Moellmann <gerd@gnu.org>
5842
52283633 5843 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5844 by Fmemq as a boolean.
28e6fb66 5845
7f8b6551
SM
58462000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5847
5848 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5849
a8710abf
GM
58502000-09-08 Gerd Moellmann <gerd@gnu.org>
5851
d1a02881
GM
5852 * ralloc.c (mmap_fd): Remove initializer which can make it
5853 read-only in a dumped Emacs.
5854 (mmap_fd_1): New variable.
5855 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5856 restore it from there.
5857 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5858 unconditionally so that mmap_fd can be initialized there.
5859 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5860 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5861 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5862
c454aac1
GM
5863 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5864
5865 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5866 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5867
fc653ef2
GM
5868 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5869
3015eec0
GM
5870 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5871 inheritance.
5872
bfe0ee88
GM
5873 * xdisp.c (try_window_id): When trying to locate cursor in
5874 unchanged rows at the top, handle the case that we can't find it.
5875
a8710abf
GM
5876 * xterm.c (x_draw_glyphs): Handle case START and END are out
5877 of bounds more carefully.
5878
6b7d4ae4
DL
58792000-09-08 Dave Love <fx@gnu.org>
5880
423193c5
DL
5881 * s/sol2.h (REL_ALLOC_MMAP): Define.
5882 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5883
5884 * ralloc.c: Don't include string.h (redundant).
5885 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5886 [!MAP_ANON]: Include fcntl.h.
5887 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5888 (r_alloc, r_re_alloc, r_alloc_free)
5889 (mmap_enlarge, mmap_set_vars): Use it.
5890 (r_alloc_init_fd): New function.
5891 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5892 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5893 malloc type.
5894
5895 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5896 Remove vm-limit.o.
5897
6b7d4ae4
DL
5898 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5899 change to __NetBSD__.
5900
44d31981
KH
59012000-09-08 Kenichi Handa <handa@etl.go.jp>
5902
5903 * search.c (compile_pattern): Check the multibyteness of cached
5904 string and PATTERN.
5905
aad40737
MB
59062000-09-08 Miles Bader <miles@gnu.org>
5907
5908 * xfaces.c (default_face_vector): Function removed.
5909 (Finternal_merge_in_global_face): Restore old global/local
5910 attribute override order. Use inline loop instead of calling
5911 default_face_vector.
5912
91a211b5
GM
59132000-09-07 Gerd Moellmann <gerd@gnu.org>
5914
5915 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5916 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5917 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5918 where necessary, in case POINTER_TYPE is `void'.
5919
03419440
EZ
59202000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5921
5922 * frame.c (make_terminal_frame): Initialize frame foreground and
5923 background colors to unspecified, for the initial instance of an
5924 MSDOS frame.
5925
f46f845b
GM
59262000-09-07 Gerd Moellmann <gerd@gnu.org>
5927
24f76fbf
GM
5928 * ralloc.c (mmap_find): Fix overlap computation.
5929 (mmap_enlarge): Compute nbytes before trying to find an
5930 overlapping region.
5931
f46f845b
GM
5932 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5933 instead of `!='.
5934
5935 * lread.c (syms_of_lread): Change value of regexp
5936 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5937
5938 * xmenu.c (xdialog_show): When looking up the selection in
5939 menu_items, take `quote' boundaries into account; this corresponds
5940 to a nil ITEM in x-popup-dialog.
5941
3c014385
KH
59422000-09-07 Kenichi Handa <handa@etl.go.jp>
5943
fd6f711b
KH
5944 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5945 not 0x81.
5946 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5947
3c014385 5948 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5949 encoding, not decoding. Fix the handling of latin-jisx0201.
5950 Check for the charset katakana-jisx0201 too.
3c014385 5951 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5952 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5953
0da3ecef
GM
59542000-09-07 Gerd Moellmann <gerd@gnu.org>
5955
ab0ee409
GM
5956 * xfaces.c (Vparam_value_alist): New variable.
5957 (syms_of_xfaces): Initialize it.
5958 (Finternal_set_lisp_face_attribute): Avoid more consing.
5959
5960 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5961 specially.
5962 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5963 (Qbackground_mode): New variable.
5964 (syms_of_frame_1): Initialize Qbackground_mode.
5965
5966 * lisp.h (Qdisplay): Declare extern.
1091dd67 5967
0da3ecef
GM
5968 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5969 change face on all frames, and change the default for new frames.
5970
b14654b9
DL
59712000-09-07 Dave Love <fx@gnu.org>
5972
5973 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5974
d24fd56f
KH
59752000-09-07 Kenichi Handa <handa@etl.go.jp>
5976
794f3670
KH
5977 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5978
0fddd0dc
KH
5979 * charset.c: Include composite.h
5980 (lisp_string_width): New function.
5981 (Fstring_width): Call lisp_string_width instead of strwidth.
5982
5983 * Makefile.in (charset.o): Depends on composite.h.
5984
d24fd56f
KH
5985 * process.c (read_process_output): Before inserting the decoded
5986 text in the buffer, adjust the multibyteness.
5987
fa0b693c
GM
59882000-09-06 Gerd Moellmann <gerd@gnu.org>
5989
52283633 5990 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5991 buffer's text buffer is null, map new memory.
5992
0a58f946
GM
5993 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5994 POINTER_TYPE and size_t.
5995 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5996 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5997 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5998 [REL_ALLOC_MMAP]: New macros.
5999 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6000 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6001 [REL_ALLOC_MMAP]: New functions.
6002
6003 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6004 before and after unexec.
6005
6006 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6007 text buffers if necessary.
6008
6009 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6010 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6011 in prototypes.
6012
fa0b693c
GM
6013 * config.in (HAVE_MMAP): Add #undef.
6014
877055f6
GM
60152000-09-05 Gerd Moellmann <gerd@gnu.org>
6016
08ba3862
GM
6017 * frame.c (Qdisplay_type): New variable.
6018 (syms_of_frame_1): Initialize it.
6019 (Fframe_parameter): New function that avoids consing.
6020 (syms_of_frame): Defsubr it.
6021
66ffe51c
GM
6022 * buffer.c (Fother_buffer): Consider buffers as invisible when
6023 they are displayed in a window on an invisible frame.
6024
877055f6
GM
6025 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6026 get-largest-window always return nil.
6027
bb970e67
GM
60282000-09-04 Gerd Moellmann <gerd@gnu.org>
6029
6030 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6031 variable; recognize Emacs 19 elc files.
6032
7a3d0e0e
MB
60332000-09-04 Miles Bader <miles@gnu.org>
6034
6035 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6036 before initially popping up the menu, so the menu doesn't flash
52283633 6037 when the face settings are significantly different from the defaults.
7a3d0e0e 6038
14473664
SM
60392000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6040
6041 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6042 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6043 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6044 (BIT_UNIBYTE): Remove.
6045 (re_match_2_internal): Delete corresponding code and streamline the
6046 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6047 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6048 (re_wctype_t): New type.
6049 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6050 (regex_compile): Use them and fix handling of overly long char classes.
6051
c1174479
AI
60522000-09-03 Andrew Innes <andrewi@gnu.org>
6053
f8803e97
AI
6054 * makefile.w32-in: Change to DOS line endings.
6055
c1174479
AI
6056 * s/ms-w32.h (ORDINARY_LINK): New define.
6057
6058 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6059 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6060
6061 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6062 (distclean): Delete them here instead.
6063
44ef7cf6
AI
6064 * w32proc.c (compare_env): Convert to uppercase for comparison,
6065 not lowercase, to match how the native Windows shell works.
6066
49b3bd82
JR
60672000-09-03 Jason Rumney <jasonr@gnu.org>
6068
6069 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6070 CVS changes the line-ends when checking in/out on DOS/Windows.
6071
6072 * makefile.nt (emacs): Do not change directory to run temacs, as
6073 the load-path is set relative to current directory.
6074
a3d35a39
MB
60752000-09-03 Miles Bader <miles@gnu.org>
6076
6077 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6078
d276b0cf
GM
60792000-09-02 Gerd Moellmann <gerd@gnu.org>
6080
715e84c9
GM
6081 * xdisp.c (redisplay_mode_lines): New function.
6082 (display_mode_lines): Return number of mode lines displayed.
6083 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6084 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6085
8892f40b
GM
6086 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6087 string.h and strings.h.
6088 (index) [HAVE_INDEX]: Add prototype.
6089
d276b0cf
GM
6090 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6091 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6092
6093 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6094 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6095
38404229
GM
60962000-09-01 Gerd Moellmann <gerd@gnu.org>
6097
6098 * lread.c (read1): Accept `?' as symbol constituent, for
6099 compatiblity with XEmacs.
6100
c0f9ea08
SM
61012000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6102
6103 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6104 (struct re_pattern_buffer): Remove newline_anchor.
6105 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6106 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6107 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6108 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6109 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6110 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6111 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6112 Get rid of references to newline_anchor.
6113 (regcomp): Allocate and precompute a fastmap.
6114
8c0f83fe
GM
61152000-08-31 Gerd Moellmann <gerd@gnu.org>
6116
6117 * lread.c (openp): GCPRO local variable `filename'.
6118
4bb91c68
SM
61192000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6120
6121 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6122
6123 * regex.c: Merge some changes from GNU libc. Add prototypes.
6124 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6125 Use memcmp and memcpy instead of bcopy and bcmp.
6126 (init_syntax_once): Use ISALNUM.
6127 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6128 (REG_UNSET_VALUE): Remove. Use NULL instead.
6129 (REG_UNSET, re_match_2_internal): Use NULL.
6130 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6131 New macros.
6132 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6133 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6134 (regex_compile): In handle_interval, return an error rather than try to
6135 unfetch the interval if we can't find the closing brace.
6136 Obey the RE_NO_GNU_OPS syntax bit.
6137 (TOLOWER): New macro.
6138 (regcomp): Use it.
6139 (regexec): Allocate regs.start and regs.end as one block.
6140
5226a931
GM
61412000-08-30 Gerd Moellmann <gerd@gnu.org>
6142
868dd24b
GM
6143 * xdisp.c (echo_area_display): Check display_completed instead
6144 of calling detect_input_pending.
6145
6146 * dispnew.c (update_frame): Only set display_completed here; move
6147 the update_begin and update_end calls here from update_frame_1.
6148 (update_frame_1): Don't set display_completed here, don't call
6149 update_begin/update_end.
6150
5226a931
GM
6151 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6152 instead of store_frame_param.
6153
2a8bd25f
GM
61542000-08-29 Gerd Moellmann <gerd@gnu.org>
6155
6156 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6157 desired window matrix hasn't been displayed, use the current row
6158 instead. Make sure that only those frame rows are updated for
6159 which there exists a corresponding enabled desired row.
52283633 6160
ba3478d9
MB
61612000-08-29 Miles Bader <miles@gnu.org>
6162
6163 * xfaces.c (default_face_vector): New function.
6164 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6165
87d0f685
GM
61662000-08-29 Gerd Moellmann <gerd@gnu.org>
6167
6168 * lread.c (openp): Prevent temporary string passed to
6169 Ffile_readable_p from being garbage collected.
6170
6fa86045
DL
61712000-08-28 Dave Love <fx@gnu.org>
6172
6173 * keymap.c (store_in_keymap): Add `static' to declaration.
6174
bb17930d
GM
61752000-08-28 Gerd Moellmann <gerd@gnu.org>
6176
6177 * emacs.c, callint.c, doc.c, editfns.c
6178 (toplevel) [HAVE_STRING_H]: Include string.h.
6179 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6180 (index): Remove prototypes which might conflict with non-standard
6181 definitions of index/strchr.
6182
6183 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6184 (rindex): Define only if !HAVE_RINDEX.
6185
6186 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6187
6188 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6189
87188200
MB
61902000-08-28 Miles Bader <miles@gnu.org>
6191
6192 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6193 made inconsistent by a font-related attribute in FROM.
6194 (merge_face_inheritance): Add function comment.
6195
41a68aef
KH
61962000-08-28 Kenichi Handa <handa@etl.go.jp>
6197
6198 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6199 the 4th arg (PREV_EVENT) Qt to suppress input method.
6200
f7c436c1
SM
62012000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6202
0b32bf0e
SM
6203 * regex.c: Indent cpp directives and remove parens after `defined'.
6204 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6205 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6206 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6207 (re_compile_pattern): Use size_t for length.
6208 (init_syntax_once): Move to a better place.
6209 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6210 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6211
f7c436c1
SM
6212 * syntax.c (back_comment): Detect cases where a comment-starter is
6213 actually inside another comment as in: /* a // b */ c // d \n.
6214 Make it clear that `comstart_pos' is unused for nested comments.
6215
6216 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6217 (KEYMAPP): New macro.
6218 (Fkeymap_parent, Fset_keymap_parent): Use it.
6219 (fix_submap_inheritance): Mark it static.
6220 (define_as_prefix, describe_buffer_bindings, describe_command)
6221 (describe_translation, describe_map): Complete prototypes.
6222
6223 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6224
6225 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6226 to better match the key-lookup behavior.
6227
6288c62f
GM
62282000-08-27 Gerd Moellmann <gerd@gnu.org>
6229
6230 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6231 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6232
e931344e
EZ
62332000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6234
6235 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6236 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6237 (xterm.o): Depend on coding.h
6238
d10dfeef
KH
62392000-08-26 Kenichi Handa <handa@etl.go.jp>
6240
6241 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6242 the corresponding '#endif'.
6243
2d73e8d3
MB
62442000-08-26 Miles Bader <miles@gnu.org>
6245
6246 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6247 * xfaces.c (QCinherit): New variable.
6248 (syms_of_xfaces): Initialize it.
6249 (LFACE_INHERIT): New macro.
6250 (Finternal_get_lisp_face_attribute)
52283633 6251 (merge_face_vector_with_property)
2d73e8d3
MB
6252 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6253 (check_lface_attrs): Allow new types of face height. Check
6254 inherit attribute.
6255 (CYCLE_CHECK): New macro.
6256 (merge_face_inheritance): New function.
6257 (merge_face_vectors): Merge inherited faces too. Add F and
6258 CYCLE_CHECK arguments.
6259 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6260 (lookup_named_face, lookup_derived_face, realize_named_face)
6261 (face_at_string_position, face_at_buffer_position): Supply
6262 new F and CYCLE_CHECK arguments to merge_face_vectors.
6263 (merge_face_heights): New function.
52283633 6264 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6265 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6266 handle relative face heights.
6267 (lface_same_font_attributes_p): Compare heights using EQ.
6268
6ce974d4
KH
62692000-08-26 Kenichi Handa <handa@etl.go.jp>
6270
6271 * charset.c (char_to_string): Check the character validity.
52283633 6272 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6273
dc1e502d
SM
62742000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6275
6276 * regex.c (PUSH_FAILURE_COUNT): New macro.
6277 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6278 Handle popping of a register's or a counter's data.
6279 (POP_FAILURE_POINT): Use the new name.
6280 (re_match_2_internal): Push counter data on the stack for succeed_n,
6281 jump_n and set_number_at and remove misleading dead code in succeed_n.
6282
bd9d0f3f
GM
62832000-08-25 Gerd Moellmann <gerd@gnu.org>
6284
6285 * xdisp.c (redisplay_internal): If considering all windows on all
6286 frames, update the display for each frame as soon as possible,
6287 instead of first building all desired matrices for all frames, and
6288 then updating them all.
6289 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6290
aa5b8e15
GM
62912000-08-24 Gerd Moellmann <gerd@gnu.org>
6292
17494071
GM
6293 * bytecode.c (mark_byte_stack): Add a comment.
6294
52283633
SM
6295 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6296 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6297 a graphical frame.
6298
c543db81
KH
62992000-08-24 Kenichi Handa <handa@etl.go.jp>
6300
d246d5f5
KH
6301 * minibuf.c (do_completion): Always use compare-string, not
6302 string-equal because the latter doesn't pay attention to
6303 multibyteness of strings.
6304
c543db81
KH
6305 * process.c (create_process): Don't setup raw-text coding here.
6306 (Fopen_network_stream): Don't set coding->src_multibyte and
6307 coding->dst_multibyte here.
6308 (read_process_output): For process filter, return unibyte string
6309 if default-enable-multibyte-characters is nil.
6310 (send_process): If OBJECT is multibyte text, be sure to encoded it
6311 by the specified coding system for the process. Otherwise, setup
6312 raw-text coding.
52283633 6313 (init_process): Don't initialize default-process-coding-system here.
c543db81 6314
9b47cfe0
EZ
63152000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6316
6317 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6318 <scroll-down-aggressively>: Likewise.
6319
f5a36960
KH
63202000-08-23 Kenichi Handa <handa@etl.go.jp>
6321
6322 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6323 zero. Set coding->produced_char correctly.
6324
69a7ffa7
AI
63252000-08-22 Andrew Innes <andrewi@gnu.org>
6326
6327 * makefile.w32-in: New file.
6328
6329 * unexw32.c (unexec): Ignore old_name, and use the actual location
6330 of the current executable instead. Base new_name on this.
6331
6332 * w32proc.c (create_child): Remove reference to security
6333 descriptor, which isn't needed and doesn't compile with mingw32.
6334
6335 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6336 up dllimport attributes.
6337 (x_update_window_end): Update prototype.
6338
6339 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6340 extern, which screws up dllimport attributes.
6341
6342 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6343 up dllimport attributes.
6344
6345 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6346 screws up dllimport attributes.
6347
6348 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6349 up dllimport attributes.
6350 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6351 screws up dllimport attributes.
6352
6353 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6354 up dllimport attributes.
6355
6356 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6357 screws up dllimport attributes.
6358
6359 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6360 screws up dllimport attributes.
6361
6362 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6363 up dllimport attributes.
6364
6365 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6366 unnecessary extern, which screws up dllimport attributes.
6367 (main): Ditto.
6368
6369 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6370 up dllimport attributes.
6371
6372 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6373 unnecessary extern, which screws up dllimport attributes.
6374
6375 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6376 screws up dllimport attributes.
6377
6378 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6379 up dllimport attributes.
6380
6381 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6382
52283633
SM
6383 * w32bdf.c (search_file_line):
6384 (set_bdf_font_info):
6385 (seek_char):
6386 (w32_get_bdf_glyph):
69a7ffa7
AI
6387 (w32_BDF_to_x_font): Fix compile warnings.
6388
52283633 6389 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6390
6391 * w32select.c: Include keyboard.h before frame.h.
6392
6393 * w32fns.c (max): Define macro.
6394 (JOHAB_CHARSET): Define if not known.
6395 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6396 (Fx_show_tip): Synch with X version.
6397
6398 * w32xfns.c: Include keyboard.h before frame.h.
6399
6400 * w32fns.c: Include keyboard.h before frame.h.
6401
6402 * w32term.c: Include keyboard.h before frame.h.
6403
6404 * fontset.c: Include keyboard.h before frame.h.
6405
6406 * w32inevt.c: Include keyboard.h before frame.h.
6407 (MOUSE_MOVED): Define if not known.
6408
6409 * minibuf.c: Include keyboard.h before frame.h.
6410
6411 * keyboard.c: Include keyboard.h before frame.h.
6412
6413 * indent.c: Include keyboard.h before frame.h.
6414
6415 * dispnew.c: Include keyboard.h before frame.h.
6416
6417 * buffer.c: Include keyboard.h before frame.h.
6418
6419 * alloc.c: Include keyboard.h before frame.h.
6420
6421 * print.c: Include keyboard.h before frame.h.
6422
6423 * process.c: Include keyboard.h before frame.h.
6424
6425 * scroll.c: Include keyboard.h before frame.h.
6426
6427 * sysdep.c: Include keyboard.h before frame.h.
6428
6429 * term.c: Include keyboard.h before frame.h.
6430
6431 * window.c: Include keyboard.h before frame.h.
6432
6433 * xdisp.c: Include keyboard.h before frame.h.
6434 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6435
6436 * frame.c: Include keyboard.h before frame.h.
6437
6438 * w32heap.h: Undefine min, max.
6439
6440 * w32gui.h: Undefine min, max.
6441
6442 * unexw32.c: Change PUCHAR to PCHAR.
6443 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6444 (relocate_offset):
6445 (get_section_info):
69a7ffa7
AI
6446 (copy_executable_and_dump_data): Remove unnecessary static defs.
6447 (copy_executable_and_dump_data): Fix compile warnings.
6448
6449 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6450
6451 * w32console.c (min): Define macro.
6452 (clear_frame, write_glyphs): Fix compile warning.
6453
52283633 6454 * w32proc.c (compare_env):
69a7ffa7
AI
6455 (find_child_console): Fix compile warning.
6456
6457 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6458 sys_errlist instead of _sys_errlist.
6459 (get_emacs_configuration_options): New function.
6460
6461 * s/ms-w32.h (sys_nerr): Provide default definition.
6462 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6463 name with _ prepended.
6464 (NSIG): Define if not known.
6465 (get_emacs_configuration): Provide extern declaration.
6466 (get_emacs_configuration_options): Provide extern declaration.
6467 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6468
6469 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6470 (map_w32_filename):
69a7ffa7
AI
6471 (read_unc_volume): Fix compile warning.
6472
6473 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6474 definitions from being used.
6475
6476 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6477
52283633 6478 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6479 (open_unc_volume): Make arg const.
6480
6481 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6482 (read_input_waiting): Remove excess parameter.
6483
6484 * w32.c (init_environment): Call _access.
6485 (check_windows_init_file): Call _close.
6486 (init_user_info): Call _putenv.
6487 (init_environment): Call _putenv and _strdup.
6488 (init_ntproc): Reset volume info cache on startup.
6489
6490 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6491 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6492 cannot override the CRT malloc.
6493
6494 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6495 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6496
6497 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6498 unless we are linking with a static CRT.
6499 (RVA_TO_PTR): Cast result to unsigned char*.
6500
6501 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6502 (add_volume_info): Use xstrdup.
6503
25060080
SM
65042000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6505
6506 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6507 (do_completion, Fminibuffer_complete_word): Use it.
6508 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6509 var so it can take non-boolean values.
6510
6917e6bb
GM
65112000-08-21 Gerd Moellmann <gerd@gnu.org>
6512
acb7cc89 6513 * editfns.c (find_field): Formatting changes.
52283633 6514 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6515 changed to prototypes, some new protypes added, some functions
6516 made static.
6517
6518 * lisp.h (set_time_zone_rule): Add prototype.
6519 (use_dialog_box): External declaration.
6520
0bbfdc25
GM
6521 * keyboard.c (gen_help_event): Add parameter SIZE.
6522 (kbd_buffer_events_waiting): Slightly rewritten.
6523 (clear_event): New function.
6524 (kbd_buffer_get_event): Use it, and clear the input_events of
6525 HELP_EVENTs.
6526 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6527 don't fill the newly created array with nils.
6528 (toplevel): Convert some old-style function forward declarations
6529 to prototypes.
6530
6531 * keyboard.h (gen_help_event): Change prototype.
6532
6533 * xterm.c (XTread_socket): Change calls to gen_help_event.
6534
6535 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6536
6917e6bb
GM
6537 * eval.c (Fmacroexpand): Doc fix.
6538
e5cd3d11
JR
65392000-08-20 Jason Rumney <jasonr@gnu.org>
6540
6541 * w32term.h (x_display_info_for_display): Remove as this function
6542 does not exist on W32.
6543
6544 * w32term.c (help_echo_window): New variable.
6545 (syms_of_w32term): staticpro it.
6546 (note_mode_line_highlight): Set it.
6547 (XTextExtents16): Removed as there is no equivalent on W32.
6548 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6549 the X way of doing this will not work for W32.
6550 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6551 (x_draw_image_foreground): Avoid drawing outside of the clip area
6552 when image doesn't have a mask.
6553 (note_mouse_highlight): Process overlays in the right order of
6554 priority. Set help_echo_window.
6555 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6556 because that's more visible for large images.
6557
6558 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6559 name to single_keymap_panes.
6560 (w32_menu_show): Set wv->title when dealing with titles.
6561 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6562
6e69ab8c
MB
65632000-08-21 Miles Bader <miles@gnu.org>
6564
6565 * minibuf.c (do_completion): Try again if we rewrite the input
6566 string, but no completion was done, so that any completion message
6567 will be correct.
6568
511bd4eb
GM
65692000-08-20 Gerd Moellmann <gerd@gnu.org>
6570
6571 * xfaces.c (lface_equal_p): Compare strings differently.
6572 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6573 (realize_tty_face): Use them.
6574 (syms_of_xfaces): Initialize new variables.
6575 (map_tty_color): New function, extracted from realize_tty_face.
6576 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6577 foreground or background color, store the new color name in the
6578 realized face; previous code trying to do this had no effect.
6579 (realize_tty_face): Use map_tty_color.
6580 (Fclear_face_cache): Set face_change_count and ensure thorough
6581 redisplay.
6582
1433385f
GM
65832000-08-19 Gerd Moellmann <gerd@gnu.org>
6584
511bd4eb
GM
6585 * undo.c (record_first_change, record_marker_adjustment): Don't
6586 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6587
419ac0a2
KH
65882000-08-18 Kenichi Handa <handa@etl.go.jp>
6589
6590 * coding.c (decode_coding_string): Set members consumed,
6591 consumed_char, produced, produced_char of *coding correctly. If
6592 decode_coding doesn't consume any byte, don't try anymore.
6593 (encode_coding_string): Likewise.
6594
7eb9e30d
GM
65952000-08-18 Gerd Moellmann <gerd@gnu.org>
6596
511bd4eb
GM
6597 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6598 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6599
6600 * xdisp.c (redisplay_internal): Compare windows for equality with
6601 EQ, instead of applying XWINDOW to something that might not
6602 be a window.
52283633 6603
dd34a735
KH
66042000-08-18 Kenichi Handa <handa@etl.go.jp>
6605
6606 * fontset.c (Finternal_char_font): Search only the selected frame
6607 for a window of the current buffer.
6608
385ff9e3
GM
66092000-08-18 Gerd Moellmann <gerd@gnu.org>
6610
511bd4eb 6611 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6612 Lisp_Objects.
6613
385ff9e3
GM
6614 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6615 second half of a HELP_EVENT is found at the start of kbd_buffer.
6616
d6abb4c7
MB
66172000-08-18 Miles Bader <miles@gnu.org>
6618
4618074a
MB
6619 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6620
d6abb4c7
MB
6621 * editfns.c (save_restriction_save): Rewrite to use markers.
6622 (save_restriction_restore): Rewrite to understand new form of data
6623 saved by save_restriction_save.
6624 (Fsave_restriction): Remove cautionary note in doc-string.
6625
a7b28523
GM
66262000-08-17 Gerd Moellmann <gerd@gnu.org>
6627
6628 * fileio.c (build_annotations): Add a comment explaining the
6629 return value of format-annotate-function. Replace a spurious call
6630 to Flength with a CONSP test. Call format-annotate-function with
6631 a fifth arg specifying how many times the function is been called
6632 in a row, to let it choose temporary buffers appropriately.
6633
03c9ed77
DL
66342000-08-17 Dave Love <fx@gnu.org>
6635
6636 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6637 declare make_temp_name twice.
6638
52283633 6639 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6640 (unreadpure): Give it an arg.
6641
6642 * unexalpha.c: Prototype fatal_unexec, mark_x,
6643 update_dynamic_symbols. Declare unexec as void.
6644
6645 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6646 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6647
6648 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6649 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6650
6651 * alloca.c: Use #error.
6652 [POINTER_TYPE]: Use it.
6653
6654 * eval.c (Fdefvar): Doc fix.
6655
6656 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6657 INITIALIZE_INTERVAL.
6658
6659 * buffer.h: Avoid DECLARE_INTERVALS.
6660
6661 * config.in: Add size_t.
6662
aae41d97
EZ
66632000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6664
6665 * w16select.c (set_clipboard_data): If there's not enough memory
6666 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6667 expects. In case of other failures, return 3.
6668 (system_error_msg): New error message.
6669 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6670 system_error_msg.
6671
65aa5e85
GM
66722000-08-16 Gerd Moellmann <gerd@gnu.org>
6673
6674 * term.c (write_glyphs): Also turn off inverse video after turning
6675 off other appearances in case TS_exit_attribute_mode is not equal
6676 to TS_end_standout_mode.
6677 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6678 with the same face.
6679 (turn_off_face): Reset standout_mode only if
6680 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6681 is equal to TS_end_standout_mode.
6682
ece23901
KH
66832000-08-16 Kenichi Handa <handa@etl.go.jp>
6684
9d7bcb2e
KH
6685 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6686 sequence at the end of the source block.
6687
ece23901
KH
6688 * ccl.c (Fccl_program_p): Docstring modified.
6689 (Fccl_execute): Likewise.
6690 (Fccl_execute_on_string): Likewise.
6691
5e30eaa2
EZ
66922000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6693
6694 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6695
290602fd
KH
66962000-08-16 Kenichi Handa <handa@etl.go.jp>
6697
6698 The following changes are mainly to fix bugs of
6699 encode/decode-coding-string failing if encoding/decoding return
6700 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6701 variable conversion_buffer.
6702
6703 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6704 decrement dst_end to avoid buffer overflow in the later call of
6705 string_as_multibyte
6706
6707 * coding.h (conversion_buffer_size, conversion_buffer)
6708 (get_conversion_buffer): Extern deleted.
6709
6710 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6711 (conversion_buffer, conversion_buffer_size): Variables deleted.
6712 (get_conversion_buffer): Function deleted.
6713 (struct conversion_buffer): New structure.
6714 (MAX_ALLOCA): New macro.
6715 (allocate_conversion_buffer): New macro.
6716 (extend_conversion_buffer, free_conversion_buffer): New functions.
6717 (ccl_coding_driver): Set coding->result.
6718 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6719 this is the last block of source.
6720 (encode_coding): Likewise. Handle the source block as the last
6721 one only when the whole source text is consumed.
6722 (decode_coding_string): Handle the case that the output buffer is
6723 too small to decode the whole source text. Use
6724 allocate_conversion_buffer, extend_conversion_buffer and
6725 free_conversion_buffer, not get_conversion_buffer.
6726 (encode_coding_string): Likewise.
6727 (init_coding): Function deleted.
52283633 6728 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6729
6730 * emacs.c (main): Don't call init_coding.
6731
52283633 6732 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6733
6734 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6735 (insert_glyphs): Likewise.
6736
6737 * w32console.c (write_glyphs): Use a locally declared
6738 conversion_buffer.
6739
b9f80d41
EZ
67402000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6741
6742 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6743 member of display_info is NULL.
6744
32dc52f7
GM
67452000-08-15 Gerd Moellmann <gerd@gnu.org>
6746
52283633 6747 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6748
32dc52f7 6749 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6750 appearances with capability `me'.
32dc52f7
GM
6751 (write_glyphs): Switch on inverse video before each face change.
6752
4eb22d33
DL
67532000-08-14 Dave Love <fx@gnu.org>
6754
6755 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6756 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6757 (lisp_free): Declare and make static.
6758
6759 * window.c: Fix embedded comment.
6760 (syms_of_window): Fix doc string.
6761
90cbf47e
GM
67622000-08-14 Gerd Moellmann <gerd@gnu.org>
6763
52283633 6764 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6765 make sure to print `C-' before `M-', like in the manual.
6766
440fc135
GM
67672000-08-11 Gerd Moellmann <gerd@gnu.org>
6768
6769 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6770 since they aren't relocated anymore.
52283633 6771 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6772
6773 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6774 partially visible line which is smaller than the window's height.
440fc135 6775
6e264fad
KH
67762000-08-11 Kenichi Handa <handa@etl.go.jp>
6777
6778 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6779 the multibyte form of eight-bit-control characters.
6e264fad
KH
6780 (Fccl_execute_on_string): Initialize ccl->multibyte.
6781
6782 * ccl.h (struct ccl_program): New member multibyte.
6783
6784 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6785
c371f69a
KH
67862000-08-11 Kenichi Handa <handa@etl.go.jp>
6787
6788 * regex.c (regex_compile) <normal_char>: Pay attention to
6789 multibyteness.
6790 (analyse_first) <exactn>: Setup fastmap correctly for
6791 eight-bit-control characters.
6792
67932000-08-11 Kenichi Handa <handa@etl.go.jp>
6794
52283633 6795 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6796
6797 * keyboard.c (make_lispy_event): Handle the new event type
6798 multibyte_char_keystroke.
6799
6800 * xterm.c: Include coding.h.
6801 (XTread_socket): Work around a bug of XmbLookupString. If the
6802 input is from XIM, decode it according to the current locale. In
6803 that case, generate multibyte_char_keystroke events.
6804
b8ddbe71
KH
68052000-08-11 Kenichi Handa <handa@etl.go.jp>
6806
6807 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6808 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6809
47589c8c
GM
68102000-08-10 Gerd Moellmann <gerd@gnu.org>
6811
6812 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6813 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6814 (move_it_in_display_line_to): Record iterator's ascent and descent
6815 before producing glyphs, and restore them when we know the glyph
6816 doesn't fit on the line.
6817 (move_it_to): Restructured so that it's easier to debug. If
6818 moving to a vpos, and not moving to an x or character position,
6819 stop as soon as the specified vpos is reached; don't move further
6820 into that line because that might change the computed line height.
6821 (try_cursor_movement): New function, extracted from the cursor
6822 movement branch of redisplay_window. If ending on a partially
6823 visible line, don't try to scroll if the cursor line is taller
6824 than the window.
6825 (redisplay_window): Use try_cursor_movement.
6826
6827 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6828 because that function doesn't cope with variable-height lines.
6829
6830 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6831 box cursor because that's better visible for large images.
52283633 6832
c51bacd6
MB
68332000-08-10 Miles Bader <miles@gnu.org>
6834
6835 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6836
bea56df7
GM
68372000-08-10 Gerd Moellmann <gerd@gnu.org>
6838
6839 * xdisp.c (Vmessages_buffer_name): New variable.
6840 (message_dolog): Use it.
6841 (syms_of_xdisp): Initialize it.
6842
99cd7364
EZ
68432000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6844
52283633 6845 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6846 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6847 redundant now that keyboard.h is included.
6848
7d093d56
EZ
68492000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6850
6851 * keyboard.c (kbd_buffer_events_waiting): New function.
6852
6853 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6854
6855 * msdos.c: Include keyboard.h.
6856 (XMenuActivate): Empty no_event events from the event buffer. If
6857 no events are left after that, call clear_input_pending.
6858 (mouse_clear_clicks): New function, code moved from mouse_init.
6859 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6860 mouse driver to ``forget'' any past clicks.
6861
6862 * Makefile.in (msdos.o): Depend on keyboard.h.
6863
41e757a6
GM
68642000-08-09 Gerd Moellmann <gerd@gnu.org>
6865
8e7bd231
GM
6866 * lisp.h (input_pending): External declaration.
6867
6868 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6869
8e7bd231
GM
6870 * xdisp.c (echo_area_display): Display thoroughly if input is
6871 pending. Bind redisplay-dont-pause to t during the redisplay.
6872 in case input is pending.
6873
6874 * dispnew.c (Qredisplay_dont_pause): New variable.
6875 (syms_of_display): Initialize and staticpro it.
6876 (update_frame_1): Don't interrupt the display for pending input if
6877 redisplay_dont_pause is set.
52283633 6878
43028b7e
GM
6879 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6880
41e757a6
GM
6881 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6882
2f2174fa
KH
68832000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6884
6885 * callproc.c (Fcall_process): Terminate the unwind-protect around
6886 the post-read-conversion of coding system.
6887
0a6fd67e
MB
6888 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6889 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6890 * buffer.h (overlays_at): Update prototype.
6891 * xdisp.c (next_overlay_change): Update call to overlays_at.
6892 * xfaces.c (face_at_buffer_position): Likewise.
6893 * textprop.c (Fget_char_property): Likewise.
6894 * xterm.c (note_mouse_highlight): Likewise.
6895
0c80756e
MB
6896 * minibuf.c (do_completion): Don't consider a simple change of
6897 case as `completion'.
6898
975f250a
KR
68992000-08-08 Ken Raeburn <raeburn@gnu.org>
6900
52283633 6901 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6902 * undo.c (record_delete): Make sure last_point_position_buffer is
6903 a buffer before comparing pointers.
6904
6905 * coding.h (decode_coding_string): Declare.
6906
6907 * intervals.h (Fprevious_single_char_property_change): Declare.
6908
6909 * textprop.c (Fprevious_single_char_property_change): Don't do
6910 arithmetic directly on lisp objects.
6911
52283633 6912 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6913
6914 * keyboard.h (menu_item_eval_property): Declare.
6915
6916 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6917 reuse as buffer name, instead of recreating (and discarding) every
6918 time a message is logged.
6919 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6920 (current_message_1, truncate_message_1, set_message_1)
6921 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6922 (current_message, truncate_echo_area, display_echo_area)
6923 (resize_echo_area_axactly): Changed calls.
b347b3fd 6924
975f250a 6925 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6926 Lisp object.
975f250a 6927 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6928 must be an integer, not a Lisp object.
975f250a 6929
46dc9912
KH
69302000-08-08 Kenichi Handa <handa@etl.go.jp>
6931
6932 * charset.c (Fchar_width): Doc fix.
6933
9f6d1a6c
GM
69342000-08-08 Gerd Moellmann <gerd@gnu.org>
6935
6936 * charset.c (Fstring_width): Doc fix.
6937
ff3d9573
GM
69382000-08-07 Gerd Moellmann <gerd@gnu.org>
6939
41e757a6 6940 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6941 line, clear ascent and descent members of the iterator structure;
6942 the height of the continued line does not affect the height of the
6943 continuation line.
6944 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6945 line taller than the window.
6946 (redisplay_window) <forced window start>: Handle case that the
6947 middle of the window is not found in any row.
6948 (dump_glyph_row): Show more information.
6949 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6950 first text line in a glyph matrix.
6951
6952 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6953 of the clip area when image doesn't have a mask.
6954
70fc58b3
GM
6955 * fns.c (sweep_weak_table): Fix survival conditions for
6956 key-or-value and key-and-value weakness.
6957
6958 * .gdbinit (xhashtable): New command.
6959
ac0e96ee
GM
6960 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6961 tables out of the list of all weak hash tables.
6962
ff3d9573
GM
6963 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6964 a new buffer is created, make sure echo_area_buffer[] references
6965 the new buffer.
6966
e0d8827b
EZ
69672000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6968
6969 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6970 the doc string.
6971
c6f35378
KH
69722000-08-07 Kenichi Handa <handa@etl.go.jp>
6973
6974 * syntax.c (skip_chars): Fix previous change. Make the handling
6975 of unibyte string consistent with that of regex search.
6976
1fd4c450
GM
69772000-08-05 Gerd Moellmann <gerd@gnu.org>
6978
e49aa397
GM
6979 * xmenu.c (popup_get_selection): Use xfree instead of free.
6980
6981 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6982
6983 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6984
6985 * callproc.c (child_setup): Use xfree instead of free.
6986
6987 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6988 instead of malloc.
6989 (run_mac_command, closedir): Use `xfree' instead of `free'.
6990
6991 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6992
6993 * eval.c (error): Use xfree instead of free.
6994
1fd4c450
GM
6995 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6996
6997 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6998 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6999
82d497fc
KH
70002000-08-05 Kenichi Handa <handa@etl.go.jp>
7001
7002 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7003 conversion.
7004
59f953a2
NF
70052000-08-04 Noah Friedman <friedman@splode.com>
7006
7007 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7008 docstring.
7009
688351f2
GM
70102000-08-04 Gerd Moellmann <gerd@gnu.org>
7011
7012 * syntax.c (skip_chars): Fix typo in error message.
7013
2dad51cc
AS
70142000-08-04 Andreas Schwab <schwab@suse.de>
7015
7016 * m/ia64.h: Moved from s/ia64.h.
7017
99bb2c60
KH
70182000-08-04 Kenichi Handa <handa@etl.go.jp>
7019
082a1df2
KH
7020 * process.c (read_process_output): Big simplification. Handle
7021 composition and post-read-conversion of coding system correctly.
7022 (send_process): Handle composition correctly.
7023
7024 * callproc.c (Fcall_process): Handle post-read-conversion of
7025 coding system if any.
7026
99bb2c60
KH
7027 * coding.c (decode_coding_iso2022): More strict check for handling
7028 single shifting.
082a1df2
KH
7029 (coding_restore_composition): Pay attention to the case that
7030 cmp_data is not set properly (because of invalid code in the
7031 source text).
7032 (run_pre_post_conversion_on_str): Include text properties in the
7033 resulting string.
7034 (decode_coding_string): Set members of coding correctly.
99bb2c60 7035
f4988be7
GM
70362000-08-03 Gerd Moellmann <gerd@gnu.org>
7037
7038 * s/ia64.h: New file.
7039
7040 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7041 Use NULL instead of 0 at the end of variable argument list of
7042 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7043 sizeof (int) < sizeof (void *).
7044
7045 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7046 of variable argument lists of XtVaGetValues and XtVaSetValues.
7047
7048 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7049 variable argument lists of XtVaGetValues and XtVaSetValues.
7050
ead53494
GM
70512000-08-02 Gerd Moellmann <gerd@gnu.org>
7052
7053 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7054 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7055
7056 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7057 prototype.
7058
7059 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7060 in call to Fsingle_key_description.
7061
7062 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7063 Callers changed.
7064
70652000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7066
7067 * window.c (display_buffer_reuse_frames): New variable.
7068 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7069 frames displaying BUFFER.
52283633 7070 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7071
10b0f752
MB
70722000-08-01 Miles Bader <miles@gnu.org>
7073
7074 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7075 when to constrain NEW_POS (they were pretty screwed up before).
7076
16425c4a
EZ
70772000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7078
7079 * msdos.c (run_msdos_command): Save and restore the master
7080 environment, for the case that child_setup signals an error.
7081 When mirroring slashes in DOS shell commands, don't fail when
7082 argv[2] has embedded blanks.
da288c14
EZ
7083 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7084 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7085 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7086
7087 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7088 using alloca; free it after run_msdos_command returns.
7089
27f73852
DL
70902000-07-27 Dave Love <fx@gnu.org>
7091
52283633
SM
7092 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7093 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7094
7095 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7096
c0261b5e
EZ
70972000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7098
7099 * editfns.c (lisp_time_argument): Fix last change.
7100
b548072f
GM
71012000-07-27 Gerd Moellmann <gerd@gnu.org>
7102
3ab82477
GM
7103 * fns.c (Fdelete): Make it work on vectors and strings in addition
7104 to lists.
7105
b548072f
GM
7106 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7107 (syms_of_fns): Initialize new variables.
52283633 7108 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7109 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7110 weakness, with t meaning the same as `key-and-value'.
7111
91ae8751
KH
71122000-07-27 Kenichi Handa <handa@etl.go.jp>
7113
7114 * coding.h (struct coding_system): Member safe_charset deleted.
7115
7116 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7117 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7118 New variables.
91ae8751
KH
7119 (coding_safe_chars): New function.
7120 (CODING_SAFE_CHAR_P): New macro.
7121 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7122 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7123 (detect_coding_iso2022): New local variable safe_chars.
7124 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7125 safe_charsets member of the coding system.
7126 (decode_coding_iso2022): New local variable safe_chars.
7127 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7128 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7129 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7130 (ENCODE_UNSAFE_CHARACTER): New macro.
7131 (encode_coding_iso2022): New local variable safe_chars. Check
7132 unsafe chars.
7133 (setup_coding_system): Delete the code to initialize
7134 coding->safe_charses
7135 (intersection, find_safe_codings): New functions.
7136 (Ffind_coding_systems_region_internal): New function.
7137 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7138 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7139 variable and initialize it.
7140
7141 * fns.c (char_table_ref_and_index): New function.
7142
7143 * lisp.h (char_table_ref_and_index): Add prototype.
7144
34a7a267
SS
71452000-07-26 Sam Steingold <sds@gnu.org>
7146
7147 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7148 (Ffloat_time): New built-in Lisp function.
34a7a267 7149
a95cb10a
GM
71502000-07-26 Gerd Moellmann <gerd@gnu.org>
7151
3353ef5a
GM
7152 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7153 for the character code.
7154
7155 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7156 GNU/Linux.
7157
a95cb10a
GM
7158 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7159 if called for a popup menu.
7160 (xmenu_show): Store help string in widget values.
7161
b4a12321
DL
71622000-07-26 Dave Love <fx@gnu.org>
7163
7164 * syswait.h: Move some definitions.
7165 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7166 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7167 perspicuous definitions.
7168 (WTERMSIG): Fix bit pattern used.
7169
13f5ad37
KH
71702000-07-26 Kenichi Handa <handa@etl.go.jp>
7171
7172 * print.c (print_object): If vector printing is truncated, print
7173 "..." to indicate it as well as the case of list printing.
7174
070fe99c
GM
71752000-07-25 Gerd Moellmann <gerd@gnu.org>
7176
969065c3
GM
7177 * xdisp.c (next_element_from_display_vector): Improve comments.
7178
7179 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7180 for the character code, and the rest for the face id as in 20.x.
7181 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7182
7183 * window.c (window_display_table): Cleaned up.
7184
070fe99c
GM
7185 * syntax.c (Fforward_word): Add last arg nil in call of
7186 Fconstrain_to_field.
7187
bad77ef7
EZ
71882000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7189
969065c3 7190 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7191 identical but for the letter-case, don't call
7192 barf_or_query_if_file_exists.
bad77ef7 7193
c28da489
MB
71942000-07-25 Miles Bader <miles@gnu.org>
7195
7196 * editfns.c (find_field): Honor special `boundary' fields.
7197 (Qboundary): New variables.
7198 (syms_of_editfns): Initialize Qboundary.
7199 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7200 Use scan_buffer instead of find_before_next_newline, because it
7201 allows us to detect the boundary case where there's a newline at
7202 the search limit.
7203 * lisp.h (Fconstrain_to_field): Update external declaration.
7204
e3c31fd5
GM
72052000-07-24 Gerd Moellmann <gerd@gnu.org>
7206
7207 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7208 if that is nil.
c28da489 7209
c66c29a2
DL
72102000-07-24 Dave Love <fx@gnu.org>
7211
7212 * s/sunos4-0.h, s/sol2.h:
7213 (LIBS_TERMCAP): Move from m/sparc.h.
7214
7215 * m/sparc.h (TERMINFO): Moved to system files (probably only
7216 relevant for sunos4 judging by its vintage).
7217 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7218 __arch64__.
7219
fbe0a958
EZ
72202000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7221
7222 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7223 name to single_keymap_panes.
7224
7d88e5c9
AS
72252000-07-24 Andreas Schwab <schwab@suse.de>
7226
7227 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7228
e024b101
GM
72292000-07-24 Gerd Moellmann <gerd@gnu.org>
7230
7231 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7232 parameters instead of using int parameters. Expect FN to accept
7233 EMACS_INT parameters.
7234 (display_echo_area, resize_echo_area_axactly, current_message)
7235 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7236 with new argument list.
7237 (resize_mini_window_1): New callback function.
7238 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7239 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7240
25c1a9ce
KH
72412000-07-24 Kenichi Handa <handa@etl.go.jp>
7242
7243 * fontset.c (fontset_ref): Remove INLINE declaration.
7244 (fontset_ref_via_base): Likewise.
7245 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7246 to downcase.
7247
7f987ac0
EZ
72482000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7249
7250 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7251 correct order of priority. If help echo was found in an overlay,
7252 use that overlay as the object in which the help echo was found.
7253
e2db3069
MB
72542000-07-22 Miles Bader <miles@gnu.org>
7255
7256 * textprop.c (Fprevious_single_char_property_change): The initial
7257 property value should be from the position preceding POSITION, not
7258 following it.
7259
5e3203e4
EZ
72602000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7261
7262 * coding.c (syms_of_coding): Doc fix for
7263 inhibit-iso-escape-detection.
7264
62145073
GM
72652000-07-21 Gerd Moellmann <gerd@gnu.org>
7266
c20aeb83
GM
7267 * xterm.c (note_mouse_highlight): Process overlays in the right
7268 order of priority.
34a7a267 7269
743934db
GM
7270 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7271
7272 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7273 overlay, use that overlay as the object in which the help was found.
743934db 7274
d1dc7e43 7275 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7276
62145073
GM
7277 * window.c (foreach_window): Instead of a fake variable argument
7278 list, take one USER_DATA argument.
7279 (foreach_window_1): Likewise, and call callback functions with two
7280 args, the window and USER_DATA.
7281 (struct check_window_data): New struct.
7282 (check_window_containing): Use it.
7283 (window_from_coordinates): Set up a struct check_window_data for
7284 foreach_window.
7285 (add_window_to_list, freeze_window_start): Change parameters
7286 according to new calling convention.
7287
7288 * window.h (foreach_window): Change prototype.
7289
7290 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7291
72922000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7293
7294 * xmenu.c (menu_help_callback): Call show_help_echo with
7295 additional arguments OBJECT and POS.
7296
11270583
KH
72972000-07-21 Kenichi Handa <handa@etl.go.jp>
7298
07b14857
KH
7299 * data.c (Faset): Allow storing any multibyte character in a
7300 string. Convert unibyte string to multibyte if necessary.
7301
11270583
KH
7302 * xfns.c (x_encode_text): New function.
7303 (x_set_name): Use x_encode_text.
7304 (x_set_title): Likewise.
7305
7306 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7307
7308 * xterm.h (x_encode_text): Add prototype.
7309
bc75b4fd
DL
73102000-07-20 Dave Love <fx@gnu.org>
7311
7312 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7313 xfree, not free.
7314
48c14970
EZ
73152000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7316
7317 * msdos.c (help_echo_window): New variable.
7318 (syms_of_msdos): Initialize and staticpro it.
7319 (IT_note_mode_line_highlight): Set help_echo_window.
7320 (IT_note_mouse_highlight): Ditto.
7321 (dos_rawgetc): Store help_echo_window in the second event produced
7322 for HELP_EVENTs.
7323
7324 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7325 Record the object that generated the help echo and the position of
7326 that object in help_echo_object and help_echo_pos. Record that
7327 some glyphs in a row are displayed in mouse-face.
7328 (IT_update_begin): Don't clear mouse highlight unless one of the
7329 enabled glyph rows is marked as being displayed in mouse-face.
7330 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7331 and position recorded in help_echo_object and help_echo_pos to the
7332 event queue.
7333 (IT_menu_display): Accept a new argument PN: the pane number of
7334 the current menu pane. Record the pane number and the item
7335 number of the item which has associated help string.
7336 (XMenuActivate): Update the prototype for help_callback in
7337 function declaration. Call IT_menu_display with the current menu
7338 pane number as an additional argument. Call help_callback with
7339 two additional arguments: the pane number and the item number of
7340 the menu item associated with the help text.
7341 (help_echo_object, help_echo_pos): New variables.
7342 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7343
7344 * msdos.h (XMenuActivate): Update prototype.
7345
4279296d
GM
73462000-07-19 Gerd Moellmann <gerd@gnu.org>
7347
47db06aa
GM
7348 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7349 Add some more prototypes.
7350
7351 * xterm.c, xterm.h: Add some more prototypes.
7352
7353 * lisp.h (Fnext_single_char_property_change): Add prototype.
7354
7355 * dispnew.c (direct_output_for_insert): Remove confusing
7356 outer local variable mouse_face_overwritten_p.
7357 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7358
4279296d
GM
7359 * alloc.c (allocate_string_data): Don't copy old string contents.
7360
670acd62
KH
73612000-07-19 Kenichi Handa <handa@etl.go.jp>
7362
7363 * coding.c (code_convert_region): Delete text properties before
7364 shrinking the conversion region.
7365
7cea38bc
GM
73662000-07-18 Gerd Moellmann <gerd@gnu.org>
7367
dc1cac59
GM
7368 * dispnew.c (update_text_area): Write the whole row if it
7369 has mouse-face in it.
7370
85a8aca9
GM
7371 * xfaces.c (face-alternative-font-family-alist): Remove
7372 DEFVAR_LISP; staticpro instead.
7373
34a7a267 7374 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7375 new arguments.
7376
7377 * keyboard.c (show_help_echo): Add parameter WINDOW.
7378 (read_char): Call show_help_echo with window extracted from Lisp
7379 help event.
7380 (gen_help_event): Add parameter WINDOW.
7381
7382 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7383
7384 * xterm.c (help_echo_window): New variable.
52283633 7385 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7386 (XTread_socket): Pass help_echo_window to gen_help_event.
7387 (syms_of_xterm): Initialize and staticpro help_echo_window.
7388
f8276b77
DL
73892000-07-18 Dave Love <fx@gnu.org>
7390
52283633 7391 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7392
088831a6
GM
73932000-07-18 Gerd Moellmann <gerd@gnu.org>
7394
3d6cd763
GM
7395 * alloc.c (allocate_string_data): If string had already data
7396 assigned, copy old contents to new string data.
7397
7398 * coding.c (syms_of_coding): Fix typo in spelling of variable
7399 `inhibit-iso-escape-detection'.
7400
088831a6
GM
7401 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7402
7403 * Makefile.in: Add dependencies on dispextern.h.
7404 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7405 `free'; both can conflict with system header files.
7406
bc8a8d55
KH
74072000-07-18 Kenichi Handa <handa@etl.go.jp>
7408
7409 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7410 undefined.
7411
069f5950
DL
74122000-07-18 Dave Love <fx@gnu.org>
7413
7414 * window.c (Fwindow_list): Declare arg `window'.
7415
aa96c820
KH
74162000-07-18 Kenichi Handa <handa@etl.go.jp>
7417
7418 * coding.c (setup_coding_system): Don't override the explicitly
7419 specified designations.
7420
06be8d32
MB
74212000-07-15 Miles Bader <miles@gnu.org>
7422
7423 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7424 from `text_property_eq' and `text_property_stickiness', respectively.
7425 (find_field, Fconstrain_to_field, char_property_eq)
7426 (char_property_stickiness): Changed to call char-property functions
7427 instead of text-property-only ones.
7428
7429 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7430 `next_single_char_property_change'). Do more error checking, and
7431 cleanup limit behavior.
7432 (Fprevious_single_char_property_change): New function.
7433 (syms_of_textprop): Initialize new subrs.
7434
7435 * xdisp.c (display_prop_end, invisible_text_between_p):
7436 Call Fnext_single_char_property_change instead of
7437 next_single_char_property_change.
7438
3fddcdc3
JR
74392000-07-15 Jason Rumney <jasonr@gnu.org>
7440
7441 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7442 after menu is finished with.
7443 (add_menu_item): Only consider wv->title as a menu title.
7444 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7445
7446 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7447 null title.
7448 (FONT_REGEXP): Remove unused macro, and its sub-components.
7449 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7450
7451 * w32term.c (help_echo_object, help_echo_pos): New variables.
7452 (note_mode_line_highlight): Store additional information about the
7453 help-echo in help_echo_object and help_echo_pos. Check both
7454 `local-map' and `keymap' properties for changing the cursor
7455 (note_mouse_highlight): Store additional information about the
7456 help-echo in help_echo_object and help_echo_pos.
7457 (note_tool_bar_highlight): Set help_echo_object to nil and
7458 help_echo_pos to -1.
7459 (w32_read_socket): Use gen_help_event instead of filling
7460 input_events manually.
7461 (syms_of_w32term): Staticpro help_echo_object.
7462 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7463 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7464 (x_clear_mouse_face): New function.
7465 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7466 (x_update_window_begin): No need to turn off the mouse
7467 highlight here.
7468 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7469 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7470 (x_fill_stretch_glyph_string): Consume runs of stretch
7471 glyphs instead of a single one.
7472 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7473 with new argument list.
7474 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7475 (x_append_glyph, x_append_composite_glyph)
7476 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7477 changes in struct glyph starting 1999-12-27. See comments for
7478 xterm.c on 2000-07-05.
7479
178c5d9c
SS
74802000-07-14 Sam Steingold <sds@gnu.org>
7481
7482 * xfaces.c (realize_x_face): Fix the last patch:
7483 check `default_face' before dereferencing.
7484
6fe533f6
DL
74852000-07-14 Dave Love <fx@gnu.org>
7486
069f5950 7487 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7488
dd7b81cf
KH
74892000-07-14 Kenichi Handa <handa@etl.go.jp>
7490
0693904a 7491 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7492 default_face's fontset, not using the default fontset.
0693904a 7493
dd7b81cf
KH
7494 * coding.c (inhibit_iso_escape_detection): New variable.
7495 (syms_of_coding): Make it a Lisp variable.
7496 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7497 nonzero, ignore ISO2022's escape sequence.
7498
d5aa31d8
GM
74992000-07-14 Gerd Moellmann <gerd@gnu.org>
7500
e5acf0ca
GM
7501 * alloca.c (malloc) [emacs]: Define as xmalloc.
7502
bd23a692
GM
7503 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7504 use that instead of the mouse position. Add parameters DX and DY.
7505
7506 * dispextern.h (Fx_show_tip): Adjust number of parameters
7507 in prototype.
7508
9662da0b
GM
7509 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7510 if HELP is a function, call it with OBJECT and POS as parameters
7511 to get the help to display.
7512 (gen_help_event, kbd_buffer_store_help_event): New functions.
7513 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7514 (read_char): Call show_help_echo with new parameters.
7515
178c5d9c 7516 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7517 Add prototypes.
7518
7519 * xterm.c (help_echo_object, help_echo_pos): New variables.
7520 (note_mode_line_highlight): Store additional information about the
7521 help-echo in help_echo_object and help_echo_pos. Check both
7522 `local-map' and `keymap' properties for changing the cursor
7523 (note_mouse_highlight): Store additional information about the
7524 help-echo in help_echo_object and help_echo_pos.
7525 (note_tool_bar_highlight): Set help_echo_object to nil and
7526 help_echo_pos to -1.
7527 (XTread_socket): Use gen_help_event instead of filling
7528 input_events manually.
7529 (syms_of_xterm): Staticpro help_echo_object.
7530
7531 * xmenu.c (menu_highlight_callback): Use
7532 kbd_buffer_store_help_event instead of setting up and input_event
7533 structure manually.
7534
7535 * xdisp.c (eval_form): GCPRO argument sexpr.
7536 (call_function): New function.
7537 (handle_single_display_prop): Use call_function and FUNCTIONP
7538 instead of checking whether if font_height is a symbol and
7539 using eval_form.
7540
7541 * eval.c (internal_condition_case_2): New function.
7542
7543 * lisp.h (FUNCTIONP): New macro.
7544 (internal_condition_case_2, call_function): Add prototypes.
7545
d5aa31d8
GM
7546 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7547 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7548 Always set `arg' member of input_events.
7549 (construct_menu_click): Unused function removed.
7550
7551 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7552
7553 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7554 (construct_drag_n_drop, x_scroll_bar_handle_click)
7555 (w32_read_socket): Always set `arg' member of input_events.
7556
7557 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7558
7559 * lisp.h (eval_form): Add prototype.
7560
7561 * xdisp.c (eval_form): Make it externally visible.
7562
0f1a9b23
GM
75632000-07-13 Gerd Moellmann <gerd@gnu.org>
7564
7565 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7566 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7567 consing. For prefix events, store the frame in the `arg' slot of
7568 the event, otherwise store the key there.
7569 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7570 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7571
7572 * xmenu.c (menu_highlight_callback): Store help string in the
7573 `arg' member of the input event; don't cons.
7574 (menubar_selection_callback): Use the `arg' slot of input events
7575 to queue additional information, instead of consing.
7576
7577 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7578
7579 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7580 TOOL_BAR_EVENTs.
7581 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7582
7583 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7584 input events to queue additional information, instead of consing.
7585
7586 * keyboard.c (kbd_buffer_gcpro): Renamed from
7587 kbd_buffer_frame_or_window. Now used for all Lisp objects
7588 referenced from the input queue.
7589 (kbd_buffer_store_event): Always use structure assignment for
7590 copying input events. Record all Lisp objects referenced from
7591 events in kbd_buffer_gcpro.
7592 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7593 differently from input events. Test for prefix menu_bar_events
7594 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7595 event in kbd_buffer_gcpro to nil.
7596 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7597 frame_or_window is equal to its arg member as prefix events.
7598 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7599 used by an input event to nil.
7600 (init_keyboard): Use two times the size of the input queue
7601 for kbd_buffer_gcpro.
7602 (syms_of_keyboard): Likewise.
7603
52283633
SM
7604 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7605 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7606
7607 * termhooks.h (struct input_event): Add member `arg'.
7608 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7609 (USER_SIGNAL_EVENT): Renamed from user_signal.
7610
7611 * xfaces.c (ASET): Remove definition.
7612
7613 * lisp.h (AREF, ASET, ASIZE): New macros.
7614
7615 * fontset.c (AREF, ASIZE): Remove definitions.
7616
7617 * fns.c (AREF): Remove definition.
178c5d9c 7618
0f1a9b23
GM
7619 * composite.c (AREF): Remove definition.
7620
712eaef2
GM
76212000-07-12 Gerd Moellmann <gerd@gnu.org>
7622
d8ee7803
GM
7623 * dispnew.c (redraw_overlapped_rows): Add missing local.
7624 (scrolling_window): Remove debug code.
7625
712eaef2
GM
7626 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7627 Before scrolling, turn off a mouse-highlight in the window
7628 being scrolled.
7629
7630 * xterm.c (x_update_window_end): Add parameter
7631 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7632 redisplay in XTframe_up_to_date.
7633 (x_clear_mouse_face): New function.
7634 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7635
7636 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7637 current glyph row.
7638 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7639 it when any row is written to that contains glyphs highlighted in
7640 mouse-face.
7641 (update_window): Call the window update end hook with new
7642 parameter MOUSE_FACE_OVERWRITTEN_P.
7643 (direct_output_for_insert): Give up if row contains mouse-face.
7644
7645 * dispextern.h (struct redisplay_interface): Add parameter
7646 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7647 (clear_mouse_face): New function pointer member.
7648
02010917
SM
76492000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7650
7651 * syntax.c (back_comment): Use one switch rather than a few `if's.
7652 Obey open_paren_in_column_0_is_defun_start.
7653 When reverting to the `slow' method, try to nicely handle the case
7654 of nested comments by checking that the comment-starter we found
7655 does indeed match the comment-ender.
7656 (scan_sexps_forward, scan_sexps_forward):
7657 Ignore excessive opening parenthesis rather than throwing an error.
7658
d76c03ea
GM
76592000-07-11 Gerd Moellmann <gerd@gnu.org>
7660
7661 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7662 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7663
7664 * dispnew.c (direct_output_forward_char): Give up if currently
7665 displaying a message instead of the minibuffer contents.
7666
7667 * xterm.c (x_update_window_begin): No need to turn off the mouse
7668 highlight here.
7669 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7670 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7671
7672 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7673 compare the mouse_face_p flags of both rows.
7674
7675 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7676
d55ead18
EZ
76772000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7678
7679 * keyboard.c (show_help_echo): Accept additional parameter
7680 ok_to_overwrite_keystroke_echo.
7681 (read_char): Call show_help_echo with a zero
7682 ok_to_overwrite_keystroke_echo argument.
52283633 7683 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7684 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7685 ok_to_overwrite_keystroke_echo argument.
7686 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7687 non-zero ok_to_overwrite_keystroke_echo argument.
7688
df75b1a3
GM
76892000-07-10 Gerd Moellmann <gerd@gnu.org>
7690
4b92c49a
GM
7691 * xdisp.c (try_window_id): If changes are all below what is
7692 displayed in the window, and point is in the window, we still
7693 might have to find point on the display.
7694
7695 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7696 glyphs instead of a single one.
7697 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7698 with new argument list.
7699 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7700
df75b1a3
GM
7701 * keymap.c (get_keymap_1): Add comment that this function can GC.
7702 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7703 comment that functions can GC.
7704 (Fset_keymap_parent): GCPRO arg KEYMAP.
7705
4314cf3e
EZ
77062000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7707
7708 * msdos.c (XMenuActivate): After exiting the menu, restore the
7709 echo area message and erase it.
7710
ab49ce15
KH
77112000-07-10 Kenichi Handa <handa@etl.go.jp>
7712
7713 * fontset.c (Ffontset_info): Make the return value more compatible
7714 with that of Emacs 20.
7715
090a072f
GM
77162000-07-07 Gerd Moellmann <gerd@gnu.org>
7717
7718 * eval.c (Fsignal): Handle case that backtrace_list is null.
7719
f92de4a6
KH
77202000-07-07 Kenichi Handa <handa@etl.go.jp>
7721
7722 * ccl.c (Fccl_execute): Typo fixed.
7723
dd8888a1
GM
77242000-07-06 Gerd Moellmann <gerd@gnu.org>
7725
e5c81191 7726 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7727
dd8888a1
GM
7728 * window.c (Fwindow_list): Reverse list at the end.
7729 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7730 means allow windows on OWINDOW's frame, only.
7731 (window_loop): Simplified; use Fwindow_list.
7732
7733 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7734
485266d0
GM
77352000-07-05 Gerd Moellmann <gerd@gnu.org>
7736
7737 * xterm.c (XTread_socket): Increment handling_signal at the start,
7738 decrement it at the end.
7739
7740 * eval.c (handling_signal): New variable.
7741 (Fsignal): Abort if handling_signal is non-zero.
7742
7743 * lisp.h (handling_signal): External declaration.
178c5d9c 7744
485266d0
GM
7745 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7746
80fcd514
KR
77472000-07-05 Ken Raeburn <raeburn@gnu.org>
7748
7749 Sound support for NetBSD through "Linux emulation" support:
7750 * config.in (HAVE_SOUNDCARD_H): Undef.
7751 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7752 * Makefile.in (LIBSOUND): New variable.
7753 (LIBES): Include it.
52283633
SM
7754 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7755 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7756 (vox_open): Use DEFAULT_SOUND_DEVICE.
7757 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7758
d5c5cddd
GM
77592000-07-05 Gerd Moellmann <gerd@gnu.org>
7760
7761 * print.c (print_error_message): If Vsignaling_function is set,
7762 show it in *Messages*.
7763
7764 * lisp.h (Vsignaling_function): External declaration.
7765
7766 * eval.c (Vsignaling_function): New variable.
7767 (Fsignal): Compute it.
7768 (syms_of_eval): Staticpro it.
7769
65171e3a
DL
77702000-07-05 Dave Love <fx@gnu.org>
7771
7772 * syswait.h: Use the autoconf recommended approach. Old code
7773 #if'd out in case we need to revert.
7774
178c5d9c 7775 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7776
e2c46326
AI
77772000-07-05 Andrew Innes <andrewi@gnu.org>
7778
7779 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7780 when non-NULL instead of __morecore, to take account of buffer
7781 memory. This also solves a problem with spurious memory warnings
7782 on Windows.
7783
7784 * ralloc.c: Make real_morecore non-static.
7785
7786 * eval.c (internal_condition_case): Comment out abort if
7787 interrupt_input_blocked is not zero.
7788
7789 * makefile.nt: Add support for `bootstrap' and related targets.
7790 Include minimal debug info in emacs.exe in release build.
7791 Remove all dependencies on lisp.h, and fixup some others.
7792
7793 * w32.c (init_environment): Install code from 20.7 for providing
7794 default values for environment variables, based on the
7795 executable's own location.
52283633 7796 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7797 (sys_socket): Install socket inheritance bug fix from 20.7.
7798
7799 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7800 here via blockinput.h).
7801
a027a91b
SM
78022000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7803
e4b31601
SM
7804 * w32menu.c (w32_menu_display_help):
7805 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7806
7807 * keyboard.h (show_help_echo): Declare.
7808
7809 * keyboard.c (show_help_echo): New function, extracted from read_char.
7810 Feval its `msg' argument if it's a cons cell.
7811 (read_char): Use it.
4cf8d9d5 7812 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7813
178c5d9c 7814 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7815 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7816 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7817 (dos_rawgetc):
7818 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7819 (note_tool_bar_highlight, w32_read_socket):
7820 Do not gratuitously ignore non-string `help-echo' properties.
7821
88d75730
GM
78222000-07-05 Gerd Moellmann <gerd@gnu.org>
7823
969f7e79
GM
7824 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7825
71201b00
GM
7826 * window.c (delete_all_subwindows): Reset Vwindow_list.
7827
88d75730
GM
7828 * xterm.c (x_append_glyph, x_append_composite_glyph)
7829 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7830 changes in struct glyph starting 1999-12-27. Some bit-fields of
7831 struct glyph were not set, which made glyphs unequal when compared
7832 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7833 effects were the result. This also depended on the contents of
7834 memory returned by xmalloc. If flickering happens again, activate
7835 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7836 gone with that, chances are that it is caused by something similar.
88d75730
GM
7837
7838 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7839
88d75730
GM
7840 * dispextern.h: Add some comments.
7841
7842 * window.c (add_window_to_list): Add parameter LIST.
7843 (window_list): Order list so that, for each frame, windows are
7844 in canonical order, and so that frames appear in the list in
7845 the order given by Vframe_list.
7846 (next_window): Reverse the handling of NEXT_P.
7847
53654733
GM
78482000-07-04 Gerd Moellmann <gerd@gnu.org>
7849
87efd256
GM
7850 * window.c (Vwindow_list): New variable.
7851 (make_window, delete_window): Set Vwindow_list to nil.
7852 (check_window_containing): New function.
7853 (window_from_coordinates): Rewritten.
7854 (add_window_to_list, window_list, candidate_window_p)
7855 (decode_next_window_args, next_window): New functions.
52283633 7856 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7857 (Fwindow_list): New function.
7858 (Fother_window): Cleaned up.
7859 (foreach_window): Add a longer "variable argument list". Let
7860 callback function return 0 to indicate that cycling over windows
7861 should stop.
7862 (foreach_window_1): Likewise.
7863 (freeze_window_start): Return int.
7864 (init_window): New function.
7865 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7866
7867 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7868 input_event with bzero.
7869 (main): Call init_window.
7870
53654733
GM
7871 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7872 a menu filter.
7873
4a8c194f
KH
78742000-07-04 Kenichi Handa <handa@etl.go.jp>
7875
7876 * composite.h (make_composition_value_copy): Extern it.
7877
7878 * composite.c (make_composition_value_copy): New function.
7879
7880 * editfns.c (Fformat): While copying text properties, make each
7881 composition property value a copy.
7882
7883 * fns.c (concat): While copying text properties, make each
7884 composition property value a copy.
7885
831a6cb0
GM
78862000-07-03 Gerd Moellmann <gerd@gnu.org>
7887
2f516940
GM
7888 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7889
178c5d9c 7890 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7891 marked already.
7892
831a6cb0
GM
7893 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7894 include those frames as candidates which have their focus
7895 redirected to the minibuffer frame.
7896
d9c4f922
SM
78972000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7898
7899 * fns.c (Fputhash): Return `value' rather than nil.
7900
3780bc22
GM
79012000-06-30 Gerd Moellmann <gerd@gnu.org>
7902
97d176db
GM
7903 * frame.c (next_frame): Don't check focus redirection in case
7904 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7905 unless their focus is redirected, which contradicts the
7906 specification of next-frame, and leads to infinite loops in
7907 certain situations when cycling through windows with next-window.
7908
dca9961d
KH
79092000-06-30 Kenichi Handa <handa@etl.go.jp>
7910
7911 * coding.c (code_convert_region): Even if the length of text is
7912 zero, try to convert it if coding->type is coding_type_ccl.
7913 (decode_coding_string, encode_coding_string): Likewise.
7914
d5483ab1
GM
79152000-06-28 Gerd Moellmann <gerd@gnu.org>
7916
af5c25e1 7917 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7918 the display if windows_or_buffers_changed.
af5c25e1
GM
7919
7920 * dispnew.c (struct row_entry): New structure.
7921 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7922 (row_table_size, old_lines, new_lines, old_lines_size)
7923 (new_lines_size, run_pool, runs_size, runs): New variables.
7924 (add_row_entry): New function.
7925 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7926 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7927 holding them in local variables. Use a larger hash table whose
7928 size depends on glyph matrix sizes. Don't use bzero to clear the
7929 hash table; instead, clear used slots only.
7930
7931 * fns.c (next_almost_prime): Make it externally visible.
7932
7933 * lisp.h (next_almost_prime): Add prototype.
7934
d5483ab1
GM
7935 * s/isc4-0.h (sigunblock): Define.
7936
7937 * s/sco5.h (sigunblock): Define.
7938
93e40f40
DL
79392000-06-27 Dave Love <fx@gnu.org>
7940
7941 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7942 (moved to osf5-0.h).
7943 [!NOT_C_CODE]: Protect string.h stuff.
7944
7945 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7946 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7947
3c4b7685
GM
79482000-06-27 Gerd Moellmann <gerd@gnu.org>
7949
97d176db 7950 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7951 below the last line from the needed window height.
7952
32cad0aa
SM
79532000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7954
7955 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7956 (Fwidget_get): Use it.
7957 (syms_of_fns): Defsubr it.
7958
2c69ced2
GM
79592000-06-26 Gerd Moellmann <gerd@gnu.org>
7960
178c5d9c 7961 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7962 display info for XIM.
7963 (xim_open_dpy): Likewise.
7964 (xim_close_dpy): Don't free the display info's XIM.
7965
7966 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7967
7968 * config.in (USE_XIM): New define.
7969
3fc720e4
GM
7970 * keymap.c (get_keyelt): For menu-items containing a `:filter
7971 FILTER', apply FILTER to the menu-item's definition to get the
7972 real definition to use.
7973
7974 * lisp.h (QCfilter): External declaration.
7975
2c69ced2
GM
7976 * xfns.c (Fimage_size): New function.
7977 (syms_of_xfns): Defsubr it.
7978
f978b2a2
AS
79792000-06-26 Andreas Schwab <schwab@suse.de>
7980
7981 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7982 Fstring_as_unibyte.
7983
94cc7892
DL
79842000-06-25 Dave Love <fx@gnu.org>
7985
52283633 7986 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7987
7988 * Makefile.in (blockinput.h): Depend on atimer.h.
7989 (atimer.h): Depend on systime.h.
7990
52283633 7991 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7992
52283633 7993 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7994
7995 * lisp.h (swap_in_global_binding): Declare.
7996
b8c24556
KR
79972000-06-24 Ken Raeburn <raeburn@gnu.org>
7998
7999 * process.c (Fopen_network_stream): Turn off atimers for duration
8000 of call to connect. (Patch from Gerd.)
8001
8cf8560b
DL
80022000-06-23 Dave Love <fx@gnu.org>
8003
511c7541
DL
8004 * ralloc.c: Maybe include unistd.h
8005
8cf8560b
DL
8006 * emacs.c (setgrp): Undefine before defining.
8007 (malloc_warning, set_time_zone_rule, index): Prototype.
8008
8009 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8010 HAVE_STRUCT_TIMEZONE.
8011
8012 * s/osf1.h: Move string.h hack here from alpha.h and make it
8013 conditional.
8014 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8015 _XOPEN_SOURCE.
8016 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8017 (SOCKLEN_TYPE): Don't define.
8018
8019 * m/alpha.h: Remove string.h hack.
8020
8021 * s/osf5-0.h: New file.
8022
8023 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8024 include time.h, done by systime.h.
8025 [__FreeBSD__]: Remove redundant includes.
8026
3fc720e4 8027 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8028 (delete_temp_file): Return Qnil to avoid warning.
8029
8030 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8031
8032 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8033 HAVE_X_WINDOWS.
8034
8035 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8036
8037 * composite.h (compose_text): Declare.
8038
8039 * xterm.c: Don't include sys/types.h unconditionally. Don't
8040 protect its inclusion with !USG (following xmenu.c).
8041
ea055732
GM
80422000-06-23 Gerd Moellmann <gerd@gnu.org>
8043
8044 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8045 in x_create_frame.
8046
74b01b80
EZ
80472000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8048
8049 * coding.c (decode_eol_post_ccl): Special handling for undecided
8050 and inconsistent EOL types.
8051
64f3a166
GM
80522000-06-22 Gerd Moellmann <gerd@gnu.org>
8053
16cf31f7
GM
8054 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8055 trough color and main window's background color.
8056
52283633 8057 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8058
8059 * xterm.h (Xt_app_con): External declaration.
8060
8061 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8062
486a103d
GM
8063 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8064
64f3a166
GM
8065 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8066 (handle_invisible_prop): Record the start of invisible text in
8067 it->add_overlay_start.
8068 (struct overlay_entry): Add member `overlay'.
8069 (handle_overlay_change): Simplify.
8070 (next_overlay_string): After having processed overlay strings at the
8071 end of the buffer, record that fact in
8072 it->overlay_strings_at_end_processed_p.
8073 (compare_overlay_entries): If before- and after-strings come
8074 from the same overlay, let before-strings come first.
8075 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8076 (load_overlay_strings): Take it->add_overlay_start into account
8077 when adding overlay strings.
8078
8079 * dispextern.h (struct it): Add member add_overlay_start.
8080
bb746ea6
DL
80812000-06-22 Dave Love <fx@gnu.org>
8082
8083 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8084
8085 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8086
a8f573f3
KH
80872000-06-22 Kenichi Handa <handa@etl.go.jp>
8088
8089 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8090 is greater than 0.
8091
9f2bbc92
DL
80922000-06-21 Dave Love <fx@gnu.org>
8093
178c5d9c 8094 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8095
3ee5041c
SM
80962000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8097
8098 * syntax.c (back_comment): Simplify string-parity counting (with
8099 the added benefit of handling multiple string-styles as long as
8100 they are not intertwined).
8101 Jump to the slow code as soon as a comment starter is found in
8102 a "string_lossage" position. Fixes the case: " /* " /* " */.
8103
4c343001
DL
81042000-06-21 Dave Love <fx@gnu.org>
8105
8106 * Makefile.in: Use GETLOADAVG_LIBS.
8107
8108 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8109 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8110
e6365855
SM
81112000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8112
8113 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8114 (Fforward_comment, scan_lists):
8115 Check the comstyle of single-char comment-starters.
8116 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8117 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8118 Check the comstyle of single-char comment-starters.
8119 Clarify control-flow around the Scomment case.
e6365855 8120
5700d2cc
DL
81212000-06-20 Dave Love <fx@gnu.org>
8122
d355bd8a
SM
8123 * fns.c (make_hash_table, maybe_resize_hash_table):
8124 Cast arg of next_almost_prime.
5700d2cc 8125
178c5d9c 8126 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8127
8128 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8129 and unistd.h.
8130
4a27bdfb
GM
81312000-06-20 Gerd Moellmann <gerd@gnu.org>
8132
a61d762c 8133 * keyboard.c (adjust_point_for_property): Check if display
52283633 8134 property should be treated as intangible by looking at its value.
a61d762c 8135
178c5d9c 8136 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8137 (display_prop_intangible_p): New functions.
8138
8139 * dispextern.h (display_prop_intangible_p): Add prototype.
8140
8141 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8142
4a27bdfb
GM
8143 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8144 argument to sigprocmask.
8145
8146 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8147 argument to sigprocmask.
8148
8149 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8150 sigprocmask_set, and pass a pointer to it to sigprocmask.
8151
8152 * sysdep.c (sigprocmask_set): New variable.
8153
8154 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8155 report_file_error.
8156
427ec082
SS
81572000-06-20 Sam Steingold <sds@gnu.org>
8158
8159 * xrdb.c: Don't declare xmalloc, xrealloc.
8160
8972fe79 81612000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8162
8163 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8164 (re_comp): Cast gettext return value to avoid complaints when
8165 !HAVE_LIBINTL.
8166
074b6efe
DL
81672000-06-20 Dave Love <fx@gnu.org>
8168
52283633 8169 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8170
5700d2cc 8171 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8172
d355bd8a 8173 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8174
8175 * m/alpha.h: Don't declare xmalloc, xrealloc.
8176
0af4f205
DL
8177 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8178
8179 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8180
8181 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8182
8183 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8184 HAVE_GETWD.
8185
074b6efe
DL
8186 * keyboard.h (poll_for_input_1): Declare.
8187
8188 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8189
8190 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8191
8192 * doprnt.c: Don't declare xmalloc, xrealloc.
8193
8194 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8195 (getenv, ctime, getwd): Removed.
8196 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8197
8198 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8199 x_set_tool_bar_lines.
8200
8201 * config.in: Add HAVE_GETWD. Move some definitions above
8202 machine/system includes.
8203
68a5e97b
KH
82042000-06-20 Kenichi Handa <handa@etl.go.jp>
8205
95417e1e
KH
8206 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8207
68a5e97b
KH
8208 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8209 contain information about ENCODING.
8210
8211 * fontset.c (FONTSET_ASCII): Use the first element of char table
8212 for an ASCII font, not defalt slot.
8213 (fontset_ref_via_base): If FONTSET doesn't contain information for
8214 C, try the default fontset.
8215 (make_fontset): Don't copy the default fontset.
8216 (fontset_font_pattern): Likewise.
8217 (accumulate_font_info): If ELT is nil, use the corresponding
8218 element in the default fontset.
8219
3b4fa1b2
DL
82202000-06-19 Dave Love <fx@gnu.org>
8221
943e731c
DL
8222 * syntax.c (Fparse_partial_sexp): Doc fix.
8223
8224 * regex.h: Test PROTOTYPES as well as __STDC__.
8225
3b4fa1b2
DL
8226 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8227 errno, strerror. Put text after #endif in comment.
8228
52283633 8229 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8230
8231 * xterm.c (x_frame_of_widget): Likewise.
8232
cdf0357b
GM
82332000-06-19 Gerd Moellmann <gerd@gnu.org>
8234
8235 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8236 to Vfundamental_mode_abbrev_table.
8237
8238 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8239 bogus objects are marked. This slows down GC by ~80 percent, but
8240 it might be worth trying when debugging GC-related problems.
8241 This feature requires conservative stack marking to be enabled.
8242
8243 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8244 returns XLookupChars, reset `modifiers' to zero.
8245
998e9f8c
DL
82462000-06-19 Dave Love <fx@gnu.org>
8247
8248 * mktime.c: Unprotoized.
8249
18e21ce8 82502000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8251
8252 * data.c (set_internal): If variable is frame-local,
8253 store the new value immediately into the frame parameter alist.
8254
140c4ac6
KR
82552000-06-19 Ken Raeburn <raeburn@gnu.org>
8256
14358466
KR
8257 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8258 in the custom handler pointer.
8259
140c4ac6
KR
8260 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8261 value, or checks for CHAR_META can fail when Lisp_Object is a
8262 union type.
8263 * keymap.c (get_keyelt): Likewise.
8264
10d7bf84
KH
82652000-06-19 Kenichi Handa <handa@etl.go.jp>
8266
8267 * ccl.h (struct ccl_program): New member eol_type.
8268 (struct ccl_spec): New member cr_carryover.
8269
8270 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8271 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8272
8273 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8274 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8275 (decode_eol_post_ccl): New function.
8276 (decode_coding): Don't detect EOL format here for CCL based coding
8277 systems.
8278 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8279 decode_eol_post_ccl after running the CCL program.
8280 (code_convert_region): Don't detect EOL format here for CCL based
8281 coding systems.
8282 (decode_coding_string): Likewise.
8283
52e386c2
KR
82842000-06-18 Ken Raeburn <raeburn@gnu.org>
8285
8286 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8287 when treating it as an integer.
8288
8289 * coding.h (encode_coding_string): Declare.
8290
8291 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8292 it as an integer.
8293
8294 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8295 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8296 to be passed to get_local_map.
8297
8298 * sound.c (Fplay_sound): Don't call make_number on
8299 Frun_hook_with_args count argument.
8300
8301 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8302 for lisp objects in X event structure data field, when lisp
8303 objects are represented with unions.
8304 (x_scroll_bar_to_input_event): Ditto.
8305
b357b9d4
KR
83062000-06-16 Ken Raeburn <raeburn@gnu.org>
8307
8308 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8309 termination of string. Fix sense of test whether
8310 Vline_number_display_limit is an integer.
b357b9d4 8311
a871441d
GM
83122000-06-16 Gerd Moellmann <gerd@gnu.org>
8313
a9021acd
GM
8314 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8315 only if HAVE_X_WINDOWS.
8316
6344985d
GM
8317 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8318 of titles.
8319
427ec082 8320 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8321 out of bounds.
8322
228b083e
EZ
83232000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8324
8325 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8326 of its headers.
8327
c25b53a2
KH
83282000-06-15 Kenichi Handa <handa@etl.go.jp>
8329
8330 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8331 start of the while loop.
8332
a6981b11
GM
83332000-06-15 Gerd Moellmann <gerd@gnu.org>
8334
e9924e52
GM
8335 * atimer.c (alarm_signal_handler): Add forward declaration.
8336
a6981b11
GM
8337 * data.c (set_internal): Remove debug code.
8338
25fa6deb
GM
83392000-06-14 Gerd Moellmann <gerd@gnu.org>
8340
dce6b995
GM
8341 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8342
9f817ea4
GM
8343 * unexec.c (toplevel) [COFF]: Include coff.h.
8344
8345 * s/lynxos.h: New file.
8346
8347 * keymap.c (Fsingle_key_description): Enclose function key and
8348 event symbol names in angle brackets.
8349
8a4e3c0c
GM
8350 * xdisp.c (setup_echo_area_for_printing): Call
8351 message_log_maybe_newline if message_buf_print is not set.
8352
8353 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8354 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8355 function does something useful even when message_buf_print is
8356 already set.
8357
52283633
SM
8358 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8359 New variables.
25fa6deb
GM
8360 (ensure_echo_area_buffers): Initialize echo buffer's
8361 truncate lines setting to nil.
8362 (with_echo_area_buffer): Don't set the echo buffer's truncate
8363 lines setting here.
8a4e3c0c 8364 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8365 of message_truncate_lines.
8366 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8367 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8368 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8369
8370 * keyboard.c (read_char): Bind message-truncate-lines to t
8371 while displaying a help-echo.
8372
8373 * lisp.h (Qmessage_truncate_lines): External declaration.
8374
163dcff3
GM
83752000-06-13 Gerd Moellmann <gerd@gnu.org>
8376
1681ead6
GM
8377 * xdisp.c (Vline_number_display_limit): Renamed from
8378 line_number_display_limit.
8379 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8380 Extend documentation string. Initialize
8381 Vline_number_display_limit to nil meaning no limit.
8382 (decode_mode_spec): Use Vline_number_display_limit with its new
8383 meaning.
8384
163dcff3
GM
8385 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8386
18e21ce8 83872000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8388
8389 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8390
163dcff3
GM
8391 * xfns.c (x_set_frame_parameters): Comment fix.
8392
8393 * frame.c (store_frame_param): Call swap_in_global_binding if the
8394 variable's current binding was chosen based on this frame.
8395
8396 * data.c (swap_in_global_binding): New function.
8397
a704139d
EZ
83982000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8399
8400 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8401 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8402
9b6610db
EZ
84032000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8404
8405 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8406
c68833d2
JR
84072000-06-12 Jason Rumney <jasonr@gnu.org>
8408
8409 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8410
8411 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8412
8413 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8414
8415 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8416
ed1056b3
GM
84172000-06-12 Gerd Moellmann <gerd@gnu.org>
8418
8419 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8420 (syms_of_xfaces): Defsubr Sdump_colors.
8421 (x_free_colors): Don't treat b&w specially on default visual.
8422 (x_free_dpy_colors): New function.
8423 (free_face_colors): Don't check visual class; it's done
8424 in x_free_colors.
8425
8426 * xterm.c (x_frame_of_widget): New function.
8427 (x_alloc_nearest_color_for_widget): Use it.
8428 (x_copy_dpy_color): New function.
8429 (x_destroy_window): Free various colors.
8430
5050a2ef
KH
84312000-06-12 Kenichi Handa <handa@etl.go.jp>
8432
8433 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8434
8435 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8436
8437 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8438
8439 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8440
8441 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8442
fb1b041d
DL
84432000-06-11 Dave Love <fx@gnu.org>
8444
8445 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8446
ff96b5f4
EZ
84472000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8448
8449 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8450
db8eeecd
GM
84512000-06-11 Gerd Moellmann <gerd@gnu.org>
8452
ed1056b3 8453 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8454 to `XEvent *'.
8455
49b71c5f
KH
84562000-06-10 Kenichi Handa <handa@etl.go.jp>
8457
c479bd55
KH
8458 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8459 (regex_compile): Fix the code for handling the case of single byte
8460 char and multibyte char being mixed in a range within [...].
8461
ff6a65c2
KH
8462 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8463 and dst_multibyte members of coding.
8464
49b71c5f
KH
8465 * charset.c (update_charset_table): Update the table
8466 bytes_by_char_head.
8467 (init_charset_once): Initialize elements of bytes_by_char_head to
8468 1 except for leading codes for private charases.
8469
8470 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8471 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8472
9e80b57d
KR
84732000-06-09 Ken Raeburn <raeburn@gnu.org>
8474
8475 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8476 access the data it doesn't point to.
8477
f83fe4b4
GM
84782000-06-08 Gerd Moellmann <gerd@gnu.org>
8479
8480 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8481 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8482 event queue. This is necessary because Emacs otherwise won't
8483 perform a switch-frame to a new frame until some other event, for
8484 example a keystroke event, forces it to do so. This has various
8485 effects, one visible being that the cursor of a frame created with
8486 C-x 5 2 or switched to with a window manager key binding like
8487 A-TAB stays hollow because selected_window isn't on the newly
8488 focused frame until the switch-frame is performed.
8489
8490 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8491 generating a switch-frame event if necessary.
8492
8493 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8494
8495 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8496 it's an integer.
8497
0890801b
KH
84982000-06-08 Kenichi Handa <handa@etl.go.jp>
8499
52283633 8500 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8501
173cbca8
GM
85022000-06-07 Gerd Moellmann <gerd@gnu.org>
8503
3091c2a6
GM
8504 * window.c (displayed_window_lines): Take empty lines at
8505 the bottom of a window into account.
427ec082 8506
f38952fe
GM
8507 * window.c (displayed_window_lines): New function.
8508 (Fmove_to_window_line): Use displayed_window_lines to determine
8509 the number of lines to move, instead of using the window's height.
8510
8511 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8512 to stop reading, even if the form read sets point to a different
8513 value when evaluated.
8514
427ec082 8515 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8516 put the cursor.
8517
6ba6c818
KH
85182000-06-07 Kenichi Handa <handa@etl.go.jp>
8519
8520 * fileio.c (e_write): Free composition data if stored in
8521 coding->cmp_data.
8522
5f1aea9a
GM
85232000-06-06 Gerd Moellmann <gerd@gnu.org>
8524
666852af
GM
8525 * xdisp.c (display_line): Set row's and iterator's
8526 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8527 Set cursor even if row ends in the middle of a character.
8528 (dump_glyph_row): Print values of new flags.
8529 (redisplay_window) <cursor movement in unchanged window>: When
8530 point has been moved forward, and PT is at the end of the cursor
8531 row, don't place the cursor in the next row if the cursor row ends
8532 in the middle of a character or at ZV.
8533
8534 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8535 (struct glyph_row): Add starts_in_middle_of_char_p and
8536 ends_in_middle_of_char_p.
8537 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8538 ends_in_middle_of_char_p flag.
8539 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8540
d13f3e2e
GM
8541 * term.c (append_glyph): Revert change of 2000-06-06.
8542
8543 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8544 padding glyph not fitting on line as whole character not
8545 fitting on line.
8546
5f1aea9a
GM
8547 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8548 this isn't true for images with `:ascent 100'.
8549
10cda9b0
KH
85502000-06-06 Kenichi Handa <handa@etl.go.jp>
8551
ed00559d
KH
8552 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8553 as modified if it is originally unmodified.
8554
10cda9b0
KH
8555 * term.c (encode_terminal_code): Change the way to check if
8556 terminal coding does any conversion.
8557 (append_glyph): Set glyph->pixel_width correctly.
8558
8559 * xdisp.c (display_line): While checking line continuation, pay
8560 attention to a padding glyph.
8561
1969fae2
GM
85622000-06-05 Gerd Moellmann <gerd@gnu.org>
8563
8564 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8565
162ccef4
DL
85662000-06-05 Dave Love <fx@gnu.org>
8567
f19f32dd
DL
8568 * xdisp.c: Include fontset.h.
8569
8570 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8571
8572 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8573
8574 * dispnew.c: Conditionally include term.h.
8575
8576 * coding.h: Declare code_convert_string_norecord.
8577
8578 * frame.h (struct frame): Use volatile unconditionally.
8579
8580 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8581
8582 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8583
8584 * systime.h: Protect against multiple inclusion.
8585 (timezone) [USG5_4]: Define as time_t.
8586
8587 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8588 (Foptimize_char_table, make_temp_name): Declare.
8589
8590 * Makefile.in (xdisp.o): Depend on fontset.h.
8591
8592 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8593
8594 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8595 (Foptimize_char_table, make_temp_name): Declare.
8596
427ec082 8597 * s/irix4-0.h:
162ccef4
DL
8598 * s/irix5-0.h:
8599 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8600
2082fe81
DL
86012000-06-02 Dave Love <fx@gnu.org>
8602
8603 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8604
dcf671d2
GM
86052000-06-02 Gerd Moellmann <gerd@gnu.org>
8606
8607 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8608 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8609 be freed.
8610
8611 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8612 glyph, use the ASCII NUL character to determine the face.
8613
d42122a3
DL
86142000-06-02 Dave Love <fx@gnu.org>
8615
8616 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8617 (VFORK_RETURN_TYPE): Remove.
427ec082 8618
d42122a3
DL
8619 * config.in: Add NO_MATHERR.
8620
dd432f16
DL
86212000-06-01 Dave Love <fx@gnu.org>
8622
90aa4ea8
DL
8623 * cmds.c (internal_self_insert): Don't check
8624 Vbefore_change_function, Vafter_change_function.
8625
8626 * insdel.c (signal_before_change, signal_after_change): Likewise.
8627
8628 * buffer.c (Vbefore_change_function, Vafter_change_function):
8629 Variables and their initializations deleted.
8630
2330c9d4
DL
8631 * callint.c (Fcall_interactively): Doc fix.
8632
dd432f16
DL
8633 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8634
bf9e8804
DL
86352000-05-31 Dave Love <fx@gnu.org>
8636
8637 * textprop.c: Revert last change -- duplicated.
8638
3694b4ab
GM
86392000-05-31 Gerd Moellmann <gerd@gnu.org>
8640
8641 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8642 in #if 0.
8643
8644 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8645
f14156cd
JR
86462000-05-31 Jason Rumney <jasonr@gnu.org>
8647
8119aab8
JR
8648 * search.c (Fre_search_forward, Fre_search_backward)
8649 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8650
f14156cd
JR
8651 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8652
4aab9be3
JR
86532000-05-30 Jason Rumney <jasonr@gnu.org>
8654
8655 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8656 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8657
52283633 8658 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8659
8660 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8661 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8662 expand a nil default_filename.
8663
8664 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8665 pointer to glyph_to_pixel_coords, not a frame.
8666
8667 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8668 coding.h to dependencies.
8669
8670 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8671
8672 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8673 window pointer to be consistent with w32term.c and xterm.c.
8674
8675 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8676 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8677 (Qline_spacing, Qcenter): New variables.
8678 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8679 (x_set_line_spacing): New function.
52283633 8680 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8681 (x_specified_cursor_type): New function.
8682 (x_set_cursor_type): Use it.
8683 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8684 and icon strings.
8685 (validate_x_resource_name, x_get_resource_string): Measure lengths
8686 of external strings in bytes.
8687 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8688 GetTextExtentPoint32 with NULL title.
8689 (Fx_create_frame): Initialize Qline_spacing.
8690 (w32_load_system_font): Initialize font->double_byte_p.
8691 (x_to_w32_charset): Use Vw32_charset_info_alist.
8692 (Image, busy cursor, tooltip functions): Merged changes from
8693 xfns.c. Not yet functional on Windows.
8694
8695 * w32gui.h (W32FontStruct): Add double_byte_p member.
8696
8697 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8698 (emacs_button_translation): Use it.
8699 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8700 in `mask' to be set.
8701
8702 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8703 menu strings.
8704
8705 * w32term.c: Format and doc changes to bring closer to xterm.c.
8706 (w32_char_font_type): New enum.
8707 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8708 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8709 (w32_encode_char): New function.
8710 (x_encode_char): Removed.
8711 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8712 x_encode_char and w32_font_is_double_byte.
8713 (x_produce_image_glyph): Use image_ascent.
8714 (x_produce_glyphs): Use new version of w32_per_char_metric and
8715 handle NULL return value. Allow extra line spacing.
8716 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8717 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8718 w32_font_type member of glyph instead.
8719 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8720 (fast_find_position): Make sure not to consider rows not visible
8721 in the window.
8722 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8723 w32_menu_display_help with input blocked, as it can abort.
8724 (x_display_and_set_cursor): Choose cursor depending
8725 on buffer-local value of cursor_type.
8726 (x_draw_bar_cursor): Add parameter WIDTH.
8727
8728 * w32term.h (CP_DEFAULT): Define.
8729 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8730
10fc3187
GM
87312000-05-30 Gerd Moellmann <gerd@gnu.org>
8732
8733 * search.c (Fre_search_forward, Fre_search_backward)
8734 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8735
d0555360
KH
87362000-05-30 Kenichi Handa <handa@etl.go.jp>
8737
8738 * coding.c (detect_coding_iso2022): Fix code for checking
8739 CODING_CATEGORY_MASK_ISO_8_2.
8740
f1ad044f
SM
87412000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8742
8743 * regex.c (PREFETCH_NOLIMIT): New function.
8744 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8745
84ec3b4b
GM
87462000-05-29 Gerd Moellmann <gerd@gnu.org>
8747
66254a13
GM
8748 * syntax.c (find_defun_start): Move test for
8749 open_paren_in_column_0_is_defun_start outside of the loop.
8750
49e70dec
GM
8751 * xdisp.c (redisplay_window): Really switch buffers when
8752 displaying mode lines, and temporarily set selected_frame to the
8753 frame of the window that's redisplayed.
8754
84ec3b4b
GM
8755 * xfaces.c (free_realized_faces): Block/unblock input.
8756 (free_realized_multibyte_face): Ditto.
8757
869a3a14
DL
87582000-05-29 Dave Love <fx@gnu.org>
8759
8760 * textprop.c (Qkeymap): New variable.
8761 (syms_of_textprop): Intern it.
8762
8763 * keymap.c: Include intervals.h.
8764 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8765
8766 * Makefile.in (keymap.o): Depend on intervals.h.
8767
8768 * keyboard.c (menu_bar_items, tool_bar_items)
8769 (Fexecute_extended_command): Deal with `keymap' property.
8770 (read_key_sequence): Track map from `keymap' property as well as
8771 `local_map'.
8772
8773 * intervals.c (get_local_map): Extra arg to allow looking for
8774 `keymap' too.
8775
8776 * intervals.h (map_property): New enum.
8777 (get_local_map): Extra arg using it.
8778 (Qkeymap): Declare.
8779
84ec3b4b 8780 * lisp.h (get_local_map): Don't declare here.
869a3a14 8781
89d0c844
KH
87822000-05-29 Kenichi Handa <handa@etl.go.jp>
8783
8784 * Makefile.in (callproc.o): Depend on composite.h.
8785
8786 * callproc.c: Include composite.h.
8787 (Fcall_process): Handle composition correctly.
8788
8789 * coding.h (coding_allocate_composition_data): Extern it.
8790 (coding_restore_composition): Likewise.
8791
8792 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8793 yet allocated, finish decoding with result
8794 CODING_FINISH_INSUFFICIENT_CMP.
8795 (coding_allocate_composition_data): Make it non-static.
8796 (coding_restore_composition): Likewise.
8797
797a084a
EZ
87982000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8799
8800 * charset.c (syms_of_charset): Revert last change.
8801
cf872af5
EZ
88022000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8803
8804 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8805 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8806 Handa.
cf872af5 8807
5b1ae051
EZ
88082000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8809
8810 * charset.c (syms_of_charset): Set width of character sets
8811 eight-bit-control and eight-bit-graphic to 1 column.
8812
34ec9ebe
GM
88132000-05-26 Gerd Moellmann <gerd@gnu.org>
8814
8815 * config.in (HAVE_SPEED_T): New define.
8816
8817 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8818 `extern speed_t'.
8819
dd854dc2
DL
88202000-05-26 Dave Love <fx@gnu.org>
8821
8822 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8823
8824 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8825 (Fsubr_arity): New function.
8826 (syms_of_data): Install them.
8827
ba9f8f95
KH
88282000-05-26 Kenichi Handa <handa@etl.go.jp>
8829
0f3e0672
KH
8830 * charset.c (init_charset_once): Set the table bytes_by_char_head
8831 correctly.
8832
cebefb44
KH
8833 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8834 the default fontset to what Emacs uses by default.
0f3e0672
KH
8835 (check_registry_encoding): This function deleted.
8836 (Fset_fontset_font): Remove the adhoc condition for the default
8837 fontset. Allow cons in FONTNAME.
cebefb44 8838
0f3e0672
KH
8839 * fns.c (map_char_table): Ignore char-table entries for
8840 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8841
7a18af49
KR
88422000-05-25 Ken Raeburn <raeburn@gnu.org>
8843
8844 * emacs.c (main): Initialize keyboard syms before initializing
8845 window code, so face names are available.
8846
d2af47df
SM
88472000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8848
8849 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8850 of an anchor at the beginning of a shy-group.
8851
fc6a6a4e
GM
88522000-05-25 Gerd Moellmann <gerd@gnu.org>
8853
8854 * xdisp.c (handle_invisible_prop): Don't try to skip over
8855 invisible text if end of text is already reached.
8856
005f0d35
DL
88572000-05-25 Dave Love <fx@gnu.org>
8858
02513cdd
DL
8859 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8860
005f0d35
DL
8861 * coding.c (encode_eol): Add null statement after label.
8862
89f6ca4e
EZ
88632000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8864
8865 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8866 2000-05-20.
8867
a4e1759e
KH
88682000-05-25 Kenichi Handa <handa@etl.go.jp>
8869
8870 * ccl.c (ccl_driver): Fix previous change.
8871
eacfd7fe
KH
88722000-05-25 Kenichi Handa <handa@etl.go.jp>
8873
46ab33a9
KH
8874 * coding.c (run_pre_post_conversion_on_str): Set point to the
8875 beginning of buffer before calling coding->post_read_conversion.
8876 (decode_coding_string): Give correct args to
8877 run_pre_post_conversion_on_str.
8878 (encode_coding_string): Likewise.
8879
eacfd7fe
KH
8880 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8881 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8882 eight-bit-graphic correctly.
8883
f8569325
DL
88842000-05-24 Kenichi HANDA <handa@etl.go.jp>
8885
8886 * fileio.c (Finsert_file_contents): Even if a file is not found,
8887 execute codes for setting up coding system. Call
8888 after-insert-file-functions unconditionally.
8889
04545643
GM
88902000-05-24 Gerd Moellmann <gerd@gnu.org>
8891
8892 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8893 BSD_PGRPS are not defined.
8894
747d90ea
KH
88952000-05-24 Kenichi Handa <handa@etl.go.jp>
8896
8897 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8898 DESCRIPTION.
8899 (syms_of_charset): Avoid building same strings.
8900
716e3b88
GM
89012000-05-23 Gerd Moellmann <gerd@gnu.org>
8902
8903 * lread.c (Fload): Add a comment about the meaning of
8904 Vuser_init_file being t.
8905
8906 * puresize.h (BASE_PURESIZE): Increase to 675000.
8907
8908 * s/gnu-linux.h (setpgrp): Don't define it here because this
8909 prevents compilation on GNU/Linux systems with glib 2.2.
8910
8911 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8912 as setpgid.
427ec082 8913
9aeb39fa
EZ
89142000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8915
8916 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8917 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8918 version.
8919 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8920
29ced61b
KH
89212000-05-23 Kenichi Handa <handa@etl.go.jp>
8922
52283633 8923 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8924
3d80f24d
KH
8925 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8926
52283633 8927 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8928
29ced61b
KH
8929 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8930
d7e00792
KH
89312000-05-22 Kenichi Handa <handa@etl.go.jp>
8932
c9d80d38
KH
8933 * keyboard.c (read_char): Allow character codes 128..255 to be
8934 handled by input-method-function.
8935
d7e00792
KH
8936 * insdel.c (adjust_markers_for_replace): Fix previous change.
8937 (adjust_after_replace): If PREV_TEXT is nil, call
8938 adjust_markers_for_insert, not adjust_markers_for_replace.
8939
087121cc 89402000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8941
087121cc
GM
8942 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8943 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8944 [HAVE_GRANDPT]: Define.
8945 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8946
8947 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8948 like SYSV_PTYS.
8949
8950 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8951
8952 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8953
c9671f81
KH
89542000-05-20 Kenichi Handa <handa@etl.go.jp>
8955
8956 The following changes are to handle 8-bit characters in a
8957 multibyte buffer/string without facing with byte combining
8958 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8959 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8960
8961 * Makefile.in (fns.o): Depend on charset.h.
8962
8963 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8964 convert it to unibyte.
8965 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8966
8967 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8968 apparent char boundary.
8969 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8970 0x80..0x9F to/from multibyte form.
8971
8972 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8973 to unibyte.
8974
8975 * callproc.c (Fcall_process): Always encode an argument string if
8976 it is multibyte. Setup src_multibyte and dst_multibyte members of
8977 process_coding properly.
ce75fd23 8978
c9671f81
KH
8979 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8980 SPLIT_NON_ASCII_CHAR.
8981
8982 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8983 as is.
8984 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8985
52283633 8986 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8987 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8988 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8989 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8990 and eight-bit-graphic.
8991 (char_to_string): Likewise. Signal an error for too large
8992 character code.
8993 (char_printable_p): Return 0 for 8-bit characters.
8994 (update_charset_table): Update iso_charset_table only when a final
8995 character is non-negative.
8996 (find_charset_in_text): Renamed from find_charset_in_str.
8997 Arguments and return value changed. Callers changed.
8998 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8999 be -1 if CHARSET is used only internally.
9000 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9001 eight-bit-graphic.
9002 (Fcharset_after): Simplified.
9003 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9004 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9005 (multibyte_chars_in_text): Simplified by assuming there's no
9006 invalid multibyte sequence.
52283633
SM
9007 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9008 (str_as_unibyte): New functions.
9009 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9010 (init_charset_once): Initialization for
9011 LEADING_CODE_8_BIT_CONTROL.
9012 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9013 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9014 eight-bit-control and eight-bit-graphic.
9015
52283633
SM
9016 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9017 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9018 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9019 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9020 (CHARSET_REVERSE_CHARSET): Likewise.
9021 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9022 eight-bit-graphic.
9023 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9024 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9025 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9026 encounter an invalid multibyte sequence.
9027 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9028 sequence is always valid.
9029 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9030 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9031 (CHAR_STRING): For 8-bit characters, call char_to_string.
9032 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9033 multibyte sequence is always valid.
9034 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9035 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9036 (str_as_unibyte): Extern them.
c9671f81 9037 (BCOPY_SHORT): Fix a bug.
52283633 9038 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9039 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9040 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9041 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9042
bd4bde7f 9043 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9044 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9045 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9046 (EMIT_BYTES): New macros.
9047 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9048 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9049 macros deleted.
9050 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9051 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9052 check the validity of multibyte sequence.
9053 (decode_coding_emacs_mule): New function.
9054 (encode_coding_emacs_mule): New macro.
9055 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9056 the source.
9057 (DECODE_ISO_CHARACTER): Just return a character code.
9058 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9059 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9060 EMIT_CHAR to produced decoded characters. Exit the loop only by
9061 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9062 block here.
9063 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9064 only position codes for an invalid character.
9065 (encode_designation_at_bol): Return new destination pointer. 5th
9066 arg DSTP is changed to DST.
9067 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9068 from the source by ONE_MORE_CHAR. Don't handle the case of last
9069 block here.
9070 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9071 macros deleted.
52283633
SM
9072 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9073 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9074 TWO_MORE_BYTES to fetch a byte from the source.
9075 (encode_eol): Pay attention to coding->src_multibyte.
9076 (detect_coding, detect_eol): Preserve members src_multibyte and
9077 dst_multibyte.
9078 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9079 (encoding_buffer_size): Set magnification to 3 for all coding
9080 systems that require encoding.
9081 (ccl_coding_driver): For decoding, be sure that the result is
9082 valid multibyte sequence.
9083 (decode_coding): Initialize coding->errors and coding->result.
9084 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9085 and raw-text, always call decode_eol. Handle the case of last
9086 block here. If not coding->dst_multibyte, convert the resulting
9087 sequence to unibyte.
9088 (encode_coding): Initialize coding->errors and coding->result.
9089 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9090 and raw-text, always call encode_eol. Handle the case of last
9091 block here.
9092 (shrink_decoding_region, shrink_encoding_region): Detect cases
9093 that we can't skip data more rigidly.
9094 (code_convert_region): Setup src_multibyte and dst_multibyte
9095 members of coding. For decoding, if the buffer is multibyte,
9096 convert the source sequence to unibyte in advance. For encoding,
9097 if the buffer is multibyte, convert the resulting sequence to
9098 multibyte afterward.
9099 (run_pre_post_conversion_on_str): New function.
9100 (code_convert_string): Deleted and divided into the following two.
9101 (decode_coding_string, encode_coding_string): New functions.
9102 (code_convert_string1, code_convert_string_norecord): Call one of
9103 above.
9104 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9105 MAKE_NON_ASCII_CHAR.
52283633
SM
9106 (Fset_terminal_coding_system_internal)
9107 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9108 and dst_multibyte members.
9109 (init_coding_once): Initialize iso_code_class with new enum
9110 ISO_control_0 and ISO_control_1.
9111
9112 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9113 devided into ISO_control_0 and ISO_control_1.
9114 (struct coding_system): New members src_multibyte, dst_multibyte,
9115 errors, and result. Delete member fake_multibyte.
9116 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9117 nonzero.
9118 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9119 nonzero.
9120
9121 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9122 (Faset): Likewise.
9123
9124 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9125 multibyte form.
9126 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9127 combining occurs.
9128 (Ftranspose_region): Delete codes for handling byte combining.
9129
9130 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9131 dst_multibyte members of coding. On handling REPLACE on unibyte
9132 buffer, convert the result of decode_coding to unibyte. On
9133 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9134 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9135 multibyteness of the source (buffer or string).
9136
9137 * fns.c (concat): Handle 8-bit characters correctly.
9138 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9139 unibyte in the result.
9140 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9141 valid multibyte form in the result.
9142 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9143 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9144 return -1, signal an error.
9145 (base64_encode_1): New arg MULTIBYTE. Get each character by
9146 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9147 character is found, return -1.
9148 (Fbase64_decode_region): Delete codes for handling byte-combining.
9149 Treat each decoded byte as a unibyte character.
9150 (Fbase64_decode_string): Return unibyte string.
9151 (Fcompare_strings, concat, string_byte_to_char): Use
9152 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9153 FETCH_STRING_CHAR_ADVANCE.
9154 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9155 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9156
9157 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9158 SPLIT_NON_ASCII_CHAR.
9159 (fontset_ref_via_base, fontset_set): Likewise
9160
9161 * insdel.c (adjust_markers_for_record_delete): Deleted.
9162 (adjust_markers_for_insert): Argument changed. Caller changed.
9163 (adjust_markers_for_replace): Likewise.
52283633
SM
9164 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9165 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9166 (copy_text): Delete unused local varialbe c_save. For converting
9167 to multibyte, be sure to make all 8-bit characters in valid
9168 multibyte form.
9169 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9170 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9171 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9172 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9173 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9174 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9175 handling byte combining.
9176 (adjust_before_replace): Deleted.
427ec082 9177
c9671f81
KH
9178 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9179 SPLIT_NON_ASCII_CHAR.
9180 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9181 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9182 (Fkey_description): Likewise.
9183
9184 * lread.c (read1): On reading multibyte string, be sure to make
9185 all 8-bit chararacters in valid multibyte form.
9186 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9187
9188 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9189 unconditionally.
9190
9191 * process.c (Fstart_process): GCPRO current_dir before calling
9192 Ffind_operation_coding_system. Encode arguments here.
9193 (create_process): Don't encode arguments here. Setup
9194 src_multibyte and dst_multibyte members of struct coding.
9195 (read_process_output): Setup src_multibyte and dst_multibyte
9196 members of struct coding. If the output is to multibyte buffer,
9197 always decode the output of the process. Adjust the
52283633 9198 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9199 (send_process): Setup coding->src_multibyte according to the
9200 multibyteness of the source.
9201
52283633 9202 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9203 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9204 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9205
52283633 9206 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9207
9208 * w16select.c (Fw16_set_clipboard_data): Setup members
9209 src_multibyte and dst_multibyte of coding. Adjusted for the
9210 change for find_charset_in_str.
9211 (Fw16_get_clipboard_data): Likewise.
9212
9213 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9214 dst_multibyte of coding.
9215 (x_to_w32_font): Likewise.
9216
9217 * w32select.c (Fw32_set_clipboard_data): Setup members
9218 src_multibyte and dst_multibyte of coding. Adjusted for the
9219 change for find_charset_in_str.
9220 (Fw32_get_clipboard_data): Likewise.
9221
9222 * xdisp.c (get_next_display_element): Handle 8-bit characters
9223 correctly.
52283633
SM
9224 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9225 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9226
9227 * xselect.c (selection_data_to_lisp_data): Setup members
9228 src_multibyte and dst_multibyte of coding. Adjusted for the
9229 change for find_charset_in_str.
9230 (lisp_data_to_selection_data): Likewise.
9231
5f64c9e0
GM
92322000-05-19 Gerd Moellmann <gerd@gnu.org>
9233
52283633 9234 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9235
5f64c9e0
GM
9236 * dispextern.h (Vimage_types): Add extern declaration.
9237
9238 * xdisp.c (Vimage_types): Moved here from xfns.c.
9239 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9240
9241 * xfns.c (Vimages_types): Moved to xdisp.c.
9242 (syms_of_xfns): Move `image-types' to xdisp.c.
9243
9244 * w32fns.c (Vimage_types): Removed.
9245 (syms_of_w32fns): Remove `image-types'.
9246
813086ea
KH
92472000-05-18 Kenichi Handa <handa@etl.go.jp>
9248
9249 * fns.c (map_char_table): Pay attention to character number of
9250 charset. Check the validity of charset at the first level. For
9251 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9252 the default value.
9253
9254 * fontset.c: Include "buffer.h".
9255 (fs_load_font): If the face has fontset, record the face ID in
9256 that fontset.
9257 (Finternal_char_font): New function.
9258 (accumulate_font_info): New function.
9259 (Ffontset_info): Rewritten for the new fontset implementation.
9260 (syms_of_fontset): Register Vdefault_fontset in the first element
9261 of Vfontset_table. Include Vdefault_fontset in
9262 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9263 function.
9264
bdaebbf0
DL
92652000-05-16 Dave Love <fx@gnu.org>
9266
9267 * m/iris5d.h: Deleted -- unused.
9268
cb613bb8
GM
92692000-05-16 Gerd Moellmann <gerd@gnu.org>
9270
b15f3b77
GM
9271 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9272 `invalid' instead of `illegal'.
9273
9274 * indent.c (Fmove_to_column): When ending within a tab, insert
9275 spaces first so that markers at the end of the tab get adjusted.
9276
835c1b36
GM
9277 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9278 buffer list that wasn't selected in that frame.
9279
cb613bb8
GM
9280 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9281 is needed on mescaline, use a 2 char prefix, and call
9282 make_temp_name with second arg non-zero.
9283
9284 * fileio.c (make_temp_name): New function, extracted from
9285 Fmake_temp_name.
9286 (Fmake_temp_name): Use it.
9287
f685bea9
EZ
92882000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9289
52283633 9290 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9291
a1b8d58b
GM
92922000-05-15 Gerd Moellmann <gerd@gnu.org>
9293
9294 * Makefile.in (lisp): Add env.elc.
9295
9296 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9297
a265079f
GM
92982000-05-12 Gerd Moellmann <gerd@gnu.org>
9299
9300 * search.c (Freplace_match): Handle case of `\N' in the
9301 replacement when there's no group N.
9302
da4496b6
GM
93032000-05-11 Gerd Moellmann <gerd@gnu.org>
9304
0ace421a
GM
9305 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9306 of the message to message_dolog.
9307
1172eb8d
GM
9308 * keyboard.c (read_char): Don't clear current message for help
9309 events; let the code handling help events handle this. Change
9310 code detecting help events that should be ignored.
9311
da4496b6
GM
9312 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9313 we're interating over a string.
9314
0623e40f
DL
93152000-05-09 Dave Love <fx@gnu.org>
9316
9317 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9318 that offset before writing. Move gcpro region past call of
9319 Ffile_regular_p.
9320
bae2503b
DL
93212000-05-04 Dave Love <fx@gnu.org>
9322
9323 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9324
ec82fb2f
GM
93252000-05-04 Gerd Moellmann <gerd@gnu.org>
9326
9327 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9328 of inserted characters when BUF equals the current buffer, and PT
9329 is in front of or equal to FROM.
9330
cbf18892
GM
93312000-05-03 Gerd Moellmann <gerd@gnu.org>
9332
4ff40dd0
GM
9333 * xdisp.c (handle_single_display_prop): If display property value
9334 is invalid, or something not supported on the frame, restore
9335 iterator's position to what it was initially. Make sure to return
9336 0 for invalid and unsupported property values.
9337
cbf18892
GM
9338 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9339 that x_per_char_metric returns null.
9340
1b0672c3
GM
93412000-05-02 Gerd Moellmann <gerd@gnu.org>
9342
576da55d
GM
9343 * xterm.h (struct face): Add forward declaration.
9344 (struct image): Ditto.
9345 (image_ascent): Add prototype.
9346
9347 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9348 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9349 image_ascent instead of using IMAGE_ASCENT.
9350
9351 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9352 (IMAGE_ASCENT): Removed.
9353
9354 * xfns.c (Qcenter): New variable.
9355 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9356 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9357 (image_ascent): New function.
9358 (lookup_image): Recognize `:ascent center'.
9359 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9360 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9361 (xbm_load): Don't set image's ascent here.
9362 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9363 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9364 check ascent values here.
9365 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9366 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9367 (syms_of_xfns): Initialize Qcenter.
9368
1b0672c3
GM
9369 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9370 to the limits, increase the limits.
9371
0d7811ed
KH
93722000-05-01 Kenichi Handa <handa@etl.go.jp>
9373
9374 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9375 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9376
a943a5ca
GM
93772000-04-28 Gerd Moellmann <gerd@gnu.org>
9378
9379 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9380 taller than the window.
9381
5dba1e29
KH
93822000-04-28 Kenichi Handa <handa@etl.go.jp>
9383
9384 * xfaces.c (realize_x_face): Fix the argument of the second
9385 xassert. BASE_FACE may not be a face for ASCII.
9386
353964e3
GM
93872000-04-27 Gerd Moellmann <gerd@gnu.org>
9388
c76e04a8
GM
9389 * print.c (print_object): Treat print-length < 0 as nil.
9390
9391 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9392
9393 * s/freebsd.h (TERMCAP_OBJ): Removed.
9394 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9395
9396 * lread.c (read1): Don't treat period followed by certain
9397 characters as symbol start.
9398
9399 * xfns.c (slurp_file): New function.
9400 (xbm_image_p): Handle case of in-memory XBM files.
9401 (xbm_scan): Rewritten to work on memory buffers instead of files.
9402 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9403 Work on memory buffers instead of files. If DATA is null test
9404 if buffer looks like an in-memory XBM file.
9405 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9406 memory buffers instead of files.
9407 (xbm_file_p): New function.
9408 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9409
353964e3
GM
9410 * lread.c (end_of_file_error): New function.
9411 (read1): Call it instead of signaling `end-of-file' directly.
9412
427ec082 9413 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9414 with Fprinc instead of Fprin1.
9415
24d744ac
KR
94162000-04-26 Ken Raeburn <raeburn@gnu.org>
9417
9418 * window.c (freeze_window_start): Check that minibuffer scroll
9419 window isn't nil before extracting the window structure pointer
9420 from it.
9421
9422 * undo.c (record_delete): If we hit the end of the undo list, stop
9423 picking elements apart.
9424
7464346d
GM
94252000-04-26 Gerd Moellmann <gerd@gnu.org>
9426
9427 * xdisp.c (display_line): If lines are continued, restore
9428 iterator's ascent/descent information to the values before the
9429 first glyph not fitting on the line.
9430
612839b6
GM
94312000-04-25 Gerd Moellmann <gerd@gnu.org>
9432
9433 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9434 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9435
9436 * dispnew.c (increment_matrix_positions): Renamed from
9437 increment_glyph_matrix_buffer_positions.
9438 (increment_row_positions): Renamed from
9439 increment_glyph_row_buffer_positions.
9440
9441 * dispextern.h: Change names of renamed functions from dispnew.c
9442 in prototypes.
9443
cc181e95
GM
94442000-04-24 Gerd Moellmann <gerd@gnu.org>
9445
abfcc168
GM
9446 * fileio.c (Fdo_auto_save): Create directories for auto-save
9447 list file if necessary.
9448
cc181e95
GM
9449 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9450 from buffer or frame.
9451 (automatic_hscrolling_p): New variable.
9452 (hscroll_windows): Scroll windows horizontally only if automatic
9453 hscrolling is allowed.
9454 (syms_of_xdisp): New variable `automatic-hscrolling'.
9455
9456 * frame.h (struct frame): Add member extra_line_spacing.
9457
9458 * xfns.c (x_set_line_spacing): New function.
9459 (Fx_create_frame): Set line spacing from resources.
9460 (Qline_spacing): New variable.
9461 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9462
cc181e95
GM
9463 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9464
9465 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9466 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9467 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9468 extra_line_spacing from default value.
9469 (init_buffer_once): Initialize default value of extra_line_spacing.
9470
9471 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9472 and extra3.
9473
9474 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9475 prompt_width. Add extra line spacing.
9476
9477 * term.c (produce_glyphs): Remove reference to struct it's
9478 prompt_width.
9479
9480 * dispextern.h (struct it): Remove member prompt_width, add
9481 extra_line_spacing.
9482
58827478
GM
94832000-04-22 Gerd Moellmann <gerd@gnu.org>
9484
9485 * dispnew.c (update_frame_line): When writing a whole line, make
9486 sure cursor is in the right row afterwards, otherwise a use of
9487 capability `ch' in cmgoto might leave the cursor in the row below.
9488
25a87f42
GM
94892000-04-21 Gerd Moellmann <gerd@gnu.org>
9490
9491 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9492
9493 * keyboard.c (timer_check): Fix typo in comment.
9494
54edf5c2
KH
94952000-04-21 Kenichi Handa <handa@etl.go.jp>
9496
9497 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9498 name change: ch -> character.
9499
3a64eef5
GM
95002000-04-20 Gerd Moellmann <gerd@gnu.org>
9501
9502 * keyboard.c (echo_message_buffer): New variable.
9503 (echo_now): Set echo_message_buffer to the echo area buffer used
9504 to display the echo.
9505 (cancel_echoing): Reset echo_message_buffer to nil.
9506 (read_char): Code rewritten that handles canceling an echo or
9507 echoing a dash, respectively.
9508
9509 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9510 directory doesn't exist.
9511
6142fdcb
DL
95122000-04-19 Dave Love <fx@gnu.org>
9513
9514 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9515 (concat): Don't allow numeric args.
9516 (Fconcat): Doc change.
6142fdcb 9517
ac6b5352
SM
95182000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9519
9520 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9521 instead define end_match(1|2) more carefully.
9522 Use GET_CHAR_BEFORE_2 for `begline'.
9523
cb9215e4
GM
95242000-04-19 Gerd Moellmann <gerd@gnu.org>
9525
5e3dac3f
GM
9526 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9527 on 64-bit systems where NULL is defined as `0'.
9528
9529 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9530 the `variable argument list' to make it work on Alpha.
9531
cb9215e4
GM
9532 * m/alpha.h (_LP64) [!_LP64]: Define.
9533 (ORDINARY_LINK): Define for NetBSD.
9534
9535 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9536
f532dca0
DL
95372000-04-19 Dave Love <fx@gnu.org>
9538
c750667e
DL
9539 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9540 change.
9541
9542 * Makefile.in (LIBS): Don't use.
9543 (GETLOADAVG_OBJ): Define again.
9544 (otherobj): Add GETLOADAVG_OBJ.
9545
f532dca0
DL
9546 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9547
1c7e22fd
GM
95482000-04-18 Gerd Moellmann <gerd@gnu.org>
9549
f6d3257b
GM
9550 * lread.c (read_filtered_event): Cancel and start busy cursor.
9551
427ec082 9552 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9553 that the per-character metrics may be null.
9554
e10f64e7
GM
95552000-04-17 Gerd Moellmann <gerd@gnu.org>
9556
0daee095
GM
9557 * buffer.c (clone_per_buffer_values): New function.
9558 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9559 clone_per_buffer_values if CLONE is not nil.
9560
e10f64e7
GM
9561 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9562
38687d43
DL
95632000-04-16 Dave Love <fx@gnu.org>
9564
9565 * Makefile.in: Remove obsolete localcpp stuff.
9566 (GETLOADAVG_OBJ): Don't define.
9567 (obj): Move LIBOBJS...
9568 (otherobj): ... to here.
9569 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9570 whitespace-only lines after the continuation (Irix).
9571
c21c7262
GM
95722000-04-14 Gerd Moellmann <gerd@gnu.org>
9573
9574 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9575
9576 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9577
314767c0
DL
95782000-04-14 Dave Love <fx@gnu.org>
9579
9580 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9581 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9582 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9583 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9584 NLIST_STRUCT.
9585
9586 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9587 autoconfiscated HAVE_GETLOADAVG.
9588
9589 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9590 BROKEN_MKTIME.
9591
a2522dca
GM
95922000-04-14 Gerd Moellmann <gerd@gnu.org>
9593
9594 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9595 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9596
33744b5d
DL
95972000-04-14 Dave Love <fx@gnu.org>
9598
c21c7262 9599 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9600 (INTERVAL_SRC): Convert to make variable.
9601 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9602 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9603 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9604 add LIBOBJS.
9605 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9606 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9607 (shortlisp): Add facemenu, float-sup, frame.
9608 (SOME_MACHINE_LISP): Remove them from here.
9609 (LIBES): Change unused LDLIBS to autoconf LIBS.
9610
9611 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9612
9d3d5916
KH
96132000-04-14 Kenichi Handa <handa@etl.go.jp>
9614
9615 * composite.c (update_compositions): If FROM and TO are not in a
9616 valid range, do nothing.
9617
198e3c7a
GM
96182000-04-13 Gerd Moellmann <gerd@gnu.org>
9619
52283633 9620 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9621
52283633 9622 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9623
9624 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9625 as TERMCAP_OBJ.
9626
055a28c9
EZ
96272000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9628
9629 * fileio.c (a_write): Remove redundant semi-colons.
9630 (e_write): Return -1 if failed to write all the data.
9631 This fixes the changes made at 1999-12-15.
9632
f5c75033
DL
96332000-04-12 Dave Love <fx@gnu.org>
9634
9635 * fns.c (mapcar1): Test for null vals to support mapc.
9636 (Fmapc): New function.
9637
0c3cfc51
EZ
96382000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9639
9640 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9641 (IT_frame_up_to_date): Support the buffer local value of
9642 cursor-type, if defined.
9643
33465a31
DL
96442000-04-10 Dave Love <fx@gnu.org>
9645
9646 * editfns.c (preceding-char, following-char): Doc fix.
9647
6ed56568
KR
96482000-04-10 Ken Raeburn <raeburn@gnu.org>
9649
9650 * Makefile.in (temacs): Revert 2000-03-12 change.
9651
7cf80d4e
JR
96522000-04-10 Jason Rumney <jasonr@gnu.org>
9653
9654 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9655
34f3f342
GM
96562000-04-10 Gerd Moellmann <gerd@gnu.org>
9657
1a1b1895
GM
9658 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9659 area buffer, if it's not set up yet.
9660
34f3f342
GM
9661 * indent.c (compute_motion): Set immediate_quit.
9662
be0dbdab
GM
96632000-04-09 Gerd Moellmann <gerd@gnu.org>
9664
52283633 9665 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9666 (realize_tty_face): Suppress boldness if colors are the inverse of
9667 the default colors, and tty_suppress_bold_inverse_default_colors_p
9668 is set.
9669 (Ftty_suppress_bold_inverse_default_colors): New function.
9670 (syms_of_xfaces): Defsubr it.
9671
be0dbdab
GM
9672 * buffer.c (Frestore_buffer_modified_p): New function.
9673 (syms_of_buffer): Defsubr it.
9674
e8413c3b
KR
96752000-04-08 Ken Raeburn <raeburn@gnu.org>
9676
87f67317
KR
9677 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9678 charset id (int) argument, not a charset (Lisp_Object).
9679
e8413c3b
KR
9680 * coding.h (code_convert_string): Declare.
9681 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9682 object, as the fourth argument to code_convert_string.
9683
52283633 9684 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9685 (Fset_fontset_font): Use EQ to compare lisp objects.
9686
7c752c80
KR
96872000-04-05 Ken Raeburn <raeburn@gnu.org>
9688
c0333abc
KR
9689 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9690 a pointer that looks like a lisp object.
9691 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9692 zero, instead see whether it's an integer object, since they can't
9693 have intervals.
9694 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9695
52283633
SM
9696 * dispnew.c (allocate_matrices_for_frame_redisplay)
9697 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9698 to convert between (unsigned) int values and lisp integers.
9699 * keyboard.c (read_key_sequence): Likewise.
9700 * lread.c (substitute_object_recurse): Likewise.
9701 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9702 * minibuf.c (do_completion, Fminibuffer_complete_word)
9703 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9704 * term.c (produce_special_glyphs): Likewise.
9705
9706 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9707 * print.c (print_preprocess, print_object): Likewise.
9708
9709 * search.c (compile_pattern): Use NILP when checking for nil.
9710
74e49b38
KR
9711 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9712 __OPTIMIZE__]: Provide a GNU C macro version that handles
9713 lisp-object unions.
9714 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9715 field, to better cope with ENABLE_CHECKING and calls that modify a
9716 Lisp_Object using its old value.
9717
685e5ed2
GM
97182000-04-04 Gerd Moellmann <gerd@gnu.org>
9719
c407c570
GM
9720 * window.c (compare_window_configurations): Signal an error
9721 if parameters C1 or C2 aren't window configurations.
9722
685e5ed2
GM
9723 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9724 AFTER_POTENTIAL_GC calls around calls to functions that can
9725 signal an error and thus invoke the debugger.
9726
587a49ab
GM
97272000-04-03 Gerd Moellmann <gerd@gnu.org>
9728
62f20204
GM
9729 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9730 an error if decoding fails.
9731
587a49ab
GM
9732 * keyboard.c (lispy_mouse_names): Variable removed.
9733 (Vlispy_mouse_stem): New variable.
9734 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9735 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9736 for any mouse button number. Increase size of mouse_syms and
9737 button_down_location as needed. Call modify_event_symbol with
9738 different arguments.
9739 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9740 Call modify_event_symbol with different arguments.
9741 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9742 for any button number. Call modify_event_symbol with different
9743 arguments.
9744 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9745 Accept a string for NAME_ALIST_OR_STEM.
9746
9747 * lisp.h (larger_vector): Add prototype.
9748
9749 * fns.c (larger_vector): Make externally visible.
9750
9751 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9752
2d1675e4
SM
97532000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9754
9755 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9756 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9757 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9758 we are between str1 and str2.
9759 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9760 (PATFETCH): Use `TRANSLATE'.
9761 (PATFETCH_RAW): Fetch multibyte char if applicable.
9762 (PATUNFETCH): Remove.
9763 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9764 When writing a char, write it directly into the pattern buffer rather
9765 than going needlessly through a temp char-array.
9766 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9767 multibyte magic and remove the useless `#ifdef emacs'.
9768 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9769 buffer.
9770
9771 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9772 conditional on `emacs'.
9773
9774 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9775
cc2d8c6b
KR
97762000-04-01 Ken Raeburn <raeburn@gnu.org>
9777
9778 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9779 non-union-type versions of XMARK and friends here, because XMARK
9780 and friends won't work on an integer field if NO_UNION_TYPE is not
9781 defined.
52283633 9782 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9783
52283633 9784 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9785 (syms_of_composite): Delete local var NARGS, pass an int as first
9786 argument to Fmake_hash_table.
9787
2387b382
KR
9788 * editfns.c (text_property_stickiness): Use NILP to test
9789 Lisp_Object boolean value.
9790 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9791 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9792 problems reading from and changing the same lisp value in an
9793 XSETSTRING call.
9794
27660e89
GM
97952000-04-01 Gerd Moellmann <gerd@gnu.org>
9796
9797 * term.c (TN_no_color_video): New variable.
9798 (term_init): Intitialize TN_no_color_video.
9799 (enum no_color_bit): New enumeration.
9800 (MAY_USE_WITH_COLORS_P): New macro.
9801 (turn_on_face): Use it to determine if attributes may be used
9802 combined with colors.
9803
3578db3c
KR
98042000-04-01 Ken Raeburn <raeburn@gnu.org>
9805
9806 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9807 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9808 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9809 proper accessor macros.
9810 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9811 (grow_mini_window): Fix typo getting int value of root->height.
9812
6fc556fd
KR
9813 * xdisp.c (compute_string_pos): Fix order of arguments to
9814 string_pos_nchars_ahead.
9815 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9816 count arg to variable-arg routines like Frun_hook_with_args and
9817 Fformat.
587a49ab
GM
9818 (back_to_previous_visible_line_start)
9819 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9820 fixed-arg routines like Fget_char_property and Fmake_string.
9821 (reconsider_clip_changes): Use XINT when comparing integer lisp
9822 objects, or passing them as int arguments.
587a49ab
GM
9823 (mark_window_display_accurate, insert_left_trunc_glyphs)
9824 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9825 storing or passing integer values as lisp objects.
9826 (set_cursor_from_row, highlight_trailing_whitespace): Use
9827 INTEGERP, not implicit test against zero, for glyph object.
9828 (try_window_id): Don't use make_number when we want an int value.
9829
9830 * xfaces.c (xlfd_symbolic_value): Make last argument a
9831 Lisp_Object, to be consistent with callers.
9832 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9833 (lface_hash): Apply XFASTINT to lisp values before folding in.
9834
9835 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9836 fill in window width and height. Pass an int, not a lisp object,
9837 as first arg to Finsert.
9838
6e7b2457
GM
98392000-04-01 Gerd Moellmann <gerd@gnu.org>
9840
610d841e
GM
9841 * xfaces.c (realize_basic_faces): Block input while realizing
9842 the faces.
9843
6e7b2457
GM
9844 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9845
9846 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9847
aa110c0c
GM
98482000-03-31 Gerd Moellmann <gerd@gnu.org>
9849
9850 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9851 or ASCII, handle case that per-char metric is null.
aa110c0c 9852
8801a864
KR
98532000-03-30 Ken Raeburn <raeburn@gnu.org>
9854
c6129d7e
KR
9855 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9856
52283633
SM
9857 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9858 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9859 pointer, using eassert.
9860 * frame.h (XFRAME): Likewise.
9861
52283633
SM
9862 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9863 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9864 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9865 * data.c (set_internal): Likewise.
52283633
SM
9866 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9867 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9868 * fileio.c (auto_save_1): Likewise.
9869 * insdel.c (check_markers): Likewise.
9870 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9871 * undo.c (record_insert): Likewise.
9872 * vmsproc.c (child_sig): Likewise.
9873 * window.c (unshow_buffer, window_loop): Likewise.
9874 * xterm.c (x_erase_phys_cursor): Likewise.
9875
8e7af858
GM
98762000-03-30 Gerd Moellmann <gerd@gnu.org>
9877
9878 * xfns.c (free_image_cache): Free the cache structure itself
9879 last, after all its members have been freed.
9880
9881 * lisp.h (xstrdup): Add prototype.
9882
9883 * alloc.c (xstrdup): Moved here from xfaces.c.
9884 (allocating_for_lisp): Variable removed.
52283633 9885 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9886
9887 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9888 of Fsymbol_value.
9889 (xstrdup): Moved to alloc.c.
9890
e0b8c689
KR
98912000-03-29 Ken Raeburn <raeburn@gnu.org>
9892
b96f9fb7
KR
9893 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9894
9895 * emacs.c (main): Fix sense of no-loadup test.
9896
e0b8c689
KR
9897 * config.in (ENABLE_CHECKING): Undef.
9898
9899 * lisp.h (struct interval): Replace "parent" field with a union of
9900 interval pointer and Lisp_Object; add new bitfield to use as
9901 discriminant. Change other flag fields to bitfields.
9902 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9903 is defined and the supplied test fails, print a message and abort.
9904 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9905
9906 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9907 pointers; abort if the value looks like a lisp object.
52283633
SM
9908 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9909 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9910 Modify for new interval parent definition.
9911
52283633
SM
9912 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9913 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9914 addressable lisp object in the interval structure.
9915 (die): New function.
9916 (suppress_checking): New variable.
9917
9918 * intervals.c (interval_start_pos): Just return 0 if there's no
9919 parent object.
9920
f83c5440
GM
99212000-03-29 Gerd Moellmann <gerd@gnu.org>
9922
9923 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9924 and earlier Emacs versions.
9925
9926 * keyboard.c (Ftop_level): Cancel busy-cursor.
9927
9928 * eval.c (call_debugger): Cancel busy-cursor.
9929
fdce64ff
KH
99302000-03-29 Kenichi Handa <handa@etl.go.jp>
9931
9932 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9933 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9934
f6a3f532
SM
99352000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9936
9937 * regex.c (analyse_first): New function obtained by ripping out most
9938 of re_compile_fastmap and generalizing it a little bit so that it
9939 can also just return whether a given (sub)pattern can match the empty
9940 string or not.
9941 (regex_compile): Use `analyse_first' to decide whether the loop-check
9942 needs to be done or not for *, +, *? and +? (the loop check is costly
9943 for non-greedy repetition).
9944 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9945
e9b309ac
DL
99462000-03-28 Dave Love <fx@gnu.org>
9947
52283633 9948 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9949
e9b309ac
DL
9950 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9951
ed0767d8
SM
99522000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9953
9954 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9955 an expression.
9956 (enum re_opcode_t): Update description of succeed_n.
9957 (PATFETCH): Always define.
9958 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9959 operators, char classes, shy-groups and intervals).
9960 Optimize special cases of intervals so as to only use succeed_n and
9961 jump_n when really needed.
9962 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9963 that we don't have to handle the special cases any more.
9964 Simplify on_failure_jump handling as well.
9965
e11e7e46
JR
99662000-03-28 Jason Rumney <jasonr@gnu.org>
9967
9968 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9969
88faab89
GM
99702000-03-27 Gerd Moellmann <gerd@gnu.org>
9971
182ff242
GM
9972 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9973
9974 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9975
182ff242
GM
9976 * alloc.c (mark_maybe_object): New function.
9977 (mark_memory): Use it.
9978 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9979 (setjmp_tested_p, longjmp_done): New variables.
9980 (test_setjmp): New function.
9981 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9982 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9983
c1005d06
GM
9984 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9985 to DEC_TEXT_POS and INC_TEXT_POS.
9986
9987 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9988 with parameter MULTIBYTE_P.
9989
52283633 9990 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9991
7439e5b9 9992 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9993 buffers because it looks for multibyte character byte sequences
9994 which don't exist in unibyte text.
7439e5b9 9995
d9c545da
GM
9996 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9997
11fd416e 9998 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9999 [DEBUG_X_COLORS]: New functions.
10000 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10001
10002 * xfns.c (x_set_cursor_color): Get color reference counts right.
10003
10004 * xterm.c (x_copy_color): New function.
10005 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10006
10007 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10008 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10009 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10010 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10011 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10012 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10013 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10014 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10015 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10016 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10017
11fd416e
GM
10018 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10019 names for handling per-buffer variables.
d9c545da
GM
10020
10021 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10022 instead of MAX_BUFFER_LOCAL_VARS.
10023 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10024
10025 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10026
88faab89
GM
10027 * xfns.c (x_specified_cursor_type): New function.
10028 (x_set_cursor_type): Use it.
10029
10030 * buffer.h (struct buffer): Add cursor_type.
10031
d80f42b7
SM
100322000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10033
10034 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10035 (print_partial_compiled_pattern, re_compile_fastmap):
10036 Handle new opcode.
d80f42b7
SM
10037 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10038 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10039 executing it as well as when popping it off the stack to find infinite
10040 loops in non-greedy repetition operators.
10041
89e80928
GM
100422000-03-26 Gerd Moellmann <gerd@gnu.org>
10043
3d4ff2dd
GM
10044 * doc.c (Qfunction_documentation): New variable.
10045 (syms_of_doc): Initialize Qfunction_documentation.
10046 (Fdocumentation): If FUNCTION is a symbol with non-nil
10047 `function-documentation' property, return a documentation derived
10048 from that.
10049
bd96bd79
GM
10050 * buffer.c (syms_of_buffer): Add default-cursor-type.
10051 (init_buffer_once): Don't let cursor_type have a local value
10052 in every buffer.
10053
19d1bc27
GM
10054 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10055 on buffer-local value of cursor_type.
10056 (x_draw_bar_cursor): Add parameter WIDTH.
10057
10058 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10059 (init_buffer_once): Set default cursor_type value to t.
10060 Mark cursor_type as local everywhere.
10061 (syms_of_buffer): New per-buffer variable cursor-type.
10062
89e80928
GM
10063 * buffer.h (struct buffer): Remove member local_var_flags,
10064 add local_flags.
10065 (MAX_BUFFER_LOCAL_VARS): New macro.
10066 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10067 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10068 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10069 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10070
52283633 10071 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10072
10073 * category.c (Fset_category_table): Use new macros for per-buffer
10074 variables.
10075
10076 * buffer.c (buffer_permanent_local_flags): Make a char array.
10077 (max_buffer_local_idx): New variable.
10078 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10079 for new handling of per-buffer variables.
10080 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10081 (init_buffer_once): Initialize per-buffer vars differently.
10082 Set max_buffer_local_idx.
10083
10084 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10085 variables.
10086
52283633 10087 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10088
10089 * data.c (do_symval_forwarding, store_symval_forwarding)
10090 (find_symbol_value, set_internal, default_value, Fset_default)
10091 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10092 per-buffer variables.
10093
10094 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10095
9a0dd3dc
GM
100962000-03-24 Gerd Moellmann <gerd@gnu.org>
10097
b68c375f
GM
10098 * xterm.c (x_term_init): Unblock input around call1 of
10099 Qvendor_specific_keysyms.
10100
9a0dd3dc
GM
10101 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10102 (find_defun_start): Consider an open parenthesis in column 0
10103 a defun start only if open_paren_in_column_0_is_defun_start is set.
10104 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10105
7973e637
SM
101062000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10107
10108 * eval.c (Fautoload): Add entry in load-history (if after dump).
10109 * lread.c (load-history): Update docstring.
10110
39210e90
GM
101112000-03-24 Gerd Moellmann <gerd@gnu.org>
10112
10113 * indent.c (Fvertical_motion): Always use the current buffer.
10114 Temporarily change the window's buffer, if necessary.
10115
72db3ab5
GM
101162000-03-23 Gerd Moellmann <gerd@gnu.org>
10117
10118 * xterm.c (fast_find_position): Make sure not to consider rows
10119 not visible in the window.
10120
990b2375
SM
101212000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10122
10123 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10124 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10125
ff4df011
JR
101262000-03-22 Jason Rumney <jasonr@gnu.org>
10127
10128 * w32menu.c (single_submenu): Set help string to NULL if none.
10129 (w32_menu_show): Set help string correctly.
10130 (add-menu-item): Set help string in MIIM_DATA for menu item.
10131 Load SetMenuItemInfoA explicitly.
10132 (w32_menu_display_help): New function.
427ec082 10133
ff4df011
JR
10134 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10135 (QCdata): Moved to xdisp.c.
10136
10137 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10138 (Vw32_charset_to_codepage_alist): Removed.
10139 (Vw32_charset_info_alist): New variable.
52283633
SM
10140 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10141 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10142 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10143 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10144 with TODO comment.
10145 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10146 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10147 Define Vw32_charset_info_alist and w32_charset symbols.
10148
101492000-03-22 Jason Rumney <jasonr@gnu.org>
10150
10151 * makefile.nt (w32bdf.obj): Update dependencies.
10152
10153 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10154
10155 * w32fns.c: Include fontset.h after dispextern.h.
10156 (Fx_create_frame): Do not create fontset.
10157 (w32_load_system_font): Doc fix.
10158 (Fx_close_connection): Free full_name if it is not shared.
10159
10160 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10161 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10162 Callers updated.
ff4df011
JR
10163 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10164 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10165 (w32_font_is_double_byte): New function, needs body.
10166 (x_append_glyph): Set glyph->glyph_not_available_p.
10167 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10168 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10169 character, convert it to a unibyte character.
10170 (struct glyph_string): Delete member `charset'.
10171 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10172 calculating it is found.
10173 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10174 the case that per char metric is not available correctly.
10175 (x_fill_glyph_string): Handle the case that the specific glyph is
10176 not available correctly.
10177 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10178 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10179 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10180 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10181 fontset. Don't call FS_LOAD_FONT.
10182
439d5cb4
KR
101832000-03-22 Ken Raeburn <raeburn@gnu.org>
10184
10185 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10186 (INT_LISPLIKE): New macro.
10187 (NULL_INTERVAL_P): Use it.
52283633
SM
10188 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10189 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10190 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10191
10192 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10193 explicit references to "parent" field of struct interval and
10194 associated unclean type conversions.
52283633
SM
10195 * intervals.c (create_root_interval, root_interval, rotate_right)
10196 (rotate_left, balance_possible_root_interval, split_interval_right)
10197 (split_interval_left, interval_start_pos, find_interval)
10198 (next_interval, previous_interval, update_interval)
10199 (adjust_intervals_for_insertion, delete_node, delete_interval)
10200 (adjust_intervals_for_deletion, merge_interval_right)
10201 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10202 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10203 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10204 Likewise.
10205 * syntax.c (update_syntax_table): Likewise.
10206
10207 * intervals.c (reproduce_tree_obj): New function, like
10208 reproduce_tree but takes a Lisp_Object for the parent. Declare
10209 with prototype.
10210 (graft_intervals_into_buffer): Use it when appropriate.
10211 (reproduce_tree): Declare with prototype.
10212 (balance_possible_root_interval): Check that the parent is a lisp
10213 object before trying to examine its type.
10214
ee1c5b21
GM
102152000-03-22 Gerd Moellmann <gerd@gnu.org>
10216
10217 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10218 as strings only if both are known to be strings.
10219
10220 * s/openbsd.h (LIBS_TERMCAP): Undef.
10221
1fb352e0
SM
102222000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10223
10224 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10225 definitions for non-Emacs compilation.
10226 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10227 outside of `#ifdef emacs'.
10228 (print_partial_compiled_pattern): Update.
10229 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10230 (re_compile_fastmap): Merge handling of charset and charset_not (for
10231 emacs and non-emacs compilation as well).
10232 Similarly for (not)categoryspec and (not)syntaxspec.
10233 Don't use the fastmap when reaching `anychar' since the added
10234 complexity is not justified.
10235 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10236 and (not)syntaxspec. Merge (not)categoryspec.
10237
fdaa1f77
KH
102382000-03-22 Kenichi Handa <handa@etl.go.jp>
10239
52283633
SM
10240 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10241 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10242 --without-x.
fdaa1f77 10243
d152fb46
DL
102442000-03-21 Dave Love <fx@gnu.org>
10245
10246 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10247 doc string.
10248
d2cafc8c
GM
102492000-03-21 Gerd Moellmann <gerd@gnu.org>
10250
10251 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10252 (lface_fully_specified_p): Don't check contents of
10253 LFACE_FONT_INDEX because that attribute is optional.
10254 (realize_x_face): Remove now unwarranted xassert.
10255
9111d4b5
KH
102562000-03-21 Kenichi HANDA <handa@etl.go.jp>
10257
10258 The following changes are to make font selection based on
10259 characters, not charset. In addition, they recover fontset
10260 facilities while utilizing the new font selection mechanism.
10261
6c4bfdc0
KH
10262 * Makefile.in (fontset.o): Depend on dispextern.h.
10263
10264 * alloc.c (mark_face_cache): Don't mark face->registry.
10265
9111d4b5
KH
10266 * dispextern.h (struct glyph): New member glyph_not_available_p.
10267 Use 22 bits for face_id.
10268 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10269 (struct face): Delete member registry, new member ascii_face.
10270 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10271 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10272 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10273 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10274
10275 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10276 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10277 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10278 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10279 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10280 (fs_free_face_fontset, fontset_font_pattern)
10281 (face_suitable_for_char_p, face_for_char)
10282 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10283 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10284 (FS_LOAD_FACE_FONT): New macro.
10285
10286 * fontset.c: All codes rewritten or adjusted for the change of
10287 fontset implementation. Now fontset is represented by char table.
52283633
SM
10288 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10289 Variables removed.
9111d4b5 10290 (my_strcasecmp): Function removed.
52283633 10291 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10292 (AREF, ASIZE): New macros.
52283633
SM
10293 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10294 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10295 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10296 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10297 (fontset_id_valid_p, font_family_registry, fontset_name)
10298 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10299 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10300 New functions.
10301 (fs_load_font): New arg FACE. Caller changed.
10302 (fs_query_fontset): Argument changed. Caller changed.
10303 (Fquery_fontset): call fs_query_fontset.
10304 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10305 Functions removed.
52283633
SM
10306 (clear_fontset_elements, check_registry_encoding)
10307 (check_fontset_name): New functions.
9111d4b5
KH
10308 (syms_of_fontset): Set char-table-extra-slots property of fontset
10309 to 3. Staticpro and initialize Vfontset_table and
10310 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10311
10312 * frame.h (struct frame): Member `fontset_data' removed.
10313 (FRAME_FONTSET_DATA): Macro removed.
10314
10315 * frame.c (make_frame): Don't allocate f->fontset_data.
10316 (Fdelete_frame): Don't free f->fontset_data.
10317
6c4bfdc0
KH
10318 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10319
9111d4b5
KH
10320 * xdisp.c (charset_at_position): Function removed.
10321 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10322 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10323 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10324 Likewise.
10325 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10326 FACE_FOR_CHARSET.
52283633
SM
10327 (get_next_display_element, append_space)
10328 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10329
10330 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10331 Variables removed.
10332 (clear_font_table, frame_update_line_height, load_face_font):
10333 Adjusted for the change of fontset implementation.
10334 (load_face_fontset_font): Function removed.
10335 (pixel_point_size): New function.
10336 (font_list): Argument type changed. Caller changed.
10337 (LFACE_FONT): New macro.
10338 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10339 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10340 Lisp_Object. Determine the font name by actually loading a font
10341 by the specified pattern. Set LFACE_FONT (lface) to the specified
10342 pattern. Even if a font is not found, don't try alternatives.
10343 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10344 (set_font_frame_param): If `font' is specified in lface, use it.
10345 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10346 (lface_same_font_attributes_p): Likewise.
10347 (make_realized_face): Arguent changed. Caller changed. Set
10348 face->ascii_face to face itself.
10349 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10350 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10351 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10352 (free_realized_multibyte_face): New function.
10353 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10354 changed. Caller changed.
10355 (try_font_list): Argument type changed.
10356 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10357 (choose_face_font): Argument changed. Handle fontset properly.
10358 (choose_face_fontset_font): Function removed.
10359 (realize_default_face, realize_named_face): Don't remove the
10360 former face here.
10361 (realize_face): Argument changed. Caller changed. Remove face
52283633 10362 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10363 (realize_x_face): Argument changed. Caller changed. For a
10364 multibyte character, share fontset with base_face. For a single
52283633 10365 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10366 (realize_tty_face): Argument changed. Caller changed.
10367 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10368 (face_at_buffer_position): Don't check multibyte_p for returning
10369 DEFAULT_FACE_ID.
10370 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10371 FACE_SUITABLE_FOR_CHARSET_P.
10372 (syms_of_xfaces): Remove code for Qx_charset_registry and
10373 Vface_default_registry.
10374
6c4bfdc0
KH
10375 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10376 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10377 (x_per_char_metric): Don't try FONT->default_char. Even if
10378 pcm->width is zero, glyph bits may exist.
10379 (x_encode_char): Always initialize char2b->byte1.
10380 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10381 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10382 (x_append_glyph): Set glyph->glyph_not_available_p.
10383 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10384 it->charset. Handle the case that per char metric is not
10385 available. If it->multibyte_p is zero and it->c is a multibyte
10386 character, convert it to a unibyte character.
10387 (struct glyph_string): Delete member `charset'.
10388 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10389 the case that per char metric is not available correctly.
10390 (x_fill_glyph_string): Handle the case that the specific glyph is
10391 not available correctly.
10392 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10393 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10394 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10395 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10396 fontset. Don't call FS_LOAD_FONT.
10397
10398 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10399 (x_create_tip_frame): Likewise.
10400 (Fx_close_connection): Free full_name of font_info.
10401
10402 * fns.c (optimize_sub_char_table): New function.
10403 (Foptimize_char_table): New function.
10404 (syms_of_fns): Defsubr Soptimize_char_table.
10405
b33dd3b0
GM
104062000-03-20 Gerd Moellmann <gerd@gnu.org>
10407
10408 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10409 only if buffer is displayed in some window.
10410
10411 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10412 (try_window_reusing_current_matrix): Don't call scroll run
10413 function if run's current and desired position are the same;
10414 this prevents cursor flickering.
10415
4e8a9132
SM
104162000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10417
10418 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10419
10420 * regex.c (RE_STRING_CHAR): New macro.
10421 (GET_CHAR_AFER_2): Remove.
10422 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10423 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10424 (print_partial_compiled_pattern, re_compile_fastmap)
10425 (re_match_2_internal): Remove on_failure_jump_exclusive.
10426 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10427 optimization only need to work for * (ie. can use of_keep_string_jump).
10428 Remove the special case for .*\n since it is now covered by the general
10429 optimization.
10430 (re_search_2): Don't bother with `room'.
10431 (skip_one_char): New function.
10432 (skip_noops): Simplify since `memory' is not needed any more.
10433 (mutually_exclusive_p): Restructure slightly to use `switch' and
10434 add handling for "all" remaining cases.
10435 (re_match_2_internal): Change on_failure_jump_smart to use
10436 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10437 rather than on_failure_jump_exclusive.
10438
2136fdd4
GM
104392000-03-19 Gerd Moellmann <gerd@gnu.org>
10440
10441 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10442 number of bits per RGB because it's everywhere used as the depth
10443 of the visual.
10444
10445 * term.c (calculate_costs): Remove code dealing with X frames.
10446
18e21ce8 104472000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10448
10449 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10450
d7b511c4
GM
104512000-03-18 Gerd Moellmann <gerd@gnu.org>
10452
10453 * lread.c (read_integer): Unread the last char not consumed.
10454
16b5d424
GM
104552000-03-17 Gerd Moellmann <gerd@gnu.org>
10456
10457 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10458 which are in the process of being deleted.
16b5d424 10459
1fa28578
GM
104602000-03-16 Gerd Moellmann <gerd@gnu.org>
10461
83488cce
GM
10462 * Makefile.in (mostlyclean): Add `*.core'.
10463 (clean): Add `bootstrap-emacs'.
10464
1fa28578
GM
10465 * lread.c (read_integer): New function.
10466 (read1): Support read syntax #o, #x, #b, #r.
10467
99633e97
SM
104682000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10469
1fa28578
GM
10470 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10471 make sure POINTER_TO_OFFSET gives the same value before and after
10472 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10473 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10474 (debug): Now only active if > 0 rather than if != 0.
10475 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10476 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10477 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10478 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10479 (store_op1, store_op2, insert_op1, insert_op2)
10480 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10481 (group_in_compile_stack): Move to after its arg's types are
10482 declared and add a prototype.
99633e97 10483 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10484 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10485 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10486 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10487 indentation of the greedy-op and shy-group code.
99633e97
SM
10488 (at_(beg|end)line_loc_p): Fix argument's types.
10489 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10490 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10491 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10492 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10493 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10494 QUIT unconditionally.
99633e97 10495
699238d9
GM
104962000-03-15 Gerd Moellmann <gerd@gnu.org>
10497
10498 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10499 a sole completion.
10500
10501 * process.c (send_process): Add a hint that the function
10502 can call Lisp code to its comment.
10503
10504 * lread.c (load_dangerous_libraries): New variable.
10505 (Vbytecomp_version_regexp): New variable.
10506 (safe_to_load_p): New function.
10507 (Fload): Handle files not compiled with Emacs specially.
10508 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10509
34e23e5a
GM
105102000-03-14 Gerd Moellmann <gerd@gnu.org>
10511
9c763cca
GM
10512 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10513
10514 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10515 support functions only if HAVE_X11R6_XIM is defined.
10516 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10517
10518 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10519
10520 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10521 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10522 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10523
10524 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10525 (HAVE_X11R6_XIM): Define.
10526
10527 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10528
34e23e5a
GM
10529 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10530 If set, call XSynchronize.
10531
66f0296e
SM
105322000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10533
34e23e5a
GM
10534 * regex.c: Declare a new type `re_char' used throughout the code
10535 for the string char type. It's `const unsigned char' to match the
10536 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10537 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10538 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10539 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10540 code duplication.
66f0296e
SM
10541
10542 * charset.h (GET_CHAR_AFTER_2): Remove.
10543 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10544
854a025c
KR
105452000-03-12 Ken Raeburn <raeburn@gnu.org>
10546
10547 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10548 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10549 of them try to use backquotes.
10550
b9d2c7e2
DL
105512000-03-12 Dave Love <fx@gnu.org>
10552
10553 * unexelf.c: Restore changes of 1999-10-19.
10554 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10555 fix its type and alignment; copy it from current process.
10556
5e5dff44
GM
105572000-03-12 Gerd Moellmann <gerd@gnu.org>
10558
9b2f3c38
GM
10559 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10560 has been found. Fix bug not computing timer's predecessor.
10561
427ec082 10562 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10563 file name.
10564
e1cff360
GM
10565 * window.c (Fsave_window_excursion): Doc fix.
10566
52283633 10567 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10568
e411ce4b
EZ
105692000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10570
10571 * msdos.c (vga_installed): New function, code moved from
10572 dos_set_window_size.
10573 (Qbar, Qcursor_type, outside_cursor): New variables.
10574 (syms_of_msdos): Intern and staticpro them.
10575 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10576 shape used outside Emacs when called for the first time.
10577 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10578 cursor shape used outside Emacs.
10579 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10580 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10581 type has changed.
10582 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10583 parameters specify the cursor. Make qreverse a global
10584 variable (renamed to Qreverse).
10585
80460654
GM
105862000-03-09 Gerd Moellmann <gerd@gnu.org>
10587
10588 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10589
95cd4c40
SM
105902000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10591
10592 This is a big redesign of failure-stack and register handling, prompted
10593 by bugs revealed when trying to add shy-groups. Overall, what happened
10594 is that loops are now structured a little differently, groups can be
10595 shy and the code is a little simpler.
10596
10597 * regex.h: Update the copyright.
10598 (RE_SHY_GROUPS): New value.
10599 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10600 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10601
80460654
GM
10602 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10603 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10604 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10605 for (start|stop)_memory since they now only take one argument (the
10606 second has becomes unnecessary).
52283633 10607 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10608 (print_compiled_pattern): Use %ld to printf long ints and flush to
10609 make debugging a little easier.
95cd4c40
SM
10610 (union fail_stack_elt): Make the integer unsigned.
10611 (struct fail_stack_type): Add a `frame' element.
10612 (INIT_FAIL_STACK): Init `frame' as well.
10613 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10614 (DEBUG_PUSH, DEBUG_POP): Remove.
10615 (NUM_REG_ITEMS): Remove.
10616 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10617 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10618 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10619 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10620 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10621 New macros.
80460654
GM
10622 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10623 address pushed is not the destination of the jump but the source
10624 of it instead.
95cd4c40
SM
10625 (NUM_FAILURE_ITEMS): Remove.
10626 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10627 registers before the actual failure point). Don't hardcode any
10628 meaning for str==NULL anymore.
95cd4c40 10629 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10630 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10631 Remove.
95cd4c40
SM
10632 (REG_UNSET_VALUE): Use NULL (why not?).
10633 (compile_range): Remove declaration since it doesn't exist.
10634 (struct compile_stack_elt_t): Remove inner_group_offset.
10635 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10636 (regex_grow_registers): Remove dead code.
10637 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10638 (regex_compile): Add shy-groups Change loops to use
10639 on_failure_jump_smart&jump instead of
10640 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10641 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10642 variable to me). Use `jump' instead of `jump_past_alt' and don't
10643 bother with push_dummy_failure in alternatives since it is now
10644 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10645 emacs' for (re)allocating the stack.
10646 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10647 from loop when bufp->can_be_null rather than jumping to `done'.
10648 Avoid jumping backwards so as to ensure termination. Use
10649 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10650 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10651 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10652 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10653 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10654 (lowest_active_reg, highest_active_reg)
10655 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10656 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10657 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10658 variables. Push register (in `start_memory') on the stack rather
10659 than storing it in old_reg(start|end). Remove the cycle detection
10660 from `stop_memory', replaced by the use of on_failure_jump_loop
10661 for greedy loops. Add code for the new on_failure_jump_<foo>.
10662 Remove ad-hoc code in `on_failure_jump' to push more registers in
10663 the case of a loop. Take out code from `maybe_pop_jump' into
10664 separate functions and adapt it to the semantics of
10665 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10666 and push_dummy_failure. Remove dummy_failure handling and
10667 handling of `failures to jump to on_failure_jump' (this last one
10668 was already dead code, it seems).
10669 (group_match_null_string_p, alt_match_null_string_p)
10670 (common_op_match_null_string_p): Remove.
95cd4c40 10671
7397acc4
DL
106722000-03-08 Dave Love <fx@gnu.org>
10673
10674 * config.in: Don't depend on __STDC__ for volatile.
10675 Add POINTER_TYPE, PTR, PROTOTYPES.
10676
10677 * hftctl.c, strftime.c: Use PROTOTYPES.
10678 * eval.c (find_handler_clause): Likewise.
10679
10680 * mem-limits.h: Use POINTER_TYPE.
10681
10682 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10683 (memory_warnings): Declare using POINTER_TYPE.
10684
5e91ff9e
GM
106852000-03-08 Gerd Moellmann <gerd@gnu.org>
10686
feab4fba
GM
10687 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10688
52283633 10689 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10690
5e91ff9e
GM
10691 * xfns.c: Remove obsolete code in #if 0.
10692 (Fx_focus_frame): New function.
10693
a735b7e1
KH
106942000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10695
10696 * coding.c (coding_category_name): Add coding-category-utf-8,
10697 coding-category-utf-16-be, coding-category-utf-16-le.
10698 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10699 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10700 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10701 (detect_coding_utf_8): New function.
10702 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10703 UTF_16_LOW_SURROGATE_P): New macros.
10704 (detect_coding_utf_16): New function
10705 (detect_coding_mask): When priorities are specified, skip any
10706 categories that have `nil' coding-system. Fix bug of returning
10707 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10708 returns a mask not set in PRIORITIES.
10709 (detect_eol_type_in_2_octet_form): New function.
10710 (detect_eol): selects detect_eol_type_XXX to call according to
10711 cooding->category_idx.
10712 (detect_coding_system): Remove `nil' coding-system in the result.
10713 (Fupdate_coding_systems_internal): Update all coding-categories.
10714
52283633
SM
10715 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10716 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10717 New macros.
10718 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10719 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10720 (CODING_CATEGORY_IDX_UTF_16_LE)
10721 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10722 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10723 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10724 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10725
9994cc69
GM
107262000-03-07 Gerd Moellmann <gerd@gnu.org>
10727
e9b4e5ff
GM
10728 * doc.c (Fdocumentation_property): If value is not a string,
10729 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10730
f7daf1e1
GM
10731 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10732 close the display with XtCloseDisplay. This caused a bus error
10733 on OpenWindows.
10734
9994cc69
GM
10735 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10736 complete but not unique.
10737
4336c705
GM
107382000-03-06 Gerd Moellmann <gerd@gnu.org>
10739
18bb0684
GM
10740 * process.c (send_process): Remove local variable `procname' that
10741 might become invalid when a GC happens. Instead, access the
10742 process name slot directly.
10743
4336c705
GM
10744 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10745 orig_height if set.
10746
10747 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10748 orig_height if set.
10749
515d0d0e
EZ
107502000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10751
10752 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10753 glyph matrices have been freed.
10754
100b3cbb
GM
107552000-03-05 Gerd Moellmann <gerd@gnu.org>
10756
50df5e5a 10757 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10758 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10759
10760 * xfns.c (QCdata): Moved to xdisp.c.
10761
10762 * xdisp.c (QCdata): Moved here from xfns.c.
10763 (syms_of_xdisp): Initialize QCdata.
10764
10765 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10766
10767 * window.c (coordinates_in_window): Use
10768 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10769 FRAME_INTERNAL_BORDER_WIDTH.
10770
100b3cbb 10771 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10772 it is obviously invalid.
100b3cbb
GM
10773
10774 * xterm.c (x_term_init): Create a colormap if not using the
10775 default visual.
10776
10777 * xterm.h (select_visual): Change prototype.
10778
10779 * xfns.c (select_visual): Rewritten. Recognize user-specified
10780 visual classes.
10781 (visual_classes): New variable.
10782
64d739c4
GM
107832000-03-04 Gerd Moellmann <gerd@gnu.org>
10784
10785 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10786 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10787 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10788 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10789 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10790 XtNcolormap resources.
10791 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10792 (Fx_create_frame): Initialize color members of x_output structure.
10793 (xpm_load): Pass colormap to XPM lib.
10794
10795 * xfaces.c (x_free_colors): Access colormap of frame using
10796 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10797 when default colormap is used.
10798
10799 * xterm.c (x_term_init): Set Colormap member of x_display_info
10800 structure. Copy colormap if resource `privateColormap' is
10801 specified (PseudoColor only).
10802 (x_setup_relief_color): Access colormap of frame using
10803 FRAME_X_COLORMAP.
10804
10805 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10806 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10807
c3cee013
JR
108082000-03-04 Jason Rumney <jasonr@gnu.org>
10809
10810 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10811 other non-platform-specific equivalents.
64d739c4 10812 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10813 specific functions and macros as their w32 equivalents where
10814 non-platform-specifics are not available.
10815 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10816 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10817 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10818 (frame_update_line_height): Use macros to access f->output_data.
10819 (defined_color): Remove FIXME comments; fixed.
10820 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10821 into #ifdef blocks. Add WINDOWSNT blocks.
10822 (Fx_list_fonts): Use macros for accessing font data.
10823 (set_lface_from_font_name): Different default fonts for X and
10824 WINDOWSNT.
10825 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10826 scalable for backward compatibility.
64d739c4 10827 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10828 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10829
64d739c4 10830 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10831 syms_of_w32faces.
10832
10833 * makefile.nt (w32faces.obj): Remove.
10834 (xfaces.obj): Add.
10835
807cc41c
JR
108362000-03-03 Jason Rumney <jasonr@gnu.org>
10837
10838 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10839 correct parameters.
10840
0007072a
KR
108412000-03-03 Ken Raeburn <raeburn@gnu.org>
10842
10843 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10844 standard ELF definitions here if the system header does not.
10845
71a6ba55
GM
108462000-03-03 Gerd Moellmann <gerd@gnu.org>
10847
10848 * xterm.c (PER_CHAR_METRIC): Removed.
10849 (x_per_char_metric_1, x_default_char): New functions.
10850 (x_per_char_metric): If font's default char is invalid, return
10851 metrics of a suitably chosen usable default char.
10852 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10853 char, replace occurrences of unprintable chars with a suitably
10854 chosen usable default char.
71a6ba55 10855
900fa1f1
GM
108562000-03-02 Gerd Moellmann <gerd@gnu.org>
10857
42f55fe0
GM
10858 * xterm.c (note_mouse_highlight): Return quickly if frame's
10859 glyph matrices have been freed.
10860
10861 * dispnew.c (free_glyphs): Block input while freeing matrices.
10862
900fa1f1
GM
10863 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10864
52283633
SM
10865 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10866 Use x_free_colors.
900fa1f1
GM
10867
10868 * dispextern.h (x_free_colors): Add prototype.
10869
10870 * xfaces.c (x_free_colors): New function.
10871 (unload_color, free_face_colors): Use it.
10872
2f950292
EZ
108732000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10874
10875 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10876
10877 * window.c [MSDOS]: Include msdos.h.
10878
54d04320
DL
108792000-03-02 Dave Love <fx@gnu.org>
10880
10881 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10882
10883 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10884 set C_OPTIMIZE_SWITCH for gcc.
10885
0ba93ac4
KH
108862000-03-02 Kenichi Handa <handa@etl.go.jp>
10887
10888 * coding.c (coding_save_composition): Be sure to allocate
10889 composition data area in coding even if there's no composition in
10890 the current run.
10891
a2bc11d4
JR
108922000-03-01 Jason Rumney <jasonr@gnu.org>
10893
10894 * w32term.c: Equivalent changes to those made to xterm.c on
10895 2000-02-25 and 2000-02-24.
10896
10897 * w32fns.c: Equivalent changes to those made to xfns.c on
10898 2000-02-25 and 2000-02-21.
10899
10900 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10901 correct line-end convention is followed.
10902
10903 * w32menu.c [HAVE_BOXES]: Remove #undef.
10904 (single_keymap_panes): Remove code for simulating checkmarks.
10905 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10906 Remove code for drawing simulated checkmarks.
10907 (w32_menu_show): make unibyte help string correctly.
10908 (add_menu_item): draw standard Windows checkmarks. Draw radio
10909 buttons as radio buttons if possible.
10910
72d19d75
GM
109112000-03-01 Gerd Moellmann <gerd@gnu.org>
10912
2df636f4
GM
10913 * sysdep.c (start_of_text): Don't define this function for NetBSD
10914 with ELF.
10915
427ec082 10916 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10917 Don't define.
10918 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10919 (LINKER): Don't undef if __NetBSD__ is defined.
10920
10921 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10922
10923 * fileio.c [__NetBSD__]: Define `unix'.
10924
72d19d75
GM
10925 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10926
ed4d0512
GM
109272000-02-29 Gerd Moellmann <gerd@gnu.org>
10928
50b1039f
GM
10929 * atimer.c (start_atimer): Don't abort when timers are stopped.
10930 (append_atimer_lists): New function.
10931 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10932 arbitrary lists of stopped and running atimers.
10933
ed4d0512
GM
10934 * atimer.c (cancel_atimer): Handle canceling an atimer when
10935 some timers are stopped.
10936
10937 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10938 after canceling it.
10939
10940 * fns.c (maybe_resize_hash_table): Handle case of new size
10941 coming out as being the same as old size.
10942
387023ee
JR
109432000-02-27 Jason Rumney <jasonr@gnu.org>
10944
10945 * makefile.nt: Add atimer.h to dependencies.
10946 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10947 * w32console.c: Only disable window system features for dispextern.h
10948 (initialize_w32_display): Build a display info for the console.
10949 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10950 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10951 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10952 as 2 button mice.
10953 * w32gui.h (struct W32FontStruct): Revert last change after change
10954 to xdisp.c.
10955 * w32menu.c (single_submenu): Set up help string.
10956 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10957 (w32_dialog_show): Set up help string.
10958 * w32term.c (w32_display_info_for_display): Remove unused function.
10959 (w32_draw_bitmap): Use pre-built bitmaps.
10960 (w32_initialize_display_info): New function to initialize parts of
10961 display info that are common to both GUI and console frames.
10962 (w32_term_init): Use w32_initialize_display_info. Do not set
10963 Vw32_num_mouse_buttons here, as it is not called for console
10964 frames. Build bitmaps for indicating truncated lines etc.
10965 (x_delete_display): Destroy pre-built bitmaps.
10966 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10967 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10968
4516715a
DL
109692000-02-27 Dave Love <fx@gnu.org>
10970
10971 * lisp.h: Add a bunch of prototypes.
10972
171ca836
KH
109732000-02-26 Kenichi Handa <handa@etl.go.jp>
10974
10975 * keyboard.c (read_char): Set `usec' correctly.
10976
4013921d
KH
109772000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10978
10979 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10980 `lambda', set reg[RRR] to the map index.
10981 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10982 reg[RRR] to 0. Otherwise, set it to -1.
10983
9244a058
GM
109842000-02-25 Gerd Moellmann <gerd@gnu.org>
10985
2df636f4 10986 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10987
18e21ce8 109882000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10989
f43d79c1
GM
10990 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10991 and contains a `:', prepend `/:'.
10992
10993 * window.c (select_window_1): If selected_window is nil,
10994 don't "swap out" the buffer's point.
10995 (Fset_window_configuration): Set selected_window to nil
10996 before calling Fselect_window.
10997 (unshow_buffer): Don't set point in buffer from window's point
10998 if another more recently selected window also shows the buffer.
10999
bed0c171
GM
110002000-02-25 Gerd Moellmann <gerd@gnu.org>
11001
449c3c52
GM
11002 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11003
f5b58615
GM
11004 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11005 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11006 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11007 New variables.
f5b58615
GM
11008 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11009 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11010 (hide_busy_cursor): New functions.
11011 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11012
11013 * minibuf.c (read_minibuf): Cancel busy-cursor.
11014
11015 * keyboard.c (command_loop_1): Call start_busy_cursor before
11016 Fcommand_execute and cancel_busy_cursor after it.
11017 (timer_check): Remove busy-cursor code.
11018 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11019 cursor timer.
11020
11021 * process.c (wait_reading_process_input): Remove busy-cursor code.
11022
11023 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11024 Fx_hide_busy_cursor.
11025
11026 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11027 Remove prototyoes.
11028 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11029
11030 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11031
11032 * xterm.c (XTread_socket): Remove busy-cursor code.
11033
4eb8436f
GM
11034 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11035 (build_frame_matrix_from_leaf_window): Put code handling
11036 glyph row's not being a slice of a frame row in #if 0.
11037 (sync_window_with_frame_matrix_rows): New function.
11038 (frame_row_to_window): New function.
11039 (mirror_line_dance): Handle copies between windows.
11040
3cb65b0e
GM
11041 * lread.c (Fload): Use `xfree' instead of `free'.
11042 (init_obarray): Use `xmalloc' instead of `malloc'.
11043
bed0c171
GM
11044 * window.c (Fset_window_buffer): Set WINDOW to the window
11045 after decoding.
2add4349
GM
11046 (coordinates_in_window): Take frame's internal border width
11047 into account.
bed0c171 11048
42088c12
GM
110492000-02-24 Gerd Moellmann <gerd@gnu.org>
11050
11051 * xterm.c (x_display_and_set_cursor): Display cursor of
11052 non-selected windows depending on the setting of
11053 cursor_in_non_selected_windows.
11054
11055 * xdisp.c (cursor_in_non_selected_windows): New variable.
11056 (syms_of_xdisp): DEFVAR_BOOL it.
11057
d1e103b2
GM
110582000-02-23 Gerd Moellmann <gerd@gnu.org>
11059
723e779c
GM
11060 * data.c (Fstring_to_number): If number is greater than what
11061 fits into an integer, return a float.
11062
d1e103b2
GM
11063 * eval.c (specbind): Remove references to
11064 keyword_symbols_constant_flag.
11065
11066 * data.c (keyword_symbols_constant_flag): Removed.
11067 (Fmakunbound, set_internal, syms_of_data): Remove references to
11068 keyword_symbols_constant_flag.
11069
11070 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11071
214f877f
KH
110722000-02-23 Kenichi Handa <handa@etl.go.jp>
11073
11074 * syntax.c (multibyte_syntax_as_symbol): New variable.
11075 (syms_of_syntax): Declare it as a Lisp variable.
11076 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11077 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11078 nonzero, treat all multibyte characters as symbol.
52283633 11079 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11080
130adcb7
EZ
110812000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11082
3cb65b0e 11083 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11084 a deleted frame.
130adcb7 11085
17cbbf95
GM
110862000-02-21 Gerd Moellmann <gerd@gnu.org>
11087
11088 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11089
11090 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11091 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11092
beb0bc36
DL
110932000-02-21 Dave Love <fx@gnu.org>
11094
11095 * frame.c (Vmouse_position_function): New variable.
11096 (Fmouse_position): Use it.
11097 (syms_of_frame): Install it.
11098
11099 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11100
1d92afcd
GM
111012000-02-20 Gerd Moellmann <gerd@gnu.org>
11102
11103 * fileio.c (Finsert_file_contents): Unbind the binding of
11104 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11105
11106 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11107 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11108 (specbind, unbind_to): Handle most common case of non-constant
11109 symbol with trivial value specially.
11110
11111 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11112
18e21ce8 111132000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11114
11115 * data.c (Fmake_variable_buffer_local): Doc fix.
11116 Init found_for_buffer to 0.
11117 (Fmake_variable_frame_local): If the variable has already
11118 been buffer-local, set the check_frame field.
11119
1d4311c3
EZ
111202000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11121
11122 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11123 produced for CODING_MODE_LAST_BLOCK requires.
11124
2dc95ddd
DL
111252000-02-18 Dave Love <fx@gnu.org>
11126
11127 * keyboard.c (echo_keystrokes): Remove declaration.
11128 (Vecho_keystrokes) New variable.
11129 (read_char, record_menu_key, read_key_sequence): Use it to allow
11130 use of float value.
11131 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11132
11133 * lread.c: Undef feature selection macros before defining.
11134
f0930f35
GM
111352000-02-18 Gerd Moellmann <gerd@gnu.org>
11136
11137 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11138 for symbols other than the symbol in question.
11139
e3d4de90
DL
111402000-02-17 Dave Love <fx@gnu.org>
11141
11142 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11143
0b378936
GM
111442000-02-17 Gerd Moellmann <gerd@gnu.org>
11145
d621caf7
GM
11146 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11147
0b378936
GM
11148 * alloc.c (enum mem_type): Compile unconditionally.
11149
3b451f74
EZ
111502000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11151
11152 * xfaces.c (tty_defined_color): Don't return faulire indication
11153 for unspecified-fg and unspecified-bg pseudo-colors.
11154
10689a01
GM
111552000-02-17 Gerd Moellmann <gerd@gnu.org>
11156
1216f5e4
GM
11157 * alloc.c (mark_object): Don't mark symbol names in pure space.
11158 (gc_sweep): Don't unmark symbol names in pure space.
11159
11160 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11161 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11162 [GC_MARK_STACK]: New defines.
427ec082 11163 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11164 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11165
11166 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11167
11168 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11169 allocate_buffer instead of xmalloc.
11170
11171 * alloc.c (toplevel): Include setjmp.h.
11172 (PURE_POINTER_P): New define.
11173 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11174 (Vdead) [GC_MARK_STACK]: New variable.
11175 (lisp_malloc): Add parameter TYPE, call mem_insert if
11176 GC_MARK_STACK is defined.
11177 (allocate_buffer): New function.
427ec082 11178 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11179 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11180 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11181 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11182 (MEM_NIL) [GC_MARK_STACK]: New define.
11183 (struct mem_node) [GC_MARK_STACK]: New structure.
11184 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11185 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11186 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11187 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11188 (mark_stack) [GC_MARK_STACK]: New functions.
11189 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11190 (clear_marks): Removed.
11191 (gc_sweep): Set free conses' car, free floats' type, free
11192 symbols' function to Vdead. Use lisp_free to free buffers.
11193 (init_alloc_once): Initialize Vdead.
11194 (survives_gc_p): Return non-zero for pure objects.
11195
11196 * alloc.c: Add comments throughout the file.
11197
2503c8b1
GM
11198 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11199 that unblocks alarms.
11200
8389e1e2
GM
11201 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11202 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11203 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11204
10689a01 11205 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11206
bfc17d18
KH
112072000-02-17 Kenichi Handa <handa@etl.go.jp>
11208
4a09dee0
KH
11209 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11210 avoid infinite error signaling. Allocate sufficient memory for
11211 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11212
2b927d02
SM
112132000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11214
11215 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11216 depends on the previous behavior.
11217
b49cb764
GM
112182000-02-16 Gerd Moellmann <gerd@gnu.org>
11219
11220 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11221
99e95407
GM
112222000-02-15 Gerd Moellmann <gerd@gnu.org>
11223
11224 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11225
11226 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11227 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11228 write(2).
11229
6ffd3cf7
RS
112302000-02-15 Richard M. Stallman <rms@gnu.org>
11231
11232 * data.c (set_internal): Don't make variable buffer-local
11233 if within a let-binding for the same buffer.
11234 (let_shadows_buffer_binding_p): New function.
11235
11236 * eval.c (specbind): For buffer-local value,
11237 record the current buffer also.
11238 (unbind_to): Cope with that change.
11239
cad53475
GM
112402000-02-15 Gerd Moellmann <gerd@gnu.org>
11241
11242 * window.c (Fsave_window_excursion): Doc fix.
11243
1aa963c8
SM
112442000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11245
11246 * syntax.c (back_comment): Make sure we only consider comment-starters
11247 of the relevant style and return -1 in case of a failure to find the
11248 beginning of the comment.
11249 (Fforward_comment): If back_comment fails, go back to the position just
11250 after the comment-end.
11251 (scan_lists): Add comment describing a very minor bug.
11252
b9b84fd3
SM
112532000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11254
11255 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11256 `completion-regexp-list' in the docstring.
11257
3a28db80
DL
112582000-02-14 Dave Love <fx@gnu.org>
11259
11260 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11261
fb4a568d
SM
112622000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11263
11264 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11265 to Emacs' syntax. Also fix the comment about set/not-set meanings
11266 since Emacs syntax is not the value 0 any more.
11267 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11268 since it's now part of RE_SYNTAX_EMACS.
11269
1063ebb5
DL
112702000-02-12 Dave Love <fx@gnu.org>
11271
52283633 11272 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11273
fb07a302
GM
112742000-02-12 Gerd Moellmann <gerd@gnu.org>
11275
11276 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11277
aaf2320c
DL
112782000-02-12 Dave Love <fx@gnu.org>
11279
11280 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11281
11282 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11283 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11284 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11285
11286 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11287
11288 * s/nextstep.h: Don't define HAVE_ALLOCA.
11289
11290 * config.in: Add vfork bits.
11291
eedf8bde
GM
112922000-02-12 Gerd Moellmann <gerd@gnu.org>
11293
11294 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11295 unwind function to undo the effect of stopping atimers.
11296
52283633 11297 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11298
11299 * atimer.c (stopped_atimers): New variable.
11300 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11301 New functions.
11302
11303 * atimer.h (stop_other_atimers, run_all_atimers)
11304 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11305
eedf8bde
GM
11306 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11307
8476c2f8
KR
113082000-02-11 Ken Raeburn <raeburn@gnu.org>
11309
11310 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11311 library may depend on jpeg.
11312 (atimer.o): Depends on atimer.c.
11313
0e85e4a3
KH
113142000-02-11 Kenichi Handa <handa@etl.go.jp>
11315
11316 * insdel.c (del_range_1): Call update_compositions.
11317 (del_range_both): Call update_compositions just once..
11318
97fa0cc8
DL
113192000-02-10 Dave Love <fx@gnu.org>
11320
11321 * xfns.c (create_frame_xic): Fix initialization of automatic
11322 aggregates for pcc.
11323
25566a3c
KH
113242000-02-09 Kenichi Handa <handa@etl.go.jp>
11325
11326 * ccl.c (CCL_MAKE_CHAR): New macro.
11327 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11328 registers by CCL_MAKE_CHAR before calling translate_char.
11329 <CCL_TranslateCharacterConstTbl> Likewise.
11330
69da54ba
DL
113312000-02-08 Dave Love <fx@gnu.org>
11332
11333 * lread.c (__EXTENSIONS__): Define.
11334
f7136ee8
GM
113352000-02-08 Gerd Moellmann <gerd@gnu.org>
11336
11337 * puresize.h (BASE_PURESIZE): Increase to 650000.
11338
7768790b
EZ
113392000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11340
11341 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11342 the help message.
11343
38fd211b
EZ
113442000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11345
11346 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11347 md, mh, mb, mr, and me to the fake termcap entry.
11348
66e4690f
KR
113492000-02-06 Ken Raeburn <raeburn@gnu.org>
11350
11351 * sound.c (sound_cleanup): Don't call device close routine if the
11352 function pointer is null.
11353
a75dfea0
AI
113542000-02-06 Andrew Innes <andrewi@gnu.org>
11355
11356 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11357 around image definitions and prototypes.
11358 (gamma_correct) [WINDOWSNT]: New prototype.
11359
11360 * w32term.c (x_make_frame_visible): Replace call to
11361 input_poll_signal with poll_for_input.
11362
11363 * window.c [WINDOWSNT]: Include w32term.h.
11364
11365 * xdisp.c [WINDOWSNT]: Include w32term.h.
11366
11367 * makefile.nt: Add dependencies on w32gui.h.
11368 (OBJ1): Include atimer.obj.
11369 ($(BLD)\atimer.obj): New dependency rule.
11370
11371 * w32.c (sigmask): New function (does nothing).
11372 (sigunblock): Ditto.
11373
11374 * frame.c [WINDOWSNT]: Include w32term.h.
11375
11376 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11377
11378 * lread.c (syms_of_lread): Fix literal newlines.
11379
11380 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11381 the string constant limit (2048 bytes) in MSVC.
11382 (main): Ditto.
11383
59ddecde
GM
113842000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11385
52283633 11386 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11387 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11388 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11389 dispatch the event.
11390
07590973
DL
113912000-02-04 Dave Love <fx@gnu.org>
11392
11393 * fileio.c: Remove some unused vars.
11394 (_GNU_SOURCE): Define (for euidaccess).
11395
11396 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11397
11398 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11399 gcpro1, gcpro2.
11400 (read_minibuf): Deal with allow_props correctly.
11401
649351f9
EZ
114022000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11403
11404 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11405
66e4690f 114062000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11407
11408 * search.c (compile_pattern): If a cache entry has a nil regexp,
11409 fill in that entry instead of clobbering a previously cached
11410 string regexp.
11411
66e4690f 114122000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11413
11414 * puresize.h (BASE_PURESIZE): Increase to 610000.
11415
d240a249
GM
114162000-02-02 Gerd Moellmann <gerd@gnu.org>
11417
11418 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11419 can GC.
11420
ca91fb26
KH
114212000-02-02 Kenichi Handa <handa@etl.go.jp>
11422
25660570
KH
11423 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11424 instead of incrementing ic directly.
11425 <CCL_WriteExprConst> Likewise.
11426 <ccl_set_expr>: Set ic to jump_address.
11427
ca91fb26
KH
11428 * fileio.c (e_write): Fix the handling of
11429 CODING_FINISH_INSUFFICIENT_SRC.
11430
2ede9689
DL
114312000-02-01 Dave Love <fx@gnu.org>
11432
11433 * editfns.c (Fpropertize): Doc fix.
11434
11435 * process.c (Fstart_process): Doc fix.
11436
11437 * eval.c: Fix various doc strings not to duplicate information
11438 from help-manyarg-func-alist.
11439
52283633 11440 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11441
11442 * doc.c (Vhelp_manyarg_func_alist): New variable.
11443 (Fdocumentation): Use it.
11444 (syms_of_doc): Define it.
11445
b6680a0e
GM
114462000-01-31 Gerd Moellmann <gerd@gnu.org>
11447
2cb750ba
GM
11448 * xterm.c (xim_open_dpy): Remove unused local variable.
11449
52283633 11450 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11451
11452 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11453 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11454
b6680a0e
GM
11455 * fns.c (sweep_weak_table): New function.
11456 (sweep_weak_hash_tables): Use it. Keep on marking until there
11457 is no more change.
11458
994c5afe
GM
114592000-01-30 Gerd Moellmann <gerd@gnu.org>
11460
11461 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11462 that XTread_socket does not crash by trying to call XNoOp on a
11463 closed display.
427ec082 11464
f00276e3
JR
114652000-01-30 Jason Rumney <jasonr@gnu.org>
11466
11467 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11468 Change selected_frame to SELECTED_FRAME ().
11469 (w32_console_mouse_position): Remove #ifndef MULE from around
11470 `insist' parameter.
11471
11472 * makefile.nt: Remove dosfns.obj.
11473
11474 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11475
11476 * w32fns.c (w32_defined_color): Check for valid frame before
11477 applying gamma correction. Eliminate dependency on frame elsewhere.
11478 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11479 (w32_to_x_font): Use resx and resy not height_in and width_in.
11480 (x_to_w32_font): Doc fix.
11481 (xlfd_strip_height): New function to strip and return font height.
11482 (w32_font_match): Compare height separately from rest of xlfd
11483 spec, using xlfd_strip_height.
11484
11485 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11486 width_in. Use w32_defined_color in place of defined_color.
11487
11488 * w32faces.c: Merge more of DOS and X specifics in preparation for
11489 merge with xfaces.c.
11490 (defined_color): Remove FIXME comment.
11491 (tty_color_name): Provide w32-specific function.
11492 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11493
11494 * w32console.c (turn_on_face, turn_off_face): Removed.
11495 (w32_face_attributes): New function.
11496 (Global_variables): Reduce scope where possible.
11497 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11498 fill attribute.
11499 (hl_mode): Don't modify text attributes.
11500 (write_glyphs): Don't do anything if len <= 0. Use
11501 w32_face_attributes to get attributes for drawing. Write
11502 terminating codes using char_attr_normal.
11503 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11504 (update_begin, update_end): Likewise.
11505 (vga_stdcolor_name): New function.
11506 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11507 (Fset_screen_color): Remove char_attr_reverse.
11508
b08e8bb2
GM
115092000-01-29 Gerd Moellmann <gerd@gnu.org>
11510
11511 * xfns.c (xic_set_preeditarea): Take window parameter and
11512 window-relative pixel-positions.
11513
11514 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11515 is its frame's selected window.
11516 (xim_instantiate_callback): Likewise.
11517
11518 * xfns.c (x_create_im): Removed.
11519 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11520 (supported_xim_styles): Renamed from supported_styles.
11521 (best_xim_style): Renamed from best_style.
11522 (create_frame_xic): Renamed from xic_create_frame.
11523 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11524
b08e8bb2
GM
115252000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11526
11527 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11528 our frames, call XFilterEvent with 2nd parameter `None'.
11529 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11530 returning XBufferOverflow.
52283633 11531 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11532 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11533 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11534 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11535 (xim_initialize, xim_close)
11536 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11537 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11538 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11539 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11540
11541 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11542 and `xim_styles'.
11543 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11544 `xic_style' and `xic_xfs'.
11545 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11546 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11547 (FRAME_XIM): Removed.
11548
11549 * xfns.c (supported_styles): New variable.
11550 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11551 (xic_create_xfontset, best_style, xic_create_frame)
11552 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11553 (xic_set_xfontset): New functions.
11554
142e109c
DL
115552000-01-28 Dave Love <fx@gnu.org>
11556
11557 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11558
11559 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11560
b02786f9
GM
115612000-01-28 Gerd Moellmann <gerd@gnu.org>
11562
d060bc9f
GM
11563 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11564 for *scratch* if it already existed.
11565
b02786f9
GM
11566 * emacs.c (USAGE): New macro.
11567 (main): Use it to display usage information.
11568
2c52d7e4
EZ
115692000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11570
11571 Support for the menu-help feature:
11572
52283633 11573 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11574
11575 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11576 part of the line to the termscript file.
11577 (IT_clear_to_end): Clear the entire line, not just its beginning.
11578 (menu_help_message, prev_menu_help_message): New variables.
11579 (IT_menu_make_room): Make room for the help_text member.
11580 (IT_menu_display): New argument disp_help; all callers changed.
11581 If disp_help is non-zero, store the help text of the active menu
11582 item in menu_help_message.
11583 (XMenuAddPane): Initialize the help_text member to NULL.
11584 (XMenuAddSelection): New argument help_text. Store it in the
11585 XMenu structure.
11586 (XMenuActivate): New argument help_callback. If the value of
11587 menu_help_message has changed since the last time, display the
11588 menu help message text while waiting for the mouse to move. Clear
11589 the echo area before exiting.
11590 (XMenuDestroy): Free the help_text member.
11591
ffe0bcd1
GM
115922000-01-27 Gerd Moellmann <gerd@gnu.org>
11593
11594 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11595 XMenuAddSelection. Pass help callback to XMenuActivate.
11596 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11597
50dbd23f
EZ
115982000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11599
11600 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11601 and EMACS_SET_USECS.
11602
f5941bf8
GM
116032000-01-26 Dave Love <fx@gnu.org>
11604
6c67ddee
DL
11605 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11606
f5941bf8
GM
11607 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11608 an error may be signalled.
11609
9e49c990
GM
116102000-01-26 Gerd Moellmann <gerd@gnu.org>
11611
fc3cb460
GM
11612 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11613 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11614
9e49c990
GM
11615 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11616
d0c037d8
GM
116172000-01-25 Gerd Moellmann <gerd@gnu.org>
11618
11619 * charset.c (Fstring): If there is a multibyte char among
11620 the args, always return a multibyte string.
11621
e12489f9
GM
116222000-01-25 Gerd Moellmann <gerd@gnu.org>
11623
11624 * sysdep.c (sys_select): Turn atimers off and on instead of
11625 recording and restoring old alarm handler
11626
11627 * process.c (toplevel): Include atimer.h.
11628 (create_process_1): Rewritten.
11629 (create_process): Use atimers instead of alarm.
11630 (wait_reading_process_input) [hpux]: Turn atimers off instead
11631 of turning off SIGALRM.
11632 (wait_reading_process_input): Turn off atimers instead off
11633 calling stop_polling.
11634
11635 * emacs.c (main): Call init_atimer.
11636
11637 * keyboard.c (toplevel): Include systime.h and atimer.h.
11638 (polling_for_input): Removed because unused.
11639 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11640 (poll_timer): New variable.
11641 (poll_for_input, poll_for_input_1): New functions.
11642 (start_polling, stop_polling): Rewritten.
11643
11644 * keyboard.h (polling_for_input): Removed.
427ec082 11645
e12489f9
GM
11646 * atimer.h, atimer.c: New files.
11647
11648 * Makefile.in (obj): Add atimer.o.
11649 (atimer.o): New target.
11650
11651 * blockinput.h (pending_atimers): Add extern declaration.
11652 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11653
11654 * lisp.h (popup_activated_flag): Add extern declaration.
11655
11656 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11657 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11658 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11659
11660 * xterm.c (toplevel): Include atimer.h.
11661 (toolkit_scroll_bar_interaction): New variable.
11662 (Fxt_process_timeouts): Removed.
11663 (x_process_timeouts): New function.
11664 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11665 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11666 (x_make_frame_visible): Call poll_for_input_1 instead of
11667 input_poll_signal. Don't call alarm.
11668 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11669
1e5279b9
DL
116702000-01-24 Dave Love <fx@gnu.org>
11671
6c67ddee 11672 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11673 Don't use -cckr -- apparently not now necessary.
11674
edf6aeb8
EZ
116752000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11676
11677 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11678 screen boundary.
11679
9badad41
JR
116802000-01-23 Jason Rumney <jasonr@gnu.org>
11681
11682 * w32fns.c (w32_defined_color): Apply gamma correction before
11683 trying to map to the palette.
11684 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11685 to w32_clear_rect.
11686
11687 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11688 here. Callers changed to always pass real device context.
11689 (w32_draw_bitmap): Likewise.
11690 (w32_get_glyph_overhangs): Likewise.
52283633 11691 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11692 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11693 pfnSetScrollInfo and SetScrollRange.
11694 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11695 back into MULE characters after decoding them.
11696 (x_get_glyph_face_and_encoding): Likewise.
11697 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11698 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11699 (x_produce_glyphs): Calculate per char metrics for a character
11700 that we know exists in default font when font_not_found_p is true.
11701
63bd786b
JR
117022000-01-22 Jason Rumney <jasonr@gnu.org>
11703
11704 * makefile.nt (intervals.obj, composite.obj): New modules.
11705 (composite.h): Added as dependency where appropriate.
11706
11707 * w32gui.h (XGCValue): New struct for emulating X GCs.
11708
11709 * w32term.h (XCharStruct): New struct for emulating X.
11710
11711 * w32console.c (turn_on_face, turn_off_face): New functions.
11712 (change_line_highlight): New prototype for new redisplay.
11713 (write_glyphs): Support multibyte text. Support faces.
11714
52283633 11715 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11716
11717 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11718 throughout. struct frame * in place of FRAME_PTR.
11719 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11720 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11721 (w32_get_arg): Renamed from x_get_arg.
11722 (Fx_file_dialog): New function.
11723 (w32_list_fonts): Check cache before asking system.
11724 (Vw32_enable_synthesized_fonts): New variable.
11725 (Vw32_enable_italics): Obsolete, removed.
11726
11727 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11728 Use SELECTED_FRAME macro.
11729
11730 * w32menu.c: Add skeleton support for help strings on menus.
11731 (add_menu_item): Native checkbox and radio support added, but not
11732 yet enabled due to bugs.
11733 (push_menu_item): Add parameters type, selection and help.
11734 Callers updated.
11735 Formatting changes to reduce unnecessary diffs with xmenu.c.
11736
11737 * w32select.c (Fw32_set_clipboard_data): Update call to
11738 find_charset_in_str.
11739
11740 * w32term.c: Complete rewrite for new redisplay based on new
11741 xterm.c with necessary sections merged back in from old w32term.c.
11742
6ffd3cf7 117432000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11744
11745 * data.c (set_internal): Further fix in same criterion.
11746
6ffd3cf7 117472000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11748
11749 * data.c (set_internal): Fix the criteria for whether
11750 to swap out the old cached binding.
11751
60af03f1
DL
117522000-01-19 Dave Love <fx@gnu.org>
11753
11754 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11755
f9be074f
KH
117562000-01-18 Kenichi Handa <handa@etl.go.jp>
11757
11758 * regex.c (re_compile_fastmap): While checking a range table for
11759 `charset', skip flag bits for a character class correctly.
11760
52b8dbf9
GM
117612000-01-17 Gerd Moellmann <gerd@gnu.org>
11762
d36100c9
GM
11763 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11764
52283633 11765 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11766
11767 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11768 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11769
11770 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11771 MENU_ITEMS_ITEM_.*.
11772 (MENU_ITEMS_ITEM_HELP): New enumerator.
11773 (push_menu_item): Add parameter HELP. Record help in menu_items.
11774 (single_menu_item, single_submenu, list_of_items): Call
11775 push_menu_item with new parameter.
11776 (single_submenu): Set help string in widget value.
11777 (menu_highlight_callback): New function.
11778 (set_frame_menubar): Call lw_create_widget with new
11779 parameter list.
11780 (xmenu_show, xdialog_show): Ditto.
11781
3139018f
GM
117822000-01-13 Gerd Moellmann <gerd@gnu.org>
11783
11784 * sound.c (Fplay_sound): Improve doc string.
11785
83c8f461
RS
117862000-01-11 Richard M. Stallman <rms@gnu.org>
11787
11788 * lisp.h (set_internal): Enter the new arg.
11789
11790 * eval.c (specbind): Record buffer-local variables specially,
11791 indicating which buffer's binding was saved.
11792 (unbind_to): Restore buffer-local variables specially
11793 in the proper buffer.
11794
11795 * data.c (set_internal): New arg BUF.
427ec082 11796
83c8f461
RS
11797 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11798 * data.c (Fset): Pass new arg to set_internal.
11799 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11800
1fab1775
GM
118012000-01-11 Gerd Moellmann <gerd@gnu.org>
11802
52283633 11803 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11804
83c8f461 118052000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11806
11807 * minibuf.c (Ftry_completion): Doc fix.
11808
7a85e4df
GM
118092000-01-11 Gerd Moellmann <gerd@gnu.org>
11810
11811 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11812 vector, too.
11813
a970dae4
AS
118142000-01-11 Andreas Schwab <schwab@suse.de>
11815
11816 * coding.c (code_convert_region): Initialize total_skip.
11817
c65d14ee
DL
118182000-01-08 Dave Love <fx@gnu.org>
11819
11820 * eval.c (Fuser_variable_p): Check customizability too.
11821
834938d2
GM
118222000-01-07 Gerd Moellmann <gerd@gnu.org>
11823
11824 * minibuf.c (Fcompleting_read): Doc fix.
11825
e0303cd6
GM
118262000-01-05 Gerd Moellmann <gerd@gnu.org>
11827
8a26744b
GM
11828 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11829 -L /usr/local/lib.
11830
e0303cd6
GM
11831 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11832 Check that input style is supported before trying to create an
11833 IC for it.
11834 (x_window): Call x_create_im.
427ec082 11835
2e471eb5
GM
118362000-01-04 Gerd Moellmann <gerd@gnu.org>
11837
560a7bd2
GM
11838 * xfns.c (current_gif_memory_src): New variable.
11839 (gif_load): Record the address of the current memory source
11840 in current_gif_memory_src.
11841 (gif_read_from_memory): Use current_gif_memory_src.
11842
f9ee84a3
GM
11843 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11844 macros statement form.
11845
d1299cde
GM
11846 * sound.c (struct sound): Renamed from struct sound_file.
11847 (struct sound): Add members `data' and `header_size'.
11848 (enum sound_attr): Add SOUND_DATA.
11849 (current_sound, current_sound_device): Variables renamed from
11850 sound_file and sound_device.
11851 (parse_sound): Parse :data.
11852 (parse_sound): Handle sound data in strings.
11853 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11854 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11855 needed header size.
11856 (wav_play, au_play): Play sounds from string data.
11857
2e471eb5
GM
11858 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11859
11860 * lisp.h: Add prototype for allocate_string_data.
11861
52283633 11862 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11863
11864 * alloc.c (mark_buffer): Remove code in #if 0.
11865 (gc_sweep): Ditto.
11866 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11867 (strings_consed): New variable.
11868 (allocate_string): Set it.
11869 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11870 (Fmemory_use_counts): Return strings_consed. Use Flist.
11871
11872 * alloc.c: General cleanup in comments etc. Remove conditional
11873 compilation for `standalone'.
11874
11875 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11876
11877 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11878 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11879 (DONT_COPY_FLAG): Removed.
11880 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11881 (struct sdata, struct sblock): New
11882 (struct string_block): Rewritten.
11883 (STRINGS_IN_STRING_BLOCK): New macro.
11884 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11885 (large_sblocks, string_blocks, string_free_list): New variables.
11886 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11887 (init_strings): Rewritten.
11888 (allocate_string, allocate_string_data, compact_small_strings)
11889 (free_large_strings, sweep_strings): New functions.
11890 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11891 (struct string_block_head, current_string_block)
11892 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11893 (STRING_PAD): Removed.
11894 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11895 (Fgarbage_collect): Don't set mark bit in large strings.
11896 (mark_object): Mark strings differently. Mark symbol names
11897 differently.
11898 (survives_gc_p): Test marked strings differently.
427ec082 11899 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11900 symbol names.
11901 (compact_strings): Removed.
11902
42608ba8
EZ
119032000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11904
11905 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11906 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11907
e0a09e1a
KH
119082000-01-04 Kenichi Handa <handa@etl.go.jp>
11909
dd9f0750 11910 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11911 in a non-empty buffer.
dd9f0750 11912
3c0f3b15 11913 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11914
44cd3ae5
GM
119152000-01-03 Gerd Moellmann <gerd@gnu.org>
11916
11917 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11918 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11919
11920 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11921
c182a70f
EZ
119222000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11923
11924 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11925 need to test for MSDOS frames.
11926
24480d5b
EZ
119272000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11928
11929 * dosfns.c (unspecified_colors): Remove.
11930 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11931 unspecified_bg.
11932 (msdos_stdcolor_name): Return strings for unspecified fore- and
11933 back-ground colors.
11934
11935 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11936 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11937 (tty_color_name): Return Lisp strings for unspecified fore- and
11938 back-ground colors.
11939 (Finternal_set_lisp_face_attribute): Remove the special treatment
11940 for Qunspecified_{f,b}g.
52283633 11941 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11942
047f434a
GM
119432000-01-03 Gerd Moellmann <gerd@gnu.org>
11944
11945 * xdisp.c (reseat_at_next_visible_line_start): Position before
11946 newline only if ending up on a newline.
11947 (next_element_from_ellipsis): Return success. Handle case of
52283633 11948 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11949 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11950 returns 0.
11951
d684c676
EZ
119522000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11953
11954 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11955 (Fcolor_supported_p): Renamed from face-color-supported-p.
11956
5fe1d139
EZ
119572000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11958
11959 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11960 list of colors renamed to tty-defined-color-alist.
11961 (tty_color_name): Pass the frame to tty-color-by-index.
11962 (realize_tty_face): tty-color-alist is now a function which
11963 accepts the frame as argument.
11964
52283633 11965 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11966
816be8b8
EZ
119672000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11968
11969 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11970 encode_terminal_code.
11971
b635321e
EZ
119722000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11973
11974 * dispnew.c (mode_line_string): Support termcap frames as well.
11975
9b784e96
GM
119762000-01-01 Gerd Moellmann <gerd@gnu.org>
11977
27189709
GM
11978 * syntax.c (Fforward_word): Undo previous change.
11979
11980 * editfns.c (Fconstrain_to_field): Don't constrain if
11981 inhibit-field-text-motion is non-nil.
11982 (Fline_beginning_position): Undo previous change.
11983 (Fline_end_position): Ditto.
11984
11985 * syntax.c (Fforward_word): Notice field boundaries only if
11986 inhibit-field-text-motion is nil.
11987
11988 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11989
11990 * editfns.c (Vinhibit_field_text_motion): New variable.
11991 (inhibit-field-text-motion): New DEFVAR_LISP.
11992 (Fline_beginning_position, Fline_end_position): Notice field
11993 boundaries only if inhibit-field-text-motion is nil.
11994
45158a91
GM
11995 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11996 All calls adjusted.
11997 (x_build_heuristic_mask): Likewise.
11998 (xbm_load_image_from_file): Change error output.
11999 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12000 (gif_load, gs_load, x_kill_gs_process): Ditto.
12001
9b784e96
GM
12002 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12003 color indices when accessing raster pixels.
63cec32f
GM
12004 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12005 one of :file or :data.
12006 (enum pbm_keyword_index): Add PBM_DATA.
12007 (pbm_format): Add :data.
12008 (pbm_image_p): Allow either :file or :data.
12009 (pbm_read_file): New function.
12010 (pbm_scan_number): Rewritten to read from string.
12011 (pbm_load): Support :data.
9b784e96 12012
2cb085db 12013See ChangeLog.8 for earlier changes.
6922b018
KH
12014
12015;; Local Variables:
49b3bd82 12016;; coding: iso-2022-7bit
6922b018 12017;; End: