(occur): Bind inhibit-read-only to t.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e8660d73
GM
12001-08-16 Gerd Moellmann <gerd@gnu.org>
2
3 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
4 of the screen line, not text line, containing IT's current
5 position.
6
93aba6fc
GM
72001-08-15 Gerd Moellmann <gerd@gnu.org>
8
288d4e06
GM
9 * window.c (window_scroll_pixel_based): Don't recenter if
10 PT is partially visible in the window.
11
82f053ab
GM
12 * xterm.c (expose_window_tree, expose_window, expose_line): Return
13 1 when overwriting mouse-face.
14 (expose_frame): If mouse-face was overwritten, redo it.
15
93aba6fc
GM
16 * xfaces.c (x_update_menu_appearance): Don't call
17 set_frame_menubar, let the next redisplay do it.
18
858a55c1
AI
192001-08-14 Andrew Innes <andrewi@gnu.org>
20
21 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
22 drawing glyph string.
23
3a990b67
EZ
242001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
25
26 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
27 running HI-UX/MPP.
28
04386463
GM
292001-08-14 Gerd Moellmann <gerd@gnu.org>
30
31 * xfaces.c (x_update_menu_appearance): Save and restore value of
32 interrupt_input_blocked.
33
3e6385a4
GM
342001-08-13 Gerd Moellmann <gerd@gnu.org>
35
b0e619b4
GM
36 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
37 a line start, move back to the line start.
38
0de73d5a
GM
39 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
40 exactly when a mini-buffer is active.
41
3e6385a4
GM
42 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
43 in units of 1/8 character on non window-system frames.
44 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
45
d1b5f629
EZ
462001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
47
48 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
49 a doc string.
50
eaa2319f
GM
512001-08-09 Gerd Moellmann <gerd@gnu.org>
52
8e3189f0
GM
53 * keyboard.c (Vpre_help_message): New variable.
54 (syms_of_keyboard): Initialize and staticpro it.
55 (show_help_echo): Record current message before displaying a
56 help-echo, and restore that message when clearing the help.
57
eaa2319f
GM
58 * xfns.c (x_create_im): Remove prototype.
59
60 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
61
62 * dispnew.c (adjust_glyph_matrix): Undo last change.
63
642001-08-08 Gerd Moellmann <gerd@gnu.org>
65
66 * dispnew.c (adjust_glyph_matrix): In the optimization for
67 windows whose height has changed, disable partially visible
68 lines.
69
17fdcfc8
GM
702001-08-07 Gerd Moellmann <gerd@gnu.org>
71
22d01aed
GM
72 * window.c (Frecenter): If ARG < 0, and on a window system
73 frame, count in some empty lines when we can't move -ARG lines
74 down.
75
17fdcfc8
GM
76 * xdisp.c (start_display): Don't try to determine the continuation
77 lines width if lines are truncated. It's superfluous and leads to
78 incorrect results if POS is not visible in the window after
79 reseating the iterator at the previous line start.
80
8e3fe78e
GM
812001-08-06 Gerd Moellmann <gerd@gnu.org>
82
83 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
84
98a8938c
GM
852001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
86
87 * alloc.c (init_stack): Remove declaration.
88
18f9986a
GM
892001-08-03 Gerd Moellmann <gerd@gnu.org>
90
5e1f85e0
GM
91 * keyboard.c (read_key_sequence): Check that key is an integer
92 before comparing it with quit_char.
93 (add_command_key): Use larger_vector.
94 (read_char_x_menu_prompt): Instead of converting symbol and
95 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 96 which cannot be confused with valid events.
5e1f85e0
GM
97 (read_char): When reading from Vunread_command_events, check for
98 events of the form (EVENT . disabled) instead of
99 (EVENT . nil).
100
18f9986a
GM
101 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
102 a float, determine the max height from the frame's height.
103
fbc7f2a6
GM
1042001-08-02 Gerd Moellmann <gerd@gnu.org>
105
106 * xdisp.c (redisplay_internal): Take message_cleared_p into
107 account only if minibuf_level == 0.
108
81b1a79d
GM
1092001-08-01 Gerd Moellmann <gerd@gnu.org>
110
e5c60873
GM
111 * xdisp.c (redisplay_internal): Add a check for the last
112 displayed message.
113
6e019995
GM
114 * xdisp.c (message_cleared_p): New variable.
115 (clear_message): Set message_cleared_p when clearing the current
116 message.
117 (redisplay_internal): Look at message_cleared_p to capture
118 the case that the echo area should be cleared.
119
308a74d8
GM
120 * keyboard.c (command_loop_1): Fix spelling of
121 resize_echo_area_exactly.
122
123 * dispextern.h (resize_echo_area_exactly): Fix typo in function
124 name.
125
126 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
127
81b1a79d
GM
128 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
129 current matrix when the window gets smaller.
130
ada329e6
EZ
1312001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
132
133 * print.c (strout): Cast the character passed to insert_char to
134 unsigned char, to avoid sign extension when it is promoted to int.
135
ed86208c
GM
1362001-07-31 Gerd Moellmann <gerd@gnu.org>
137
138 * fileio.c (Finsert_file_contents): Don't treat a return value
139 of 0 from emacs_read as an IO error.
140
6594ac22
GM
1412001-07-30 Gerd Moellmann <gerd@gnu.org>
142
cef68af5
GM
143 * keyboard.c (abs): New macro.
144 (double_click_fuzz): New variable.
145 (make_lispy_event): Use it to determine what makes a double-click.
146 (syms_of_keyboard): DEFVAR_INT it.
147
6594ac22
GM
148 * xmenu.c (set_frame_menubar): Take into account that
149 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
150 <raeburn@gnu.org>.
151
75c5350a
GM
1522001-07-27 Gerd Moellmann <gerd@gnu.org>
153
154 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
155
156 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
157 of row's visible height.
158
159 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
160 deal with the first overlay string having an image `display'
161 property.
162 (try_window_reusing_current_matrix, compute_line_metrics): Fix
163 computation of row's visible height for the case that part of the
164 row is invisible above and part of the row is at the same time
165 invisible below the window.
166
ac49effe
GM
1672001-07-26 Gerd Moellmann <gerd@gnu.org>
168
169 * xfns.c (x-show-tip): Doc fix.
170
171 * xfns.c (Vx_max_tooltip_size): New variable.
172 (syms_of_xfns): DEFVAR_LISP it.
173 (Fx_show_tip): Set frame's window_width to the width of the
174 window. Use a maximum tooltip size specified by
175 Vx_max_tooltip_size, if that has valid contents.
176 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
177
8c3b00cb
AI
1782001-07-26 Andrew Innes <andrewi@gnu.org>
179
180 * w32term.c (x_display_list): New variable.
181 (w32_term_init): Set it.
182
183 * w32term.h (x_display_list): New extern.
184
16098288
GM
1852001-07-26 Gerd Moellmann <gerd@gnu.org>
186
187 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
188 is non-nil, instead of when redisplaying_p is non-zero. See
189 comment there.
190 (mark_window_display_accurate_1): Add an assertion.
191
64c5be50
GM
1922001-07-25 Gerd Moellmann <gerd@gnu.org>
193
e743f599
GM
194 * dispextern.h (struct it): Increase size of ctl_chars to 16.
195
563b384d
GM
196 * xfns.c (Fx_file_dialog): Block/unblock input while processing
197 events so that we get a chance of processing expose events.
198
64c5be50
GM
199 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
200
296808a5
GM
2012001-07-24 Gerd Moellmann <gerd@gnu.org>
202
203 * xfns.c (valid_image_p): Protect better against invalid image
204 specifications. Previous code could signal an error.
205
5247262a
GM
2062001-07-23 Gerd Moellmann <gerd@gnu.org>
207
f1004faf
GM
208 * indent.c (current_column): Fix column computation in the
209 presence of display table entries.
210 (current_column_1, Fmove_to_column, compute_motion): Likewise.
211
dd42b31a
GM
212 * dispnew.c (adjust_glyph_matrix): In the optimization for
213 windows whose height has changed, use the new window height
214 to compute which rows to invalidate.
215
9e5a7f2a
GM
216 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
217 (MAX_10_EXP): New macro.
218 (Fformat): Use it.
219
5247262a
GM
220 * coding.c (code_convert_region): Handle the multibyte case if
221 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
222
177ab8ce
GM
2232001-07-20 Gerd Moellmann <gerd@gnu.org>
224
6e07c0a5
GM
225 * dispextern.h (struct face): Change type of `stipple' to
226 int; it's an ID.
227
177ab8ce
GM
228 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
229
b5b80599
GM
2302001-07-19 Gerd Moellmann <gerd@gnu.org>
231
4e2a256b
GM
232 * dispnew.c (update_window): Don't set the cursor at the end
233 of the update if display update has been paused.
234
b5b80599
GM
235 * composite.h (syms_of_composite): Renamed from
236 syms_of_composition.
237
c1fd9232
KR
2382001-07-18 Ken Raeburn <raeburn@gnu.org>
239
240 * fns.c (Fset_char_table_default): Check that a charset is defined
241 before checking its dimension.
242
928a85c1
KR
2432001-07-17 Ken Raeburn <raeburn@gnu.org>
244
245 * coding.c (setup_coding_system): Don't do any designation based
246 on reg_bits if charset is not yet defined.
247
232e274c
KR
248 * lisp.h (XVECTOR): Verify correct object type before returning a
249 pointer, using eassert.
250
de11c1ea
GM
2512001-07-17 Gerd Moellmann <gerd@gnu.org>
252
253 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase
254 to 4096 because of paste problems reported on GNU/Linux.
255
467f1209
GM
2562001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
257
258 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
259
c3d6be34
GM
2602001-07-16 Gerd Moellmann <gerd@gnu.org>
261
c1d61a7d
GM
262 * fileio.c (unwind_read): Function removed.
263 (read_non_regular, read_non_regular_quit): New functions.
264 (Finsert_file_contents): When reading from non-regular files,
265 arrange to catch a `quit' and terminate the loop. Rearrange
266 code so that a `quit' when reading from a regular file doesn't
267 insert text in the buffer.
268
c3d6be34
GM
269 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
270 Clear faces afterwards.
271 (clear_font_table): Take a x_display_info parameter. Don't free
272 fonts being the default font of any frame on the given display.
273
e06aa1f9
GM
2742001-07-13 Gerd Moellmann <gerd@gnu.org>
275
276 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
277 instead of CHAR_STRING which can signal an error.
278
279 * charset.c (char_to_string_1): Extracted from char_to_string.
280 Return -1 instead of signaling an error.
281 (char_to_string): Use it.
282
283 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
284
176c92e6
SM
2852001-07-12 Stefan Monnier <monnier@cs.yale.edu>
286
287 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
288 is t, don't try to append anything to it.
289
1c56232f
EZ
2902001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
291
292 * dired.c (file_name_completion): Pass dp->d_name to
293 Fstring_match, not elt, which is always nil here.
294
1d2b2268
GM
2952001-07-12 Gerd Moellmann <gerd@gnu.org>
296
297 * xselect.c (x_decline_selection_request): Handle errors
298 caused by receivers that have vanished.
299
300 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
301 ignoring events on foreign windows in #if 0. Always dispatch
302 the event after checking it with x_handle_property_notify.
303
304 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
305 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
306 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
307 (toplevel): Add prototypes for file-local functions.
308 (x_atom_to_symbol): Remove DPYINFO parameter.
309
fe5a0162
SM
3102001-07-11 Stefan Monnier <monnier@cs.yale.edu>
311
312 * w32menu.c (menubar_selection_callback, w32_menu_show):
313 Initialize `entry' to nil.
314 (w32_dialog_show): Remove unused `save_wv' variable.
315 (name_is_separator): Recognize "--:foo" and "--foo-bar".
316
a777242c
GM
3172001-07-11 Gerd Moellmann <gerd@gnu.org>
318
8ee5b6a3
GM
319 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
320
d0e2444e
GM
321 * fileio.c (unwind_read): Print a message when discarding inserted
322 text or switching the buffer to unibyte. Change parameter.
323 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 324
a777242c
GM
325 * fileio.c (unwind_read): New function.
326 (Finsert_file_contents): Record it as unwind-function for
327 the case that reading is interrupted by C-g.
328
ae794295
GM
3292001-07-10 Gerd Moellmann <gerd@gnu.org>
330
fe5a0162 331 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
332 update when scrolling_window returns 0.
333
6b05fae3
GM
334 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
335
336 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 337 for the case that x_decode_color signals an error.
6b05fae3 338
ae794295
GM
339 * xdisp.c (add_to_log): Do nothing if called asynchronously.
340
bb6e8cee
GM
3412001-07-09 Gerd Moellmann <gerd@gnu.org>
342
343 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
344 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
345 around ioctls.
346
36b40a8a
EZ
3472001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
348
24b97d4b
EZ
349 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
350 doc string line for dos-timezone-offset.
351
36b40a8a
EZ
352 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
353 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
354 (syms_of_msdos): Add \n\ at the end of a line in the doc string
355 line for dos-unsupported-char-glyph.
36b40a8a
EZ
356
357 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
358
0967b4b0
GM
3592001-07-05 Gerd Moellmann <gerd@gnu.org>
360
f25cfe53
GM
361 * sound.c: Include Emacs' header files with #include "...".
362
0967b4b0
GM
363 * eval.c (specbind): Additionally record the buffer that was
364 current when a buffer-local or frame-local variable was bound.
365
c347a1c3
GM
3662001-07-04 Gerd Moellmann <gerd@gnu.org>
367
368 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
369 to unibyte characters in unibyte buffers.
370
6332ca8a
GM
3712001-07-03 Gerd Moellmann <gerd@gnu.org>
372
38472d44
GM
373 * eval.c (specbind): If SYMBOL has a frame-local binding, record
374 the frame on the binding stack. Change format of entries for
375 local bindings on the binding stack to '(SYMBOL . WHERE)'.
376 (unbind_to): Handle unbinding a frame-local variable.
377
6332ca8a 378 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 379 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
380 (dump_glyph_row): Print row's continuation_lines_width.
381 (try_window_id): Take the shortcut if ZV is visible in the
382 window, but there are actually no changes at ZV.
383
63d1b174
GM
3842001-07-02 Gerd Moellmann <gerd@gnu.org>
385
4c175203
GM
386 * xterm.h (x_free_dpy_colors): Add prototype.
387
388 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
389 right number of arguments.
390
0b54ce28
GM
391 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
392 ($(lwlibdir)TAGS): New target.
4c175203 393 (TAGS): Fix dependency list.
0b54ce28 394
63d1b174
GM
395 * xterm.c (x_list_fonts): Make sure XFreeFont is called
396 with input blocked.
397
d827466c
GM
3982001-06-30 Gerd Moellmann <gerd@gnu.org>
399
400 * emacs.c (main): Remove extern declaration for sys_nerr, which
401 isn't used and causes a compilation error with GCC 3.0 on
402 FreeBSD 4.3.
403
b5cb1ada
GM
4042001-06-27 Gerd Moellmann <gerd@gnu.org>
405
a5d3ec3f
GM
406 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
407 SIGIO around the code where Xt might wait for a
408 ConfigureNotifyEvent.
409 (toplevel): Include <signal.h> and syssignal.h.
410
b5cb1ada
GM
411 * sound.c (vox_configure, vox_close): Turn off atimers
412 around ioctls.
413
d9bad487
GM
4142001-06-26 Gerd Moellmann <gerd@gnu.org>
415
fdbb67fe
GM
416 * keyboard.c (read_char) <non_reread>: Record the previous idle
417 start time before calling timer_stop_idle.
418 (read_char) <reread_first>: After processing a help-echo event,
419 restore the previous idle start time.
420
d9bad487
GM
421 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
422 the start of invisible text.
423 (setup_for_ellipsis): New function.
424 (next_overlay_string): After all overlay strings have been
425 processed, display an ellipsis if necessary.
426 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
427 (push_it): Initialize display_ellipsis_p on the iterator's stack.
428
429 * dispextern.h (struct iterator_stack_entry): Add member
430 display_ellipsis_p.
431
2b9c25e0
GM
4322001-06-25 Gerd Moellmann <gerd@gnu.org>
433
80de57df
GM
434 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
435 on the value of the wait-for-wm frame parameter.
436
437 * xterm.h (struct x_output): Add member wait_for_wm.
438
439 * xfns.c (Qwait_for_wm): New variable.
440 (x_frame_parms): Add entry for `wait-for-wm".
441 (x_set_wait_for_wm): New function.
442 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
443 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
444
2b9c25e0
GM
445 * xdisp.c (try_window_id) <all changes below window end>: Don't
446 take this shortcut if ZV is visible in the window.
447 (try_window_id): When checking for window start being in changed
448 text, don't check that the buffer's size has changed.
449
f772775c
RS
4502001-06-23 Richard M. Stallman <rms@gnu.org>
451
452 * minibuf.c (Fcompleting_read): Doc fix.
453
fa9090b8
GM
4542001-06-19 Gerd Moellmann <gerd@gnu.org>
455
456 * composite.c (Ffind_composition_internal): Accept ZV
457 and a string's end position as POS.
458
f6f1beba
GM
4592001-06-18 Gerd Moellmann <gerd@gnu.org>
460
461 * composite.c (Ffind_composition_internal): Check POS
462 for validity.
463
0ae83348
EZ
4642001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
465
466 * editfns.c (Fmessage_box): If the frame is not under a window
467 system, output the message in the echo area.
468
e4cdc335
RS
4692001-06-14 Richard M. Stallman <rms@gnu.org>
470
471 * xdisp.c (try_window_id): When EOB is visible, don't treat
472 insertion at EOB as if it were "off the bottom of the screen."
473
a55a5f3c
AI
4742001-06-11 Andrew Innes <andrewi@gnu.org>
475
476 * w32proc.c (create_child): Add new parameter is_gui_app.
477 (w32_executable_type): Add new parameter is_gui_app.
478 (sys_spawnve): Use it.
479 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
480 SIGQUIT. This matches better how the signals are interpreted by
481 MSVC compiled programs.
482 (syms_of_ntproc): Update docstring.
483
1b85dc1c
SM
4842001-06-02 Stefan Monnier <monnier@cs.yale.edu>
485
486 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
487 well otherwise note_mouse_highlight might optimize away highlighting
488 if we pass over that same overlay again.
489
b75f8eab
EZ
4902001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
491
492 * lread.c (Fload): Document that the argument is run via
493 substitute-in-file-name.
494
94843cc1
GM
4952001-05-31 Gerd Moellmann <gerd@gnu.org>
496
b14659e6
GM
497 * Makefile.in (bootstrap-doc): New target.
498 (bootstrap-emacs): Depend on it.
499
0894672f
GM
500 * fileio.c (Fdo_auto_save): Don't try to create the directory of
501 auto-save-list-file-name when shutting down Emacs, because
502 creating the directory might signal an error, and leaves
503 Emacs in a strange state.
504
94843cc1
GM
505 * term.c: (tty_cursor_hidden): New variable.
506 (update_begin): Don't call tty_hide_cursor. Clean up.
507 (update_end, set_terminal_window, set_scroll_region): Clean up.
508 (ring_bell, reset_terminal_modes): Clean up.
509 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
510 on tty_cursor_hidden.
511 (write_glyphs): Call tty_hide_cursor.
512
db3a49a6
SM
5132001-05-30 Stefan Monnier <monnier@cs.yale.edu>
514
515 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
516
8bd189fb
GM
5172001-05-30 Gerd Moellmann <gerd@gnu.org>
518
6f1be3b9
GM
519 * xfns.c (enum image_value_type): New enumerator
520 IMAGE_STRING_OR_NIL_VALUE.
521 (parse_image_spec): Handle it.
522 (xbm_format, pbm_format): Use it for :foreground and :background.
523 (xbm_load, pbm_load): Check for nil color names.
524
8bd189fb
GM
525 * xterm.c (note_mouse_highlight): If an overlapping overlay
526 exists, but we find that we highlight the same overlay as before,
527 don't do the highlighting again.
528
7bdba03c
GM
5292001-05-29 Gerd Moellmann <gerd@gnu.org>
530
4c329aa8
GM
531 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
532 Protect unibyte strings created by replacing their multibyte
533 equivalents in menu_items.
534
e15e2828
GM
535 * keymap.c (Fsingle_key_description): NUL-terminate the string
536 buffer before calling build_string.
537
7bdba03c
GM
538 * callproc.c (Fcall_process): Deal with decode_coding returning
539 CODING_FINISH_INCONSISTENT_EOL.
540
89c8dc6c
GM
5412001-05-28 Gerd Moellmann <gerd@gnu.org>
542
db3a49a6 543 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
544 an item's name with its key description in case the description
545 is a multibyte string.
546
547 * keymap.c (Fsingle_key_description): Create a multibyte string
548 only if necessary.
549
eb04d6cd
GM
550 * macros.c (Fstart_kbd_macro): Doc fix.
551
8bd6307f
GM
552 * xterm.c (cursor_in_mouse_face_p): New function.
553 (x_draw_stretch_glyph_string): Use it to choose a different GC
554 when drawing a cursor within highlighted text.
555
e26c4089
GM
556 * editfns.c (char_property_eq): Put in #if 0.
557
558 * indent.c (string_display_width): Put in #if 0.
559
560 * lread.c (Fload): Remove unused label.
561
89c8dc6c
GM
562 * termcap.c (speeds): Put in #if 0.
563
9a1211f2
GM
5642001-05-18 Gerd Moellmann <gerd@gnu.org>
565
29148a3f
GM
566 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
567
9a1211f2
GM
568 * xfaces.c (xlfd_point_size): Don't divide pixel size from
569 transformation matrix by 10.
570
09393d07
GM
5712001-05-16 Gerd Moellmann <gerd@gnu.org>
572
573 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
574 only if it's equal to the former foreground pixel color.
db3a49a6 575 (x_set_foreground_color, x_set_background_color)
09393d07
GM
576 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
577
460e6bae
GM
5782001-05-16 Dave Love <fx@gnu.org>
579
580 * insdel.c (signal_before_change, signal_after_change): Consider a
581 local change hook which changes the buffer.
99c78ce8
GM
582
583 * process.c (read_process_output): Don't call signal_after_change
584 and update_compositions after insert_from_string_before_markers.
585
dbcf3c03
GM
5862001-05-16 Gerd Moellmann <gerd@gnu.org>
587
a90b3d3c
GM
588 * xfaces.c (split_font_name): Use the right field when
589 checking for `[...]' syntax.
590
1b7818b4
GM
591 * buffer.c (copy_overlays): New function.
592 (clone_per_buffer_values): Use it.
593
594 * buffer.h (OVERLAY_PLIST): New macro.
595
9bae8781
GM
596 * keymap.c (Fsingle_key_description): Replace a build_string with
597 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
598
dbcf3c03
GM
599 * fontset.c (Ffontset_info): Check that face is non-null
600 before accessing its fields.
601
8a1ae4dd
GM
6022001-05-15 Gerd Moellmann <gerd@gnu.org>
603
18a0a39e
GM
604 * keyboard.c (read_key_sequence): Prevent generating a fake
605 prefix key twice.
606
e335b66a
GM
607 * xfaces.c (split_font_name): Handle `[...]' for the right
608 font name fields.
609
8a1ae4dd
GM
610 * ccl.c (ccl_driver): Don't copy remaining bytes in case
611 of CCL_STAT_INVALID_CMD.
612
3cf80731
SM
6132001-05-14 Stefan Monnier <monnier@cs.yale.edu>
614
33568849
SM
615 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
616 in <var> has no default value yet.
617
3cf80731
SM
618 * xfaces.c (try_alternative_families): First try the FAMILY.
619 And if nothing is found in the end, try again with scalable fonts.
620 (try_font_list): Let try_alternative_families do a bit more of
621 the work. Only use FAMILY if it is not nil.
622 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
623
933b0249
GM
6242001-05-14 Gerd Moellmann <gerd@gnu.org>
625
58e5af83
GM
626 * xterm.c (note_mouse_highlight): Avoid changing the mouse
627 pointer shape when show_mouse_face has already done it.
33568849 628
58e5af83 629 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
630 full-width rows.
631
7b16a6bf
GM
632 * xfaces.c (split_font_name): Make sure to leave the loop
633 with the right value of `i'.
3cf80731 634
933b0249
GM
635 * xfaces.c (split_font_name): Handle matrix transformations
636 in the pixel and point size fields of XLFD font names.
637 (xlfd_point_size): Likewise.
638
dddcbf00
EZ
6392001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
640
3cf80731 641 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
642 (x_to_w32_font): Add prototype.
643
7689ef0b
EZ
644 * regex.c (malloc, realloc, free) [emacs]: Undefine before
645 redefining, to avoid compiler warnings.
646
e7c15bba
EZ
647 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
648
dddcbf00
EZ
649 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
650 (w32_get_bdf_glyph): Cast between unsigned char and char when
651 passing arguments to subroutines, to shut up compiler warnings.
652 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
653 GET_HEX_VAL.
654
655 * xfaces.c: Include keyboard.h before frame.h, not after it.
656
657 * widget.c: Include keyboard.h before frame.h.
658
659 * w32term.h (struct image, struct face): Forward declaration, to
660 avoid compiler warnings.
661
7bd2d083
GM
6622001-05-11 Gerd Moellmann <gerd@gnu.org>
663
47e72862
GM
664 * keyboard.c (read_key_sequence): Don't modify events when
665 generating fake prefix keys (mode-line, scroll-bar, ...) since
666 this prevents proper processing of such events when pushed back
667 into unread-command-events.
668
dd5f324b
GM
669 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
670 actually redrawn. Make the function static.
671 (note_mouse_highlight): Fix a case where the mouse cursor
672 was changed back to the text cursor.
673
674 * xterm.h (clear_mouse_face): Remove prototype.
675
d88a79d4
GM
676 * xdisp.c (try_window_id): Fix the fix and set the right
677 window_end_vpos.
678
679 * xdisp.c (try_window_id): Fix computation of window end in the
680 case that lines were deleted at the end of the window. Add some
681 more debug_method_adds.
0416532f 682
7bd2d083
GM
683 * xfaces.c (try_alternative_families): New function.
684 (try_font_list): Use it. If ATTRS specifies a family, check
685 fonts from that family first.
686 (choose_face_font): Remove code setting the family part of
687 the pattern to nil.
688
23fca891
GM
6892001-05-10 Gerd Moellmann <gerd@gnu.org>
690
ff9aa2ca
GM
691 * xdisp.c (try_window_id): Fix case of all changes before
692 the window start.
7b2654b5 693
23fca891
GM
694 * xdisp.c (try_window_id): Add some xasserts.
695
e9726794
GM
6962001-05-09 Gerd Moellmann <gerd@gnu.org>
697
698 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
699
9e53a675
GM
7002001-05-09 Dave Love <fx@gnu.org>
701
702 * xdisp.c (GIVE_UP): Fix for K&R C.
703
0d487c52
GM
7042001-05-09 Gerd Moellmann <gerd@gnu.org>
705
fe88d421
GM
706 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
707
0d487c52
GM
708 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
709 back to the text cursor shape without need.
710
1e9fc92e
GM
7112001-05-07 Gerd Moellmann <gerd@gnu.org>
712
a2a6232e
GM
713 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
714
715 * dispextern.h (inverse_video): Declare extern.
716
1e9fc92e
GM
717 * keyboard.c (delete_kboard): Handle the case that selected_frame
718 has been deleted in the course of x_connection_closed.
719
12949a7f
EZ
7202001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
721
7b2654b5
SM
722 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
723 Fix the change from 2001-04-30.
12949a7f 724
2fa2f461
GM
7252001-05-03 Gerd Moellmann <gerd@gnu.org>
726
a779d213
GM
727 * xfns.c (file_dialog_unmap_cb): New function.
728 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
729 where a dialog is closed via the window manager.
730
7b2654b5 731 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
732 the window start or all below the window end mostly rewritten.
733 (redisplay_window): Move the tests if try_window_id is
734 applicable to try_window_id.
735 (GIVE_UP): New macro.
736
3356df63
GM
7372001-05-02 Gerd Moellmann <gerd@gnu.org>
738
a39202f6 739 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
740 currently being updated, mark the frame garbaged.
741 Fix computation of rows intersecting the exposed rectangle.
a39202f6 742 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 743
3356df63
GM
744 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
745 again if it has already been drawn.
746
a9d2fd1d
SM
7472001-05-01 Stefan Monnier <monnier@cs.yale.edu>
748
749 * syntax.c (update_syntax_table): Check that oldi has the same
750 properties as old_prop before deciding not to invalidate.
751
c95fc5f1
GM
7522001-04-30 Gerd Moellmann <gerd@gnu.org>
753
a9793e45
GM
754 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
755 read-only text that is so because of text properties.
756
c95fc5f1 757 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 758 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
759 windows that are components of a Lucid menu bar.
760
5a5d9185
GM
7612001-04-27 Gerd Moellmann <gerd@gnu.org>
762
763 * term.c (turn_on_face): Fix reverse video handling on terminals
764 that don't support colors.
765
ba973f7a
GM
7662001-04-26 Gerd Moellmann <gerd@gnu.org>
767
768 * editfns.c (save_excursion_restore): Don't use XBUFFER on
769 a non-buffer.
770
8c56a983
GM
7712001-04-25 Gerd Moellmann <gerd@gnu.org>
772
a728644c
GM
773 * term.c (toggle_highlight): New function.
774 (turn_on_face): Change handling of reverse video.
775
7b2654b5
SM
776 * process.c (wait_reading_process_input):
777 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 778
bfd8410f
GM
779 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
780 of the number of overlays to check.
781
be2488ca
GM
782 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
783
8c56a983
GM
784 * xdisp.c (try_window_id): Fix a case where window_end_pos
785 and window_end_bytepos were not adjusted.
786
522d42f7
GM
7872001-04-23 Gerd Moellmann <gerd@gnu.org>
788
789 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
790 zero instead of -1.
791
78c1afb6
EZ
7922001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
793
a9d2fd1d
SM
794 * process.c (wait_reading_process_input) [!subprocesses]:
795 Don't reference waiting_for_user_input_p, it's not defined in the
796 branch without async subprocesses support.
78c1afb6 797
a2fab450
GM
7982001-04-19 Gerd Moellmann <gerd@gnu.org>
799
a122a38e
GM
800 * keyboard.c (delete_kboard): Prevent a dangling reference
801 from current_kboard to KB, which is freed.
802
a9d2fd1d
SM
803 * process.c (wait_reading_process_input):
804 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
805 read_key_sequence aware of buffer changes from under it.
806
0f8d6dc7
GM
8072001-04-18 Gerd Moellmann <gerd@gnu.org>
808
eeffb293
GM
809 * xfaces.c (Qscalable_fonts_allowed): New variable.
810 (realizing_basic_faces_p): Removed.
2fa2f461
GM
811 (x_face_list_fonts): Special handling for realizing_basic_faces_p
812 removed.
eeffb293 813 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
814 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
815 for scalable-fonts-allowed to t.
eeffb293 816
0f8d6dc7
GM
817 * fileio.c (Finsert_file_contents): If the file size returned from
818 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 819 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 820
eec2d1de
EZ
8212001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
822
823 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
824 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
825 (__memalign_hook): Make the two prototypes consistent.
826
f4f480bd
GM
8272001-04-17 Gerd Moellmann <gerd@gnu.org>
828
829 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
830 matrix of mini-windows.
831
52283633
SM
8322001-04-12 Stefan Monnier <monnier@cs.yale.edu>
833
834 * intervals.c (find_interval): Don't rebalance during signal handling.
835
ec2423c9
GM
8362001-04-11 Gerd Moellmann <gerd@gnu.org>
837
30cb0001 838 * fns.c: Include blockinput.h.
52283633 839
ec2423c9
GM
840 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
841
719d83ad
GM
8422001-04-10 Gerd Moellmann <gerd@gnu.org>
843
60f8d735
GM
844 * fns.c (Fcompare_strings): Fix return values.
845
afffeb57
GM
846 * window.c (window_scroll): Change the meaning of N to mean
847 N screen-fulls or N lines.
848 (window_scroll_pixel_based, window_scroll_line_based)
849 (scroll_command, Fscroll_other_window): Change accordingly.
850
52283633
SM
851 * window.c (window_scroll_pixel_based, Frecenter):
852 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
853 height of the window.
854
855 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
856 instead of using it.last_visible_y for the height of the window.
52283633 857
719d83ad 858 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 859 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
860
861 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
862 able to write to hidden and system files. From Dan Holmsand
863 <dan@eyebee.com>.
719d83ad 864
8ddf3ee1
GM
865 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
866 Holmsand <dan@eyebee.com>.
719d83ad 867
522ed7fb
GM
8682001-04-09 Gerd Moellmann <gerd@gnu.org>
869
9170e5d4
GM
870 * fns.c (Fplist_get, Fplist_put): Add QUITs.
871
522ed7fb
GM
872 * window.c (window_internal_height): Return 1 less if the
873 window has a header line.
874
875 * xdisp.c (try_window_id): When scrolling on a terminal, take
876 the change of window_internal_height into account.
877
ceeb3d7d
EZ
8782001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
879
880 * gmalloc.c (align): If the argument SIZE would overflow
881 __malloc_ptrdiff_t, fail right away.
882
63685b9d
GM
8832001-04-06 Gerd Moellmann <gerd@gnu.org>
884
885 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
886 Make sure the tooltip is completely visible.
887 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
888
889 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
890
891 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
892
3ffb33bb
DL
8932001-04-06 Dave Love <fx@gnu.org>
894
52283633
SM
895 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
896 Fix test of `from'.
3ffb33bb 897
869fb12c
GM
8982001-04-06 Gerd Moellmann <gerd@gnu.org>
899
52283633 900 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 901
869fb12c
GM
902 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
903
441bf856
GM
9042001-04-05 Gerd Moellmann <gerd@gnu.org>
905
4d664b04
GM
906 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
907
52283633 908 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 909
30ca89f5
GM
910 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
911 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
912
913 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
914 shell widget's position only if it is non-null.
915
52283633
SM
916 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
917 Set f->output_data.x->widget to null after destroying it.
30ca89f5 918
81a81c0f
GM
919 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
920 FILENAME to bring it in synch with the documentation.
921
441bf856
GM
922 * xfaces.c (realizing_basic_faces_p): Renamed from
923 realize_default_face_p.
924 (realize_basic_faces): Set/clear realizing_basic_faces_p.
925 (realize_default_face): Don't set the flag.
926
702a1e8e
GM
9272001-04-04 Gerd Moellmann <gerd@gnu.org>
928
1013f4e3
GM
929 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
930
52283633
SM
931 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
932
1013f4e3
GM
933 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
934 the buffer that was used for echoing.
935
702a1e8e
GM
936 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
937 (first_font_matching): Removed unused function.
938 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
939 (may_use_scalable_font_p): Remove parameter FONT; rename
940 parameter NAME to FONT.
941 (x_face_list_fonts): Fix missing bounds check.
942 (realizing_default_face_p): New variable.
943 (realize_default_face): Set and clear that flag.
944 (x_face_list_fonts): When called during the realization of the
945 default face, and no matching fonts are found when ignoring
946 scalable fonts and fonts matching a regexp from
947 face-ignored-fonts, try without ignoring fonts.
948
f9dbcda4
GM
9492001-04-03 Gerd Moellmann <gerd@gnu.org>
950
ad18ffb1
GM
951 * xfns.c (postprocess_image): New function.
952 (lookup_image): Call it for all image types except PostScript.
953 (x_kill_gs_process): Call postprocess_image.
954
f9dbcda4
GM
955 * xterm.c (x_use_underline_position_properties): New variable.
956 (x_draw_glyph_string): Use it.
957 (syms_of_xterm): DEFVAR_BOOL it.
958
651f03b6
GM
9592001-04-02 Gerd Moellmann <gerd@gnu.org>
960
961 * xterm.c (x_alloc_nearest_color_1): New function.
962 (x_alloc_nearest_color): Use it.
963 (x_color_cells): Take a Display as argument, instead of a frame.
964 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
965 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
966 (x_initialize): Register cvt_string_to_pixel as resource converter
967 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
968
73d75a62
GM
9692001-03-30 Gerd Moellmann <gerd@gnu.org>
970
b2046df8
GM
971 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
972 (set_iterator_to_next): If a string from a display property ends,
973 consider the case that this might also be the end of an
974 overlay string having the display property.
975
52283633 976 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 977
87d8eba4
GM
978 * xdisp.c (reseat_to_string): Undo last change.
979
73d75a62
GM
980 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
981 matrix of a window when the header line changes, when
982 new rows are allocated, or when the width changes.
983
911a2406
EZ
9842001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
985
52283633 986 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 987
aea51abe
EZ
9882001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
989
990 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
991 deprecated.
992
176bc847
GM
9932001-03-29 Gerd Moellmann <gerd@gnu.org>
994
ed31fabf
GM
995 * data.c (Fsubr_interactive_form): New function.
996 (syms_of_data): Defsubr it.
997
176bc847
GM
998 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
999 (live_float_p, live_misc_p): Return 1 only if the offset of the
1000 pointer in its block is >= 0.
1001
e59d0e9d
GM
10022001-03-28 Paul Eggert <eggert@twinsun.com>
1003
1004 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1005 microseconds calcuation. Avoid double-rounding problem.
1006 In doc string, warn that the result is approximate.
1007
f827b862
GM
10082001-03-28 Gerd Moellmann <gerd@gnu.org>
1009
30a3f61c
GM
1010 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1011 bind `inhibit-eval-during-redisplay' to t.
1012
1013 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1014
1015 * xdisp.c (inhibit_eval_during_redisplay)
1016 (Qinhibit_eval_during_redisplay): New variables.
1017 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1018 don't eval, return nil instead.
1019 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1020 Initialize Qinhibit_eval_during_redisplay.
1021
e719f5ae
GM
1022 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1023 the iterator's multibyte_p flag.
1024
deb2613a
GM
1025 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1026 instead of setting it to zero; it's incremented for each frame
1027 where the menu face is changed.
1028
52283633
SM
1029 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1030 change bottom shadow accordingly.
1031
1032 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1033 intersections here.
1034 (expose_window): Do it here instead.
52283633 1035 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1036
f827b862
GM
1037 * bytecode.c (BYTE_CODE_QUIT): New macro.
1038 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1039
4bde0ebb
GM
10402001-03-27 Gerd Moellmann <gerd@gnu.org>
1041
607ec83c
GM
1042 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1043 Give up if matrix starts in an ellipsis.
1044 (init_from_display_pos): Do nothing if POS doesn't specify
1045 a dpvec_index but the iterator has such a position.
1046
0245398f
GM
1047 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1048
aba25348
GM
1049 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1050 x/y position is (0, 0) after destroying the menu bar, restore
1051 its original position.
1052
4bde0ebb
GM
1053 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1054 (init_from_display_pos): Use it.
1055 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1056
8cdb267e
GM
10572001-03-26 Gerd Moellmann <gerd@gnu.org>
1058
1059 * xdisp.c (try_window_id): Undo last change.
1060
9948db79
EZ
10612001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1062
1063 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1064
1065 * buffer.c (syms_of_buffer): Doc fix.
1066
2eddf899
GM
10672001-03-26 Gerd Moellmann <gerd@gnu.org>
1068
1069 * xfaces.c (x_update_menu_appearance): Use local variable
1070 popup_path for setting font resources.
1071
6c145d35
EZ
10722001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1073
6a65b1b5
EZ
1074 * frame.c (Fframe_list): Don't reference tip_frame if
1075 HAVE_WINDOW_SYSTEM is not defined.
1076
6c145d35
EZ
1077 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1078 <wl@gnu.org>.
1079
d74c1900
GM
10802001-03-25 Gerd Moellmann <gerd@gnu.org>
1081
20fbd925
GM
1082 * xdisp.c (init_from_display_pos): Test invisible property
1083 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1084
927c5b3b
GM
1085 * xdisp.c (redisplay_internal) <update one window>: Make sure
1086 last_arrow_position and last_arrow_string are set.
1087
d74c1900
GM
1088 * frame.c (Fframe_list): Don't return a tooltip frame.
1089
091f8878
GM
10902001-03-23 Gerd Moellmann <gerd@gnu.org>
1091
52283633
SM
1092 * xdisp.c (mark_window_display_accurate_1): New function,
1093 extracted from mark_window_display_accurate.
1094 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1095 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1096 (mark_window_display_accurate): Use it.
1097 (redisplay_internal): Use it for the selected window.
1098 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1099 for the selected frame.
1100
ac90c44f
GM
1101 * xdisp.c Use make_number, for readability.
1102 (try_window_id): Disable rows below the window end.
1103 (try_window_reusing_current_matrix): Use cursor_row_p.
1104 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1105 of rows.
1106 (init_from_display_pos): If POS specifies a position in a display
1107 vector, maybe get the iterator set up for that ellipsis.
43c09969 1108
091f8878
GM
1109 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1110
991786dd
EZ
11112001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1112
1113 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1114
6c29b43c
GM
11152001-03-23 Gerd Moellmann <gerd@gnu.org>
1116
1117 * xfaces.c (x_update_menu_appearance): Use a different path
1118 for Lucid popup menus.
1119
d8731202
SM
11202001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1121
1122 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1123
1124 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1125 (string_buffer_position): Use `make_number'.
1126
f61a541b
GM
11272001-03-22 Gerd Moellmann <gerd@gnu.org>
1128
3c9e997b
GM
1129 * xfaces.c (x_update_menu_appearance): Renamed from
1130 x_set_menu_face_resources. Use different resources for popups.
1131
1132 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1133 (GC_CHECK_STRING_BYTES): Don't define.
1134
364cd450
GM
1135 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1136 Removed, together with subroutines.
1137 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1138 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1139
d8731202
SM
1140 * dispextern.h (x_set_menu_resources_from_menu_face):
1141 Remove prototype.
364cd450 1142
d8731202 1143 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1144 Remove calls to x_set_menu_resources_from_menu_face.
1145
d8731202
SM
1146 * xfaces.c (xm_set_menu_resources_from_menu_face):
1147 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1148
1149 * xmenu.c: Include widget.h.
1150 (single_submenu): Return int. Some cleanup.
1151 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1152
140330de
GM
11532001-03-21 Gerd Moellmann <gerd@gnu.org>
1154
1155 * xterm.c (x_update_window_end): Handle overwritten mouse face
1156 also for tool bar windows.
1157 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1158 DRAW is DRAW_IMAGE_RAISED.
1159
1741905c
GM
11602001-03-20 Gerd Moellmann <gerd@gnu.org>
1161
fa88947e
GM
1162 * print.c (syms_of_print): Doc fixes.
1163
1741905c
GM
1164 * fns.c (Fmd5): Doc fix.
1165
ade0bee1
GM
11662001-03-19 Gerd Moellmann <gerd@gnu.org>
1167
357e7376
GM
1168 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1169 Clear area of the frame not occupied by the scroll bar.
1170
c2c097cc
GM
1171 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1172 tip frame's root window buffer to *tip* right after creating
1173 the frame.
1174
ade0bee1
GM
1175 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1176 is an integer don't have to be for space characters.
1177
88c6e37e
GM
11782001-03-16 Gerd Moellmann <gerd@gnu.org>
1179
52283633
SM
1180 * indent.c (current_column, current_column_1, Fmove_to_column)
1181 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1182
c62eed76
KH
11832001-03-15 Kenichi Handa <handa@etl.go.jp>
1184
1185 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1186 drawing glyph string.
1187
c899e7e6
GM
11882001-03-15 Gerd Moellmann <gerd@gnu.org>
1189
d0bbfc99
GM
1190 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1191 (command_loop_1): Undo last change.
1192
03d1a189
GM
1193 * xterm.c (fast_find_position): Return the correct vpos.
1194
c899e7e6 1195 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1196 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1197 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1198 Call store_symval_forwarding with BUF null.
1199 (set_internal): Call store_symval_forwarding with the BUF
1200 parameter passed to set_internal. Formerly, the value was always
1201 set in the current buffer; the buffer recorded in specbind for
1202 this case wasn't used.
1203 (arith_driver): Reindent.
1204
52283633
SM
1205 * buffer.c (swap_out_buffer_local_variables):
1206 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1207
1208 * lisp.h (store_symval_forwarding): Change prototype.
1209
1210 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1211
57ac7c81
GM
12122001-03-14 Gerd Moellmann <gerd@gnu.org>
1213
697617d9
GM
1214 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1215 FOR_DELETION. Avoid resizing the mini-window of the selected
1216 frame if FOR_DELETION is set.
1217 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1218 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1219 signature.
1220
1221 * window.c (Fset_window_configuration): Change call to
1222 do_switch_frame to new format.
1223
1224 * keyboard.c (quit_throw_to_read_char): Change call to
1225 do_switch_frame to new format.
1226
1227 * lisp.h (do_switch_frame): Change prototype.
1228
819dce0f
GM
1229 * frame.c (Fframe_parameters): In the `buffer-list' frame
1230 parameter, store the buffer list of FRAME, not the list of the
1231 selected frame.
1232
57ac7c81
GM
1233 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1234 box just because the glyph row's full_width_p flag is set.
1235
65008712
GM
12362001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1237
1238 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1239 skip the padding blanks inserted in extend_face_to_end_of_line,
1240 before checking for trailing whitespace.
1241
159cf431
GM
12422001-03-13 Gerd Moellmann <gerd@gnu.org>
1243
52283633 1244 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1245 Remove special handling for LessTif/Motif.
1246 (toplevel): Don't include Xm/Xm.h.
1247
52283633
SM
1248 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1249 Remove workaround code for LessTif; it doesn't work anymore.
1250
2564ea1b 1251 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1252 Xm/ScrollBarP.h.
afcdc0a1 1253
52283633
SM
1254 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1255 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1256 contemporary LessTif.
1257
52283633
SM
1258 * xfaces.c (xm_set_menu_resources_from_menu_face):
1259 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1260
159cf431
GM
1261 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1262 removing button grabs.
1263
c6f7429a
KH
12642001-03-13 Kenichi Handa <handa@etl.go.jp>
1265
cb82d767
KH
1266 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1267 and clip-large-size-font as obsolete.
1268
c6f7429a
KH
1269 * lread.c (read_multibyte): Check the validity of multibyte
1270 sequence. If invalid, return the first byte.
1271
760cefb5
GM
12722001-03-12 Gerd Moellmann <gerd@gnu.org>
1273
1274 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1275 before running the command; timer functions or process
1276 filters may have set it.
1277
5141f9d0
EZ
12782001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1279
1280 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1281 Doc fix.
1282
b6a15240
GM
12832001-03-12 Gerd Moellmann <gerd@gnu.org>
1284
1285 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1286 to sprintf.
1287
95522746
GM
12882001-03-09 Gerd Moellmann <gerd@gnu.org>
1289
db14cfc5
GM
1290 * dispextern.h (string_buffer_position): Add prototype.
1291
52283633 1292 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1293 (single_display_prop_string_p): New functions.
1294
1295 * xterm.c (note_mouse_highlight): If there's no help-echo on
1296 a string, look at the buffer text ``under'' it.
1297
1298 * keyboard.c (make_lispy_event): Add string info to the event,
1299 analogous to what's done on mode lines.
1300 (read_key_sequence): For a click on a string, consider `local-map'
1301 and `keymap' of that string.
1302
52283633
SM
1303 * keyboard.c (make_lispy_event, make_lispy_movement):
1304 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1305
1306 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1307
1308 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1309 POS; return void.
1310
95522746
GM
1311 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1312 flags argument to emacs_open; it seems to conflict with O_EXCL.
1313
898a399d
KH
13142001-03-09 Kenichi Handa <handa@etl.go.jp>
1315
28cd4910
KH
1316 * composite.h (struct composition): Change types of members;
1317 glyph_len to unsigned, width to unsigned short.
898a399d 1318
4cdf6a6c
AI
13192001-03-08 Andrew Innes <andrewi@gnu.org>
1320
1321 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1322 menu titles.
1323
129004d3
GM
13242001-03-08 Gerd Moellmann <gerd@gnu.org>
1325
221dd3e7
GM
1326 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1327 instead of nil.
1328
52283633 1329 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1330 help-echo in strings.
1331 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1332 (fast_find_string_pos): New function.
1333
52283633
SM
1334 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1335 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1336
1337 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1338 Handle `mouse-face'.
1339
1340 * dispextern.h (face_at_string_position): Change prototype.
1341
52283633 1342 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1343
129004d3
GM
1344 * keyboard.c (make_lispy_event): Avoid generating drag events
1345 if the mouse hasn't actually moved to another buffer position.
52283633 1346
80c8ab8c
DL
13472001-03-08 Dave Love <fx@gnu.org>
1348
129004d3 1349 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1350
989521fd
GM
13512001-03-08 Gerd Moellmann <gerd@gnu.org>
1352
1353 * process.c (Fset_process_window_size): Fix a typo.
1354
bb5c338d
KH
13552001-03-08 Kenichi Handa <handa@etl.go.jp>
1356
1357 * coding.c (detect_coding_sjis): Do more rigid check.
1358 (detect_coding_big5): Likewise.
1359 (decode_coding_sjis_big5): Likewise.
1360 (Fdetect_coding_region): Call detect_coding_system with tailing
1361 anchor byte `\0' for more rigid detection.
52283633 1362 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1363 (Fdetect_coding_string): Likewise.
1364
8b8f9197
SM
13652001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1366
1367 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1368 a string before extracting its data.
1369
3bdf2660
GM
13702001-03-07 Gerd Moellmann <gerd@gnu.org>
1371
1372 * window.c (Frecenter): Rewrite code handling negative values
1373 of ARG on graphical frames.
1374
13752001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1376
1377 * window.c (displayed_window_lines): If W->start is outside the
1378 accessible portion of the buffer, call start_display with BEGV or
1379 ZV instead of W->start.
1380
471f86b9
GM
13812001-03-07 Gerd Moellmann <gerd@gnu.org>
1382
2ab62c6c
GM
1383 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1384
471f86b9
GM
1385 * process.c (Fset_process_filter): Don't crash if the input
1386 file descriptor of PROCESS is closed.
1387 (Fset_process_window_size): Likewise.
1388
101922c3
GM
13892001-03-06 Kenichi Handa <handa@etl.go.jp>
1390
1391 * xterm.c (XTflash): Make the timeout of select shorter, and call
1392 select repeatedly until the desired time expires.
1393
45d051a7
GM
13942001-03-06 Gerd Moellmann <gerd@gnu.org>
1395
1396 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1397
1398 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1399
1400 * lisp.h (Vwindow_list): Declare extern.
1401
8f372c46
EZ
14022001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1403
1404 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1405
f16a7aa5
GM
14062001-03-06 Gerd Moellmann <gerd@gnu.org>
1407
157ae273
GM
1408 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1409 to detect a case where we have to highlight a different region
1410 despite not having left the currently highlighted region.
1411 Set mouse_face_overlay in the x_display_info.
45d051a7 1412 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1413
1414 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1415
1416 * buffer.c (mouse_face_overlay_overlaps): New function.
1417
1418 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1419 (Qmouse_face): Declare extern.
1420
f16a7aa5
GM
1421 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1422 if face_change_count is non-zero.
1423
827afcac
KH
14242001-03-06 Kenichi Handa <handa@etl.go.jp>
1425
1426 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1427 that the source is unibyte.
1428
14c7242e
DL
14292001-03-05 Dave Love <fx@gnu.org>
1430
827afcac 1431 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1432
c28b847b
GM
14332001-03-05 Gerd Moellmann <gerd@gnu.org>
1434
1435 * minibuf.c (read_minibuf): Clean up the binding stack if
1436 called noninteractively.
1437
b86644f2
KH
14382001-03-05 Kenichi Handa <handa@etl.go.jp>
1439
1440 * coding.c (syms_of_coding): Docstring modified.
1441
203682cc 14422001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1443
1444 * charset.c (char_to_string): If a single byte char has modifier
1445 bits that can't be reflected to the character code, ignore them
45d051a7 1446 instead of signaling an error.
b86644f2 1447
e30bd7b7
EZ
14482001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1449
1450 * s/msdos.h: Update copyright notice.
1451
1452 * dosfns.h: Update copyright notice.
1453
1454 * dosfns.c: Update copyright notice.
1455
1456 * msdos.c: Update copyright notice.
1457
b52b65bd
GM
14582001-03-02 Gerd Moellmann <gerd@gnu.org>
1459
1460 * xterm.c (glyph_rect): New function.
1461 (XTmouse_position): Use it to raise the threshold for mouse
1462 movement event generation.
1463
53c4b1e6
EZ
14642001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1465
1466 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1467 specifies (reverse . t), reverse the initial screen colors.
1468 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1469 but we are reversing the colors, set bg_set, not fg_set.
1470 Likewise for setting background-color and reversing: set fg_set.
1471 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1472 in effect.
1473
1474 * xfaces.c (Finternal_set_lisp_face_attribute)
1475 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1476 parameters alist.
1477
f964b4d7
GM
14782001-03-02 Gerd Moellmann <gerd@gnu.org>
1479
ef53d75e
GM
1480 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1481 to a single slash in the middle of file names.
1482
52283633 1483 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1484 Accept only alphanumeric time zone names.
1485
f964b4d7
GM
1486 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1487 or width area.
1488 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1489 a widget to zero height.
52283633 1490
c3c45f65
GM
14912001-03-01 Gerd Moellmann <gerd@gnu.org>
1492
1493 * window.c (Fwindow_end): Call move_it_past_eol only if
1494 ending up on a partially visible line.
1495
028d739a
DL
14962001-03-01 Dave Love <fx@gnu.org>
1497
1498 * ccl.c (Fccl_execute): Doc fix.
1499
57c5889c
GM
15002001-03-01 Gerd Moellmann <gerd@gnu.org>
1501
35f59f6b
GM
1502 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1503 of the tool bar before calling x_figure_window_size.
1504
f84ff02c
GM
1505 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1506 NULL after destroying it, otherwise XTread_socket can access a
1507 destroyed widget when input is unblocked.
1508
8b8f9197 1509 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1510
57c5889c
GM
1511 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1512 same name as before, although there was a change in fontsets.
1513
224227d1
KR
15142001-02-28 Ken Raeburn <raeburn@gnu.org>
1515
4560730a
KR
1516 * lisp.h (Fframe_parameter): Declare.
1517
224227d1 1518 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1519 Lisp_Object.
224227d1 1520
ece93c02
GM
15212001-02-28 Gerd Moellmann <gerd@gnu.org>
1522
11ef99b9
GM
1523 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1524 NULL instead.
1525
1526 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1527 NULL instead.
1528
ece93c02
GM
1529 * alloc.c (toplevel): Include process.h.
1530 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1531 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1532 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1533 (allocate_vector, allocate_hash_table, allocate_window)
1534 (allocate_frame, allocate_process, allocate_other_vector):
1535 New functions.
ece93c02
GM
1536 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1537 (mark_maybe_pointer): New function.
52283633 1538 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1539 remain and not Lisp_Objects.
1540 (min_heap_address, max_heap_address): New variables.
1541 (mem_find): Return MEM_NIL if START is below min_heap_address or
1542 above max_heap_address.
1543 (mem_insert): Compute min_heap_address and max_heap_address.
1544
1545 * process.c (make_process): Use allocate_process.
1546
1547 * frame.c (make_frame): Use allocate_frame.
1548
1549 * window.c (make_window, make_dummy_parent): Use allocate_window.
1550 (Fcurrent_window_configuration): Use allocate_other_vector.
1551
1552 * lisp.h (allocate_vectorlike): Remove prototype.
1553 (allocate_vector, allocate_other_vector, allocate_frame)
1554 (allocate_window, allocate_process, allocate_hash_table):
1555 Add prototypes.
1556
1557 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1558 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1559
063af457
KH
15602001-02-27 Kenichi Handa <handa@etl.go.jp>
1561
1562 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1563 treat the produced bytes as a valid multibyte sequence.
1564
1565 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1566 (ccl_driver) <CCL_WriteMultibyteChar2>:
1567 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1568 <ccl_finish>: Set ccl->eight_bit_control properly.
1569
1570 * ccl.h (struct ccl_program): New member eight_bit_control.
1571
f58c6494
SM
15722001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1573
1574 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1575 accessible_keymaps_char_table.
1576 (accessible_keymaps_char_table): Obey `is_metized'.
1577 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1578 Lisp_Object.
1579
c596c392
GM
15802001-02-26 Gerd Moellmann <gerd@gnu.org>
1581
1582 * dispnew.c: Check HAVE_TERM_H before including term.h.
1583
425de386
AI
15842001-02-24 Andrew Innes <andrewi@gnu.org>
1585
1586 * makefile.w32-in: Update copyright notice.
1587
2ba11bbd
SM
15882001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1589
1590 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1591
66c56ed1
KH
15922001-02-24 Kenichi Handa <handa@etl.go.jp>
1593
4c1593ce
KH
1594 * Makefile.in (lisp): Add international/utf-8.elc.
1595
66c56ed1
KH
1596 * fontset.c (Fnew_fontset): Fix handling of the case that an
1597 element of FONTLIST is a cons of family and registry.
1598
796ead7e
JR
15992001-02-23 Jason Rumney <jasonr@gnu.org>
1600
1601 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1602 to height unconditionally.
1603
1604 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1605 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1606 (x_insert_glyphs): Call window_box_left to obtain the left
1607 x-coordinate of the area to shift.
1608
1609 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1610 safe_run_hooks.
1611
f6839838
AI
16122001-02-22 Andrew Innes <andrewi@gnu.org>
1613
52283633 1614 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1615 ($(BLD)\dispnew.obj):
1616 ($(BLD)\editfns.obj):
1617 ($(BLD)\fileio.obj):
1618 ($(BLD)\filelock.obj):
1619 ($(BLD)\keyboard.obj):
1620 ($(BLD)\w32proc.obj):
1621 ($(BLD)\process.obj):
1622 ($(BLD)\sysdep.obj): Ditto.
1623
1624 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1625 header files.
52283633
SM
1626 ($(BLD)/dispnew.$(O)):
1627 ($(BLD)/editfns.$(O)):
1628 ($(BLD)/fileio.$(O)):
1629 ($(BLD)/filelock.$(O)):
1630 ($(BLD)/keyboard.$(O)):
1631 ($(BLD)/w32proc.$(O)):
1632 ($(BLD)/process.$(O)):
f6839838
AI
1633 ($(BLD)/sysdep.$(O)): Ditto.
1634
c224f70b
GM
16352001-02-22 Gerd Moellmann <gerd@gnu.org>
1636
51695746
GM
1637 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1638 at the start of the function, check that the \n in it->c is
1639 from the iterator's current position.
52283633 1640
a61b7058
GM
1641 * xdisp.c (handle_single_display_prop): Add parameter
1642 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1643 properties which replace the display of text with something else.
1644 (handle_display_prop): Call handle_single_display_prop with
1645 additional argument saying if we already replaced text display
1646 with something else. Use AREF.
52283633 1647 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1648 (decode_mode_spec_coding): Use AREF and ASIZE.
1649
3473f362
GM
1650 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1651 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1652 * vmstime.h: Files removed.
52283633 1653
2bb58df3
GM
1654 * unexencap.c, unexfx2800.c: Files removed.
1655
c224f70b
GM
1656 * dispnew.c (direct_output_for_insert): Give up if we are showing
1657 a message or just cleared the message because we might need to
1658 resize the echo area window or display an empty echo area.
1659
ffc9ff0c
GM
16602001-02-21 Gerd Moellmann <gerd@gnu.org>
1661
0528abe1
GM
1662 * xdisp.c (redisplay_internal): Do the
1663 mark_window_display_accurate after all windows have been
1664 redisplayed because this call resets flags in buffers which are
1665 needed for proper redisplay.
1666
52283633
SM
1667 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1668 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1669 the old names.
1670
52283633
SM
1671 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1672 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1673
1674 * msdos.h (struct x_output): Rename busy_window to
1675 hourglass_window, busy_p to hourglass_p.
1676
52283633
SM
1677 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1678 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1679
1680 * xfns.c: Rename everything containing *busy_cursor* and similar
1681 to *hourglass*.
1682 (syms_of_w32fns): Rename x-busy-pointer-shape to
1683 x-hourglass-pointer-shape, display-busy-cursor to
1684 display-hourglass, busy-cursor-delay to hourglass-delay.
1685
1686 * w32fns.c: Rename everything containing *busy_cursor* and similar
1687 to *hourglass*.
1688 (syms_of_w32fns): Rename x-busy-pointer-shape to
1689 x-hourglass-pointer-shape, display-busy-cursor to
1690 display-hourglass, busy-cursor-delay to hourglass-delay.
1691
1692 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1693 of its busy_p flag.
1694
1695 * dispextern.h (start_hourglass, cancel_hourglass)
1696 (display_hourglass_p): Renamed from *busy_cursor*.
1697
ab2c5f0a
GM
16982001-02-20 Gerd Moellmann <gerd@gnu.org>
1699
d17e49a8
GM
1700 * keyboard.c (read_char): When an event from unread-command-events
1701 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1702
fa97adf6
GM
1703 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1704 equal to the current buffer.
1705
ab2c5f0a
GM
1706 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1707 nil, otherwise we're left with truncate_lines t when a message
1708 is printed with message-truncate-lines bound to t.
1709
aeac019e
GM
17102001-02-19 Gerd Moellmann <gerd@gnu.org>
1711
c8bc6f65
GM
1712 * window.c (Fmove_to_window_line): Undo last change.
1713 (displayed_window_lines): Call line_bottom_y to determine
1714 the line's bottom position.
1715
1716 * dispextern.h (line_bottom_y): Add prototype.
1717
52283633 1718 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1719 (pos_visible_p): Use it.
1720
980a2d69
GM
1721 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1722 set redisplaying_p to 0 here instead of in Frecursive_edit.
1723 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1724 set redisplaying_p.
1725
52283633 1726 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1727 New variables.
1728 (syms_of_xdisp): Initialize new variables.
1729 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1730 Specbind `inhibit-menubar-update' when updating the menu bar.
1731
65048e97
GM
1732 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1733 safe_run_hooks.
1734
1735 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1736 safe_run_hooks.
1737
a57c4026
GM
1738 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1739 is null.
1740
aeac019e
GM
1741 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1742 to the start of the file.
1743
76846b31
GM
17442001-02-16 Gerd Moellmann <gerd@gnu.org>
1745
f3f053f3 1746 * window.c (set_window_buffer): Fix last change.
52283633 1747
f3f053f3
GM
1748 * window.c (set_window_buffer): Set window's vscroll to 0.
1749
dad75588
GM
1750 * window.c (coordinates_in_window): Increase width of area
1751 where the vertical line can be dragged.
1752
c220b753
GM
1753 * xterm.c (x_set_glyph_string_background_width): Extend the
1754 background face to the end of the drawing area in the text
1755 area, only.
1756
c56b1c1b
GM
1757 * xdisp.c (handle_single_display_prop): Set iterator's position
1758 to where the `display' property starts, like for images.
1759 (dump_glyph): New function.
1760 (dump_glyph_row): Use it. Dump info about marginal areas.
1761
1762 * dispnew.c (direct_output_for_insert): Recognize more cases where
1763 glyphs can be written instead of being inserted.
1764
1765 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1766 the left x-coordinate of the area to shift.
1767
76846b31
GM
1768 * dired.c (directory_files_internal): Set result list to nil
1769 before retrying.
1770
0fc71a77
KH
17712001-02-15 Kenichi Handa <handa@etl.go.jp>
1772
1773 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1774 invalid multibyte sequence, treat *SRC as a character of
1775 eight-bit-graphic.
1776
25078b54
EZ
17772001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1778
1779 * textprop.c (Fset_text_properties): Doc fix.
1780
8399f8a0
GM
17812001-02-15 Gerd Moellmann <gerd@gnu.org>
1782
1783 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1784
9a2a6f73
DL
17852001-02-14 Dave Love <fx@gnu.org>
1786
1787 * coding.c: Doc and message fixes.
1788
bf853fee
AI
17892001-02-14 Andrew Innes <andrewi@gnu.org>
1790
1791 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1792 Emacs frame above the screen size.
1793
78c663d8
GM
17942001-02-14 Gerd Moellmann <gerd@gnu.org>
1795
1796 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1797
7cc9f69f
GM
17982001-02-13 Gerd Moellmann <gerd@gnu.org>
1799
0a411995
GM
1800 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1801 case that TO ends up beyond ZV after running before-change-functions.
1802
5ddc1b75
GM
1803 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1804 the selected window if it is showing the buffer in question.
1805
7cc9f69f
GM
1806 * dired.c (directory_files_internal): Initialize errno.
1807 (toplevel): Include errno.h.
1808
2e6621ca
GM
18092001-02-13 Kenichi Handa <handa@etl.go.jp>
1810
1811 * xfaces.c (best_matching_font): New parameter width_ratio.
1812 Multiply avgwidth by width_ratio.
1813 (choose_face_font): Call best_matching_font with width_ratio
1814 calculated from the column width of C.
1815
60222d69
AI
18162001-02-12 Andrew Innes <andrewi@gnu.org>
1817
1818 The following changes are to draw box lines inside characters area
1819 if line-width is negative.
52283633 1820
60222d69
AI
1821 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1822 face->box_line_width is negative.
1823 (x_produce_stretch_glyph): Likewise.
1824 (x_produce_glyphs): Likewise.
1825 (x_estimate_mode_line_height): Likewise.
1826 (x_draw_glyph_string_background): Likewise.
1827 (x_draw_glyph_string_foreground): Likewise.
1828 (x_draw_composite_glyph_string_foreground): Likewise.
1829 (x_draw_glyph_string_box): Likewise.
1830 (x_draw_image_foreground): Likewise.
1831 (x_draw_image_relief): Likewise.
1832 (x_draw_image_foreground_1): Likewise.
1833 (x_draw_image_glyph_string): Likewise.
1834
9804b846
KH
18352001-02-09 Kenichi Handa <handa@etl.go.jp>
1836
1837 The following changes are to draw box lines inside characters area
1838 if line-width is negative.
52283633 1839
9804b846
KH
1840 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1841 face->box_line_width is negative.
1842 (x_produce_stretch_glyph): Likewise.
1843 (x_produce_glyphs): Likewise.
1844 (x_estimate_mode_line_height): Likewise.
1845 (x_draw_glyph_string_background): Likewise.
1846 (x_draw_glyph_string_foreground): Likewise.
1847 (x_draw_composite_glyph_string_foreground): Likewise.
1848 (x_draw_glyph_string_box): Likewise.
1849 (x_draw_image_foreground): Likewise.
1850 (x_draw_image_relief): Likewise.
1851 (x_draw_image_foreground_1): Likewise.
1852 (x_draw_image_glyph_string): Likewise.
1853
1854 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1855 and :line-width can be negative.
52283633 1856 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1857
49be9f70
JR
18582001-02-09 Jason Rumney <jasonr@gnu.org>
1859
1860 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1861 characters the same as ASCII and latin-1.
1862 (x_display_and_set_cursor): Check for the focus frame's selected
1863 window instead of selected_window.
1864 (x_after_update_window_line): Don't clear if frame's internal
1865 border width is zero.
1866 (x_new_font): Don't change a tooltip's size.
1867 (w32_initialize): Set char_ins_del_ok to 1.
1868
1869 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1870 (x_set_font): If font hasn't changed, avoid recomputing
1871 faces and other things.
52283633
SM
1872 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1873 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1874 (x_create_tip_frame): Prevent changing the tooltip's
1875 background color by specifying a color for the default font
1876 in .Xdefaults.
1877 (Qcancel_timer): New variable.
1878 (syms_of_w32fns): Initialize and staticpro it.
1879 (Fx_hide_tip, Fx_show_tip): Use it.
1880 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1881 the timer.
1882 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1883
1884 * w32.c (init_environment): Duplicate local string before putenv.
1885
555e35d2
SZ
18862001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1887
1888 * charset.c (Fstring): A typo.
1889
19c92c94
KH
18902001-02-09 Kenichi Handa <handa@etl.go.jp>
1891
e47a1c33
KH
1892 * charset.c (Fstring): If all arguments are less than 256, return
1893 a unibyte string.
1894
1895 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1896 return a unibyte string.
1897
19c92c94
KH
1898 * coding.c (code_convert_region): After detecting a coding, if
1899 nothing found, set coding->composing to COMPOSITION_NO.
1900 (decode_coding_string): Likewise.
1901
d8e675f5
SM
19022001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1903
1904 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1905 to avoid overflow.
1906
bd503487
KH
19072001-02-07 Kenichi Handa <handa@etl.go.jp>
1908
1909 * charset.c (parse_str_to_multibyte): New function.
1910
1911 * charset.h (parse_str_to_multibyte): Extern it.
1912
1913 * print.c (print_string): If we are going to print a unibyte
1914 string into a multibyte buffer, convert the string to multibyte by
1915 str_to_multibyte.
1916
a8370d72
AI
19172001-02-06 Andrew Innes <andrewi@gnu.org>
1918
1919 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1920 been created. It seems we can get sent window messages such as
1921 WM_ERASEBKGND before we properly update a frame.
1922
c363a1d6
GM
19232001-02-06 Gerd Moellmann <gerd@gnu.org>
1924
1925 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1926 Avoid some unnecessary cursor positioning.
1927
a08332c0
GM
19282001-02-05 Gerd Moellmann <gerd@gnu.org>
1929
52283633 1930 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1931 (LFACE_AVGWIDTH): New macro.
1932 (LFACEP): Use AREF.
1933 (check_lface_attrs): Check LFACE_AVGWIDTH.
1934 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1935 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1936 (merge_face_vectors): Check LFACE_AVGWIDTH.
1937 (Finternal_make_lisp_face): Use AREF.
1938 (xm_set_menu_resources_from_menu_face)
1939 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1940 (Finternal_lisp_face_empty_p): Use AREF.
1941 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1942 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1943 Compare average widths..
1944 (best_matching_font): Arrange for comparing average widths.
1945
52283633
SM
1946 * dispextern.h (enum lface_attribute_index):
1947 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1948
5cb3c8d4
DL
19492001-02-05 Dave Love <fx@gnu.org>
1950
1951 * puresize.h: Revert last change following loadup.el change.
1952
193fba87
AI
19532001-02-05 Andrew Innes <andrewi@gnu.org>
1954
1955 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1956 invocation of temacs, to work with Windows 2000.
1957 (bootstrap-emacs): Ditto.
1958
e16f52ce
GM
19592001-02-05 Gerd Moellmann <gerd@gnu.org>
1960
7a58ab59
GM
1961 * xterm.c (x_display_and_set_cursor): Check for the focus
1962 frame's selected window instead of selected_window.
1963
e89aaabd
GM
1964 * xdisp.c (try_scrolling): If point is in the line below the
1965 window, make sure to move the iterator at least a canonical
1966 char height down.
1967
52283633 1968 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1969
789ce875
KH
19702001-02-05 Kenichi Handa <handa@etl.go.jp>
1971
52283633
SM
1972 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1973 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1974 (ccl_driver): If the CCL program is terminated because of
1975 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1976 destination instead of throwing them away.
1977
20b28f82
GM
19782001-02-02 Gerd Moellmann <gerd@gnu.org>
1979
79fb38c0
GM
1980 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1981 faces and other things.
1982
20b28f82
GM
1983 * xdisp.c (get_next_display_element): Fix case of empty
1984 display table entry.
1985
5a72551e
EZ
19862001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1987
eb24d0bf
EZ
1988 * editfns.c (Fconstrain_to_field): Doc fix.
1989
6a3f48c7
EZ
1990 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1991 into `thoroughly', to make it consistent with the doc string.
1992
5a72551e
EZ
1993 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1994
01acdb05
GM
19952001-02-01 Gerd Moellmann <gerd@gnu.org>
1996
0353b28f
GM
1997 * search.c (search_buffer): Call set_search_regs with a byte
1998 position, not a character position.
1999
01acdb05
GM
2000 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2001 minibuffer-only,
2002
e86b5133
EZ
20032001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2004
2005 * frame.c (Fmodify_frame_parameters): Doc fix.
2006
7442878f
GM
20072001-01-31 Gerd Moellmann <gerd@gnu.org>
2008
01acdb05
GM
2009 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2010 identifier which is not reserved by Standard C.
52283633 2011
7442878f
GM
2012 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2013
2014 * window.c (enum window_part): New enumeration.
2015 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2016 Qright_bitmap_area.
2017 (coordinates_in_window): Return an enumerator from enum
2018 window_part. Fix handling of right scroll bar.
2019 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2020 `right-fringe' instead of `left-bitmap-area' and
2021 `right-bitmap-area'. Use enumerators from enum window_part
2022 instead of hard-coded integers.
52283633
SM
2023 (check_window_containing, window_from_coordinates):
2024 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2025 (syms_of_window): Replace Qleft_bitmap_area and
2026 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2027
7c132cba
EZ
20282001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2029
2030 * editfns.c (Fformat_time_string): Doc fix.
2031
c359dd9e
SM
20322001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2033
2034 * keymap.c (Fwhere_is_internal): Use the first valid binding
2035 if no ascii binding is found (when firstonly is t).
2036
ce070307
GM
20372001-01-31 Gerd Moellmann <gerd@gnu.org>
2038
b4f30ec5
GM
2039 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2040 instead of Finteractive_p.
2041
2042 * lisp.h (interactive_p): Add prototype.
2043
2044 * eval.c (interactive_p): New function.
2045 (Finteractive_p): Use it.
2046
ce070307
GM
2047 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2048
f57b6e64
DL
20492001-01-31 Dave Love <fx@gnu.org>
2050
d61c7afe
DL
2051 * .gdbinit (hook-run): Define to run xreload.
2052
f57b6e64
DL
2053 * textprop.c (Fset_text_properties): Fix newline in doc string.
2054
eef93f99
GM
20552001-01-30 Gerd Moellmann <gerd@gnu.org>
2056
52283633
SM
2057 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2058 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2059
2060 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2061 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2062 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2063
2064 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2065 height.
2066
d9c1f6f9
DL
20672001-01-30 Dave Love <fx@gnu.org>
2068
2069 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2070 AFTER_POTENTIAL_GC.
2071
e8f044a0
GM
20722001-01-29 Gerd Moellmann <gerd@gnu.org>
2073
52283633
SM
2074 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2075 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2076
8e1db7b3
EZ
20772001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2078
2079 * textprop.c (Fset_text_properties): Doc fix.
2080
4eefd9d2
GM
20812001-01-29 Gerd Moellmann <gerd@gnu.org>
2082
2083 * xdisp.c (forward_to_next_line_start): Remove xassert.
2084
fccb8288
EZ
20852001-01-29 Jason Rumney <jasonr@gnu.org>
2086
4eefd9d2 2087 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2088 returning without releasing it.
2089
76581eab
KH
20902001-01-29 Kenichi Handa <handa@etl.go.jp>
2091
2092 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2093 for '^', '$', and '\0'.
2094
83a96b4d
AC
20952001-01-28 Andrew Choi <akochoi@i-cable.com>
2096
5604ec34
AC
2097 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2098 regex for '^', '$', and '\0'.
2099
83a96b4d
AC
2100 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2101 only if current_sblock has been initialized.
2102
2103 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2104 terminal frame even if it is the only visible frame.
2105
c09a6440
KH
21062001-01-28 Kenichi Handa <handa@etl.go.jp>
2107
2108 * fontset.c (font_family_registry): Even if FONTNAME conform to
2109 XLFD, if it specifies other fields than family and registry,
52283633 2110 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2111 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2112 a signle byte character. Don't set FAMILY part to nil here.
2113 It is handled by the caller choose_face_font.
c09a6440
KH
2114 (Fnew_fontset): Call font_family_registry with FORCE 0.
2115 (Fset_fontset_font): Likewise.
2116
4dcd74e6
GM
21172001-01-27 Gerd Moellmann <gerd@gnu.org>
2118
2119 * xdisp.c (display_line): Don't treat a newline as fitting
2120 on the line.
2121
d2906bf8
GM
21222001-01-26 Gerd Moellmann <gerd@gnu.org>
2123
0130fe1a
GM
2124 * window.c (size_window): Set the window's orig_top to nil when
2125 changing heights, so that a future shrink_mini_window won't
2126 restore a bogus height.
2127
550f0e6a
GM
2128 * frame.c (do_switch_frame): If selected frame has a mini-window,
2129 resize that to exact size.
2130
b7b20fbd
GM
2131 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2132
a47b7816
GM
2133 * xdisp.c (display_line): Simplify check for glyphs fitting
2134 entirely in the line.
2135
d2906bf8
GM
2136 * xfns.c (xic_style): New variable.
2137 (create_frame_xic): Move static variable to global scope for
550f0e6a 2138 the case that `static' gets defined away.
d2906bf8 2139
73df2b1e
KH
21402001-01-26 Kenichi Handa <handa@etl.go.jp>
2141
2142 * coding.c (decode_coding): Set a flag for inhibiting
2143 inconsistent eol.
2144 (code_convert_region): Always set saved_coding_symbol.
2145 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2146 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2147
6613cfc4
GM
21482001-01-25 Gerd Moellmann <gerd@gnu.org>
2149
c5e6e06b
GM
2150 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2151 XClearArea.
2152
2153 * xterm.c (x_after_update_window_line): Don't clear if frame's
2154 internal border width is zero.
2155 (x_clear_area): New function.
2156 (x_after_update_window_line, x_clear_end_of_line)
2157 (x_scroll_bar_create, x_scroll_bar_set_handle)
2158 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2159 instead of XClearArea.
2160
2161 * xterm.h (x_clear_area): Add prototype.
2162
6613cfc4
GM
2163 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2164 which doesn't seem necessary anymore with Lesstif 0.92.
2165
650cc6cc
DL
21662001-01-25 Dave Love <fx@gnu.org>
2167
34ac3367
DL
2168 * puresize.h (BASE_PURESIZE): Up to 720000.
2169
650cc6cc
DL
2170 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2171
5e37dc22
GM
21722001-01-25 Gerd Moellmann <gerd@gnu.org>
2173
e1e441f9
GM
2174 * xdisp.c (echo_area_display): Don't call redisplay_internal
2175 when Emacs is shutting down. We can't run hooks etc. that
2176 would be necessary to do a redisplay.
2177
5e37dc22
GM
2178 * lread.c (read_integer): Use type EMACS_INT instead of int.
2179
0fb94c7f
EZ
21802001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2181
2182 * ccl.c (ccl_driver): Fix last change.
2183
e3778624
KH
21842001-01-25 Kenichi Handa <handa@etl.go.jp>
2185
2186 * ccl.h (sturct ccl_program): New member suppress_error.
2187
bb264518 2188 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2189 insert error message to the output.
2190 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2191
2192 * coding.h (struct coding_system): New member suppress_error.
2193
2194 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2195 (Fset_terminal_coding_system_internal): Set the member
2196 suppress_error to 1.
2197 (Fset_safe_terminal_coding_system_internal): Likewise.
2198
245ed2b1
SM
21992001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2200
2201 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2202 as if it was a `charset'.
2203
f9aaedb6
GM
22042001-01-24 Gerd Moellmann <gerd@gnu.org>
2205
2206 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2207 value in where_is_cache; the next lookup in the cache returns
2208 something bogus if we do.
2209
c3902c3e
EZ
22102001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2211
2212 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2213 if HAVE_WINDOW_SYSTEM isn't defined.
2214
3497f73e
GM
22152001-01-24 Gerd Moellmann <gerd@gnu.org>
2216
e7e41584
GM
2217 * fns.c (sweep_weak_table): Fix code taking items out of
2218 the hash collision chain. Some cleanup.
2219
3497f73e
GM
2220 * xterm.c (x_new_font): Don't change a tooltip's size.
2221
2222 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2223 background color by specifying a color for the default font
2224 in .Xdefaults.
2225
3d48e687
KH
22262001-01-24 Kenichi Handa <handa@etl.go.jp>
2227
96531b20
KH
2228 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2229 a workaround for SunOS 4's cc.
2230 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2231 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2232 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2233 statement.
3d48e687 2234
a30629d2
GM
22352001-01-23 Gerd Moellmann <gerd@gnu.org>
2236
2237 * xterm.c (x_set_window_size_1): New function extracted from
2238 x_set_window_size.
2239 (x_set_window_size): Use it.
2240 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2241 doesn't have a widget, like tooltips.
2242
5a43decf
EZ
22432001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2244
52283633 2245 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2246
b0e98867
KH
22472001-01-23 Kenichi Handa <handa@etl.go.jp>
2248
2249 * fns.c (Fset_char_table_default): Fix to make sub char-table
2250 correctly.
2251
50606b4c
GM
22522001-01-22 Gerd Moellmann <gerd@gnu.org>
2253
cb2ddc53 2254 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2255 a desired tool bar string, even if there are no tool bar items.
2256
57c28064
GM
2257 * xdisp.c (Ftool_bar_lines_needed): New function.
2258 (syms_of_xdisp): Defsubr it.
2259
50606b4c
GM
2260 * editfns.c (Fformat): Don't extend text properties from arguments
2261 to padding chars in the result.
2262
2f169c38
EZ
22632001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2264
2265 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2266
0f32f023
AI
22672001-01-20 Andrew Innes <andrewi@gnu.org>
2268
52283633 2269 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2270 (w32_initialize): Don't set term hooks that aren't actually needed
2271 in windowed mode.
2272
2273 * xfaces.c (realize_default_face):
2274 (realize_face):
2275 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2276
2277 * xdisp.c (handle_single_display_prop): Remove references to
2278 FRAME_W32_CONSOLE_P.
2279
52283633 2280 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2281
2282 * frame.h (output_method): Remove output_w32_console method.
2283 (FRAME_W32_CONSOLE_P): Remove macro.
2284
2285 * frame.c (Qw32_console): Remove variable.
2286 (Fframep): Remove references to it.
2287 (syms_of_frame): Ditto.
2288 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2289
2290 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2291 redefinition.
2292
7173eada
KH
22932001-01-20 Kenichi Handa <handa@etl.go.jp>
2294
2295 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2296
755b45ce
AI
22972001-01-19 Andrew Innes <andrewi@gnu.org>
2298
2299 * w32.c (init_environment): Add a version-independent site-lisp
2300 directory to EMACSLOADPATH, after the version dependent one.
2301
0a949811
GM
23022001-01-19 Gerd Moellmann <gerd@gnu.org>
2303
8501998a
GM
2304 * editfns.c (Fbuffer_substring): Doc fix.
2305
52283633
SM
2306 * xdisp.c (message_dolog, message2, message2_nolog):
2307 Rename parameter LEN to NBYTES.
0a949811 2308
e6ebcbbe
KH
23092001-01-19 Kenichi Handa <handa@etl.go.jp>
2310
200ecca2
KH
2311 * charset.c (strwidth): Use c_string_width.
2312 (c_string_width): New function.
2313 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2314 Caller changed.
2315
2316 * charset.h (c_string_width, lisp_string_width): Extern them.
2317
52283633 2318 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2319
e6ebcbbe
KH
2320 * indent.c (check_composition): Check validity of composition.
2321
200ecca2
KH
2322 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2323 characters by calling c_string_width.
2324 (x_consider_frame_title): Get byte length of frame tile string
2325 correctly.
2326 (display_mode_element): Pay attention to width of non-ASCII
2327 characters by calling strwidth.
2328
8692ca92
GM
23292001-01-18 Gerd Moellmann <gerd@gnu.org>
2330
8962e303
GM
2331 * xfns.c (Qcancel_timer): New variable.
2332 (syms_of_xfns): Initialize and staticpro it.
2333 (Fx_hide_tip, Fx_show_tip): Use it.
2334 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2335 the timer.
2336 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2337
91523be9
GM
2338 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2339
2340 * window.h (WINDOW_LIVE_P): New macro.
2341
b0b7ed0e
GM
2342 * window.c (window_size_fixed): New variable.
2343 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2344 the doc string.
2345
06bccf8e
GM
2346 * eval.c (specbind): If binding a per-buffer variable which
2347 doesn't have a buffer-local value in the current buffer, change
2348 the global value by changing the value of the symbol bound in all
2349 buffers not having their own value, to make it consistent with
2350 what happens with other buffer-local variables.
2351
8692ca92
GM
2352 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2353
2354 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2355 when searching for a newline.
2356
bb3a3b50
KH
23572001-01-18 Kenichi Handa <handa@etl.go.jp>
2358
2359 * xdisp.c (display_string): Fix previous change.
2360
c2cc16fa
JR
23612001-01-18 Jason Rumney <jasonr@gnu.org>
2362
2363 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2364 GLYPH_DEBUG is defined.
2365 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2366 true for images with `:ascent 100'.
2367 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2368 meantime, use face MOUSE_FACE_ID.
2369 If first glyph isn't a character glyph, use the ASCII NUL
2370 character to determine the face.
2371 (expose_area): Do not treat left margin specially.
2372 (note_mode_line_highlight): If no local_map, check global keymap.
2373 (note_mouse_highlight): Initialize overlay.
52283633 2374 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2375 (show_scroll_bars): Remove unused function.
2376 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2377 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2378 Clip to row.
52283633 2379 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2380 (x_free_frame_resources): Unload relief colors.
2381
9c11f79e
GM
23822001-01-17 Gerd Moellmann <gerd@gnu.org>
2383
3aec8722 2384 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2385 get_next_display_element when the newline is already found.
2386 This may change the iterator's position, when its current position is
3aec8722
GM
2387 equal to the iterator's stop_charpos.
2388
f3ffc2c3
GM
2389 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2390 zero, use this method only at the end of a line.
2391
52283633 2392 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2393 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2394 if SCALABLE_FONTS_P is set.
52283633 2395
d26d6fd9
GM
2396 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2397 so that scalable fonts are included.
2398
9c11f79e
GM
2399 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2400 In the cache, use a key containing the information if scalable
2401 fonts are included.
2402 (x_load_font): Adapt to change of keys in the font cache.
2403
24042001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2405
d26d6fd9
GM
2406 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2407 XListFonts to take advantage of font caching.
2408
9c11f79e
GM
2409 * xterm.c (x_list_fonts): Ensure caching font information when
2410 called for a null frame, which is the case frequently when Emacs
2411 starts.
2412
51446987
GM
24132001-01-17 Gerd Moellmann <gerd@gnu.org>
2414
f864120f
GM
2415 * xfns.c (QCconversion): Replaces QCalgorithm.
2416
2417 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2418
2419 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2420 of :algorithm.
52283633 2421
e37d1417
GM
2422 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2423 not everything could be displayed.
2424
51446987
GM
2425 * line.h, x-list-font.c: Files removed because unused.
2426
9ad4f3e5
AI
24272001-01-17 Andrew Innes <andrewi@gnu.org>
2428
2429 * dired.c (directory_files_internal): Convert result from readdir
2430 to a unibyte string initially, to avoid possible misinterpretation
2431 of some bytes as the internal form of Emacs characters.
2432
2eda09b5
KH
24332001-01-17 Kenichi Handa <handa@etl.go.jp>
2434
2435 * fns.c (concat): Be sure to avoid putting the same `composition'
2436 property on the adjacent regions.
2437
826f3788
GM
24382001-01-16 Gerd Moellmann <gerd@gnu.org>
2439
52283633 2440 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2441 (Fscroll_right, Fscroll_left): Set it here instead, if called
2442 interactively.
2443
d57b83b3
GM
2444 * buffer.c (Fset_buffer_modified_p): Set buffer's
2445 prevent_redisplay_optimizations_p flag.
2446
826f3788 2447 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2448 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2449 with additional arg.
2450
2451 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2452 Change prototype.
826f3788 2453
826f3788
GM
2454 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2455 FROM_WHERE, for debugging.
2456
261d788b
KH
24572001-01-16 Kenichi Handa <handa@etl.go.jp>
2458
2459 * ccl.c (Fregister_ccl_program): Handle the return value of
2460 resolve_symbol_ccl_program correctly.
52283633 2461 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2462
bccee4f2
GM
24632001-01-15 Gerd Moellmann <gerd@gnu.org>
2464
e4ded23c
GM
2465 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2466 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2467
2468 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2469 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2470 the display; we didn't open it.
2471
bccee4f2
GM
2472 * dispnew.c (save_or_restore_current_matrices): Function removed.
2473 (save_current_matrix, restore_current_matrix): New functions.
2474 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2475 restore the frame's current matrix. Due to the glyph pointer
2476 setup done in adjust_glyph_matrix, there is no easy way to make
2477 saving the current matrix in the desired matrix generally correct,
2478 so don't try it.
2479
ebeccffa
KH
24802001-01-15 Kenichi Handa <handa@etl.go.jp>
2481
2482 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2483 truncation glyphs.
2484 (display_line): Optimize for wide characters.
e4ded23c 2485 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2486 partially. On ttys, produce more than one truncation glyph for
2487 multi-column characters that don't fit on the line.
2488
64388126
KH
24892001-01-13 Kenichi Handa <handa@etl.go.jp>
2490
52283633
SM
2491 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2492 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2493
8edb0a6f
JR
24942001-01-13 Jason Rumney <jasonr@gnu.org>
2495
2496 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2497 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2498 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2499 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2500
52283633
SM
2501 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2502 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2503 (x_draw_image_glyph_string): Adapt to change of image margins.
2504
2505 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2506 variables.
2507
2508 * w32bdf.c (search_file_line, get_cached_font_char)
2509 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2510
2511 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2512
2513 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2514 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2515 (Fw32_send_sys_command): Remove unused variables.
2516 (w32_msg_pump): Add parentheses.
2517
2518 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2519 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2520 Add parentheses.
2521
4956d1ef
GM
25222001-01-12 Gerd Moellmann <gerd@gnu.org>
2523
b30623be
GM
2524 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2525 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2526 being a pair of margins.
2527 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2528 to DEFVAR_LISP. Extend doc.
2529
2530 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2531 margins.
2532 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2533 pair of integers `(X . Y)', use X for the horizontal and Y for the
2534 vertical margin.
2535 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2536 (parse_image_spec): Check it.
52283633
SM
2537 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2538 (tiff_format, gif_format, gs_format):
2539 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2540
52283633
SM
2541 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2542 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2543 (x_draw_image_glyph_string): Adapt to the change of image margins.
2544
2545 * dispextern.h (struct image): Replace member `margin' with
2546 `hmargin' and `vmargin'.
2547
4554cc79
GM
2548 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2549 and GLYPHS.
2550
2551 * dispnew.c (update_text_area): Put code which decrements the
2552 stop position when the row's face extends to the end of the
3bffc665 2553 line in #if 0.
4554cc79 2554
3cccce8d
GM
2555 * xfns.c (x_set_mouse_color): Fix color allocation.
2556
4956d1ef
GM
2557 * keyboard.c: Call get_local_map with new argument list.
2558
2559 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2560
2561 * intervals.h (enum map_property): Removed.
2562 (get_local_map): Change prototype.
2563
2564 * keymap.c: Call get_local_map with new argument list.
2565 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2566
2c2ff7f2
GM
25672001-01-11 Gerd Moellmann <gerd@gnu.org>
2568
a23887b9
GM
2569 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2570 of the size needed for the tool bar string. For the last image,
2571 use a `display' property that reaches to the end of the string.
2572
a7ee2d2e
GM
2573 * xselect.c (selection_request_dpyinfo): New variable.
2574 (x_handle_selection_request): Set it.
2575 (x_selection_request_lisp_error): Don't call
2576 x_decline_selection_request if selection request's display has
2577 been closed.
2578
52283633
SM
2579 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2580 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2581
457b792c
GM
25822001-01-10 Dave Love <fx@gnu.org>
2583
2584 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2585 ${SOME_MACHINE_LISP}, not ${lisp}.
2586
c1efd260
GM
25872001-01-10 Gerd Moellmann <gerd@gnu.org>
2588
52283633
SM
2589 * xdisp.c (display_line): On ttys, produce more than one truncation
2590 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2591
ac95a621
GM
2592 * xselect.c (x_reply_selection_request): Add a comment.
2593
c1efd260
GM
2594 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2595 XkbGetNames instead of XkbGetKeyboard.
2596
1bfb1345
DL
25972001-01-10 Dave Love <fx@gnu.org>
2598
2599 * sysdep.c (random): Revert the declaration.
2600
38119822
GM
26012001-01-09 Gerd Moellmann <gerd@gnu.org>
2602
52283633
SM
2603 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2604 Call function string_bytes.
35f464a7
GM
2605 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2606
2607 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2608 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2609 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2610 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2611 the current sblock.
2612 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2613 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2614 after sweeping strings, and at the end.
2615 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2616
38119822
GM
2617 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2618 ensure that pop_message is called.
2619
2620 * keyboard.c (Fexecute_extended_command): Use a
2621 record_unwind_protect to ensure that pop_message is called.
2622
2623 * lisp.h (push_message_unwind): Add prototype.
2624
2625 * xdisp.c (push_message_unwind): New function.
2626
2627 * fileio.c (do_auto_save_unwind): Do the pop_message here
2628 instead of in Fdo_auto_save.
2629 (Fdo_auto_save): Don't call pop_message.
2630
f47a9ec4
KR
26312001-01-08 Ken Raeburn <raeburn@gnu.org>
2632
2633 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2634 in inner block.
2635
a758f97d
GM
26362001-01-08 Gerd Moellmann <gerd@gnu.org>
2637
6d0afc03
GM
2638 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2639 when increasing window's vscroll.
2640
a758f97d
GM
2641 * macros.c (Qkbd_macro_termination_hook): New variable.
2642 (syms_of_macros): Initialize and staticpro it.
2643 (pop_kbd_macro): Run kbd-macro-termination-hook.
2644
2645 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2646
1bfb1345 26472001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2648
2649 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2650 arglist, for documentation's sake.
2651
0dac6924
AI
26522001-01-06 Andrew Innes <andrewi@gnu.org>
2653
2654 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2655 of *.pdb.
2656
8182406a
AI
26572001-01-05 Andrew Innes <andrewi@gnu.org>
2658
2659 * term.c (update_end): Don't check updating_frame; for some reason
2660 this can be 0 sometimes, such as after dismissing a popup menu,
2661 and isn't necessary given the explicit frame argument.
2662
3828218c
GM
26632001-01-05 Gerd Moellmann <gerd@gnu.org>
2664
2665 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2666 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2667
2f5ded21
GM
26682001-01-04 Gerd Moellmann <gerd@gnu.org>
2669
52283633 2670 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2671
2672 * xfns.c (x_create_tip_frame): Preserve the value of
2673 face_change_count around the creation of the tip frame.
52283633 2674
2f5ded21
GM
2675 * xfns.c (last_show_tip_args): New variable.
2676 (compute_tip_xy): New function.
2677 (Fx_show_tip): Reuse an existing tip frame, if possible.
2678 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2679
dfad65fa
DL
26802001-01-04 Dave Love <fx@gnu.org>
2681
64d4ec0f
DL
2682 * editfns.c (Fformat): Doc fix.
2683
dfad65fa
DL
2684 * systime.h (set_file_times): Prototype.
2685
2686 * widget.h (EmacsFrameSetCharSize_): Prototype.
2687
2688 * sysdep.c (random, srandom): Declare explicitly.
2689
2690 * dispextern.h (move_it_vertically_backward): Declare.
2691
85fe3b5e
GM
26922001-01-04 Gerd Moellmann <gerd@gnu.org>
2693
0f2ac578
GM
2694 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2695 like in Fx_create_frame.
2696
482cca61
GM
2697 * xfaces.c (set_font_frame_param): Don't do anything for
2698 non-graphical frames.
2699
85fe3b5e
GM
2700 * window.c (Fdelete_other_windows): Set window's window_end_valid
2701 to nil when changing the window's start. Don't change the
2702 window's start when its top position hasn't changed. If we do,
2703 this will set the window's optional_new_start, which act's like a
2704 force_start during redisplay with C-x 1 M-> under particular
2705 circumstances (see report from Per Starback to emacs-pretest-bug
2706 from 2000-12-13.).
2707
3e99d3b4
GM
27082001-01-03 Gerd Moellmann <gerd@gnu.org>
2709
a77dc1ec
GM
2710 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2711 short cut at the start of the function. Add an assertion.
2712 (reseat_at_next_visible_line_start): Add an assertion.
2713
2f3cad6c
GM
2714 * window.c (Frecenter): When changing the window start, set the
2715 window's window_end_valid to nil.
2716 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2717
2718 * dispextern.h (move_it_past_eol): Add prototype.
2719
2720 * xdisp.c (move_it_past_eol): New function.
2721
3e99d3b4
GM
2722 * window.c (Fwindow_end): Doc fix.
2723
27242001-01-03 Dave Love <fx@gnu.org>
2725
52283633 2726 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2727
bafb434c
GM
27282001-01-03 Gerd Moellmann <gerd@gnu.org>
2729
2730 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2731 the enabled_p flag of the glyph row at window_end_vpos to 0.
2732 (handle_single_display_prop): Fix last change.
2733
5297fb00
RS
27342001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2735
2736 * window.c (Frecenter): Doc fix.
2737
13d6a61c
AI
27382001-01-02 Andrew Innes <andrewi@gnu.org>
2739
2740 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2741
2742 * frame.h (output_method): Add output_w32_console method.
2743 (FRAME_W32_CONSOLE_P): New macro.
2744
2745 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2746 use output_w32_console method.
2747 (Qw32_console): New Lisp_Object.
2748 (Fframep): Return it.
2749 (syms_of_frame): Init it.
52283633 2750 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2751
2752 * xfaces.c (realize_default_face): Set face foreground and
2753 background to unspecified for w32_console frames.
2754 (realize_face): Realize face cache for w32_console frames.
2755 (realize_tty_face): Accept w32_console frames.
2756
52283633 2757 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2758 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2759 necessary, even if running interactively.
2760
2761 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2762 w32_console frames.
2763
52283633
SM
2764 * w32term.c (x_update_begin):
2765 (x_update_end):
2766 (x_clear_frame):
2767 (x_ins_del_lines):
2768 (x_change_line_highlight):
2769 (x_delete_glyphs):
2770 (w32_ring_bell):
2771 (x_update_begin):
2772 (x_update_end):
2773 (w32_reassert_line_highlight):
2774 (w32_frame_rehighlight):
13d6a61c
AI
2775 (w32_frame_raise_lower): Do nothing if not w32 frame.
2776
2777 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2778
2779 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2780 system doesn't tell us directly.
2781 (Fx_display_visual_class): Implement properly.
2782
d6bb0c0d
GM
27832001-01-02 Gerd Moellmann <gerd@gnu.org>
2784
2785 * window.c (Frecenter): Handle centering in graphical frames
2786 specially. Centering on the basis of line counts doesn't work
2787 reliably with variable-height lines.
52283633 2788
315f5865
EZ
27892001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2790
2791 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2792 and al[].
2793
52283633 2794 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2795 (update_compositions): Remove unused variable `hook'.
2796
2797 * intervals.c (get_local_map): Remove unused variable `tem'.
2798
2799 * doprnt.c (doprnt1): Remove unused variable `size'.
2800
2801 * fns.c (Flength): Remove unused variable `tail'.
2802 (Fdelete): Remove unused variable `size'.
2803
2804 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2805 and `gcpro2'.
2806
52283633 2807 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2808
2809 * data.c (find_symbol_value): Remove extra 3rd argument in the
2810 call to swap_in_symval_forwarding.
2811
52283633 2812 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2813
2814 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2815 (trivial_regexp_p): Remove unused variable `c'.
2816 (boyer_moore): Remove unused variable `k'.
2817
2818 * indent.c (current_column): Remove unused variable `stopchar'.
2819 (Fcompute_motion): Remove unused variable `contin'.
2820
2821 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2822
2823 * dired.c (directory_files_internal): Fix a typo in a comment.
2824 Remove an unused variable `handler'.
52283633 2825 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2826 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2827 on BSD4_2.
2828
52283633 2829 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2830
2831 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2832 and `buf'.
2833 (Fmarker_insertion_type): Remove unused variable `buf'.
2834
2835 * insdel.c (make_gap): Remove unused variable `result'.
2836
52283633 2837 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2838 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2839 (menu_bar_items): Remove unused function-scope variable `tem'.
2840
2841 * fontset.c (fontset_ref): Remove unused variable `i'.
2842 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2843 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2844 (make_fontset_for_ascii_face): Remove unused variable `name'.
2845 (fs_load_font): Remove unused variable `font_idx'.
52283633 2846 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2847 (list_fontsets): Remove unused variable `tail'.
2848 (Fnew_fontset): Remove unused variables `family' and `registry'.
2849 (accumulate_font_info): Remove unused variable `tmp'.
2850 (Ffontset_font): Remove unused variable `id'.
2851 (syms_of_fontset): Remove unused variable `i'.
2852
2853 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2854 to x_term_init.
2855 (lookup_image): Remove unused variable `file'.
2856 (xbm_load): Remove unused variables `bitmap_data', `height', and
2857 `width'. Remove function-local variable `i', leave the
2858 block-local one.
2859 (gif_load): Remove unused variable `inc'.
2860
52283633 2861 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2862 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2863 leave only the one in the inner block.
2864
2865 * xfaces.c (face_fontset, realize_default_face): Remove unused
2866 variable `fontset'.
2867 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2868
2869 * term.c (encode_terminal_code): Remove unused variable `c'.
2870
2871 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2872 char *' instead of `char *'.
2873
2874 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2875 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2876 (Fchar_category_set): Remove unused variables `val', `charset',
2877 `c1' and `c2'.
2878
52283633
SM
2879 * coding.c (detect_coding_iso2022, setup_coding_system):
2880 Remove unused variable `i'.
315f5865
EZ
2881 (detect_coding_mask): Remove unused variable `idx'.
2882 (detect_coding): Remove unused variable `i'.
2883 (ccl_coding_driver): Remove unused variable `result'.
2884 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2885 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2886 (encode_coding_string): Remove unused variables `gcpro1' and
2887 `saved_coding_symbol'.
2888 (Ffind_coding_systems_region_internal): Remove function-local
2889 variable args[], leave only the block-local one.
2890 (code_convert_region1): Remove unused variable `len'.
2891
2892 * charset.c (char_printable_p): Remove unused variable `chars'.
2893 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2894 (str_to_multibyte): Remove unused variable `c'.
2895
2896 * window.c (size_window): Remove block-local variable `min_size'.
2897
2898 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2899 `header_line_height'.
2900 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2901 enum display_element_type.
2902
1a8a9daf
GM
29032001-01-02 Gerd Moellmann <gerd@gnu.org>
2904
6dde6abc 2905 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2906 statements that call X. Save away the error message in a local copy.
2907
1883b2c6
GM
2908 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2909 the start.
2910
a13be207
GM
2911 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2912 in or at the start of invisible text.
2913
1a8a9daf
GM
2914 * dispnew.c (update_window): Don't check_current_matrix_flags.
2915
3608c0f9
JR
29162001-01-01 Jason Rumney <jasonr@gnu.org>
2917
2918 * w32fns.c (x_figure_window_size): Do not allow new_height and
2919 new_width of frame to override specified values.
2920
abb1acc4
KH
29212000-12-30 Kenichi Handa <handa@etl.go.jp>
2922
52283633 2923 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2924
762a68ec
GM
29252000-12-29 Gerd Moellmann <gerd@gnu.org>
2926
52283633 2927 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2928 (update_window) [GLYPH_DEBUG]: Call it.
2929 (scrolling_window): Prevent including current rows which are below
2930 what's displayed in the window.
2931
2932 * xdisp.c (try_window_reusing_current_matrix)
2933 <new start <= old start>: Disable rows in the current matrix
2934 which are below the window after scrolling.
52283633 2935
762a68ec
GM
2936 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2937 is zero. It's not worth the complexity.
2938 (invisible_text_between_p): Put in #if 0 because unused.
2939
2d5912c1
GM
29402000-12-28 Gerd Moellmann <gerd@gnu.org>
2941
46f6a258
GM
2942 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2943 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2944
89f93679
GM
2945 * keyboard.c (echo_char): If C is an integer, always call
2946 push_key_description. Former code could signal an invalid
2947 character error.
2948
2949 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2950 If set, print multibyte text.
2951 (Fsingle_key_description): Call push_key_description with
2952 FORCE_MULTIBYTE set.
2953 (describe_buffer_bindings): Likewise.
2954
2955 * lisp.h (push_key_description): Add prototype.
2956
c06017fb
GM
2957 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2958 around the call to redisplay_internal.
2959
f1d2ce7f
GM
2960 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2961
2d5912c1
GM
2962 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2963
9371f831
KH
29642000-12-28 Kenichi Handa <handa@etl.go.jp>
2965
2966 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2967 (ccl_driver): New local variable `extra_bytes'.
2968
2969 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2970
52283633
SM
2971 * coding.c (setup_coding_system):
2972 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2973 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2974
0c80628a
KH
29752000-12-28 Kenichi Handa <handa@etl.go.jp>
2976
2977 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2978 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2979 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2980 (decode_composition_emacs_mule): New function.
2981 (decode_coding_emacs_mule): Decode composition sequence by calling
2982 decode_composition_emacs_mule.
2983 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2984 (encode_coding_emacs_mule): Changed from macro to function.
2985 If a text contains compositions, encode them correctly.
0c80628a
KH
2986 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2987 that decoding and encoding are required.
2988
3e32cc27
GM
29892000-12-27 Gerd Moellmann <gerd@gnu.org>
2990
5e25feee
GM
2991 * xfaces.c (PT_PER_INCH): New macro.
2992 (xlfd_point_size): Compute real point size from font's pixel size.
2993 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2994 instead of 72.
2995
892d8fcd
GM
2996 * .gdbinit: Comment out the line pointing to the Lesstif source
2997 directory.
2998
12c8b416
GM
2999 * window.c (Frecenter): Use displayed_window_lines instead
3000 of window_internal_height.
3001
6061fbf0
GM
3002 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3003 instead of x-toolkit-scroll-bars-p.
3004 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3005
3006 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3007 instead of x-toolkit-scroll-bars-p.
3008 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3009
3e32cc27
GM
3010 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3011 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3012 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3013 New variables.
3014 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3015 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3016 (build_frame_matrix_from_leaf_window): Remove unused code.
3017 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3018 redisplay history.
3019 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3020 (update_window) [GLYPH_DEBUG]: Likewise.
3021 (syms_of_display): Defsubr dump-redisplay-history.
3022
31798cfe
GM
30232000-12-23 Gerd Moellmann <gerd@gnu.org>
3024
f717c2ba
GM
3025 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3026 the end of the prompt. Set echo_after_prompt to the offset
3027 of echoptr in echobuf.
3028
aeb2b8fc
GM
3029 * xdisp.c (init_from_display_pos): Pop until the iterator's
3030 stack is empty; there may be frames for stretch or images
3031 on the stack.
3032
31798cfe
GM
3033 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3034 (save_or_restore_current_matrix): New function for the same
3035 purpose, but more efficient.
3036 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3037
f8156156
EZ
30382000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3039
3040 * xdisp.c (syms_of_xdisp): Fix last change.
3041
bdd6d4e8
GM
30422000-12-23 Gerd Moellmann <gerd@gnu.org>
3043
3044 * xdisp.c (syms_of_xdisp): Doc fix.
3045
3046 * xdisp.c (redisplay_window): Remove label restore_buffers;
3047 use finish_scroll_bars instead to make sure that scroll bars
3048 are redeemed. If we don't do this, flickering can result from
3049 scroll bars being destroyed and recreated.
3050
9436cdf9
JR
30512000-12-22 Jason Rumney <jasonr@gnu.org>
3052
3053 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3054 in the wrong colors when the foreground is not black.
3055 (expose_window): Don't redraw the window that's currently being
3056 updated.
3057
951f9df5
GM
30582000-12-22 Gerd Moellmann <gerd@gnu.org>
3059
856ff7a7
GM
3060 * window.c (size_window): When setting the window's too_small_ok
3061 flag, compare old size with minimum size depending on WIDTH_P,
3062 don't compare with window_min_width.
52283633 3063
951f9df5
GM
3064 * window.c (delete_window): Simplify somewhat.
3065 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3066 freeing window matrices. The flag windows_or_buffers_changed is
3067 set, so the next redisplay will consider all windows; this should
3068 suffice.
3069
886bc933
KH
30702000-12-22 Kenichi Handa <handa@etl.go.jp>
3071
3072 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3073
3074 * ccl.h (struct ccl_program): New member cr_consumed.
3075
3076 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3077 (CCL_READ_CHAR): Handle EOL conversion here.
3078 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3079
177f4e88
GM
30802000-12-21 Gerd Moellmann <gerd@gnu.org>
3081
52283633 3082 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3083
3084 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3085 otherwise tabs of different size compare equal.
3086
3087 * callint.c (Fcall_interactively): Prevent a compiler warning.
3088
3089 * print.c (print_unwind): Return nil.
3090 (PRINTDECLARE): Initialize all local variables.
3091 (print_preprocess): Add a default case.
3092
8e15274f
GM
3093 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3094
3095 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3096
52283633 3097 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3098 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3099
3100 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3101
3102 * dispnew.c (ensure_frame_matrix): Removed.
3103 (save_frame_matrix, restore_frame_matrix): New functions.
3104 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3105
3106 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3107 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3108
99012074
AI
31092000-12-21 Andrew Innes <andrewi@gnu.org>
3110
3111 * w32term.c (x_update_begin): Regenerate the palette here, rather
3112 than for each window.
3113
3114 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3115 palette is NULL, since this corrupts memory! Also get
3116 display_info reference from frame.
3117
29ef7d2d
JR
31182000-12-21 Jason Rumney <jasonr@gnu.org>
3119
3120 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3121
3122 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3123 to avoid returning without releasing it.
3e27fa1f 3124
3f9d67a6
KH
31252000-12-21 Kenichi Handa <handa@etl.go.jp>
3126
587fc3f9
KH
3127 * keymap.c (push_key_description): Don't convert eight-bit-control
3128 and eight-bit-graphic to multibyte character.
3129
3f9d67a6
KH
3130 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3131 generic character and CODE1 is nil, return the smallest character
3132 in CHARSET.
3133
774ba8c9
DL
31342000-12-20 Dave Love <fx@gnu.org>
3135
3136 * s/osf5-0.h (NSIG): Don't redefine.
3137
88416888
SM
31382000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3139
3140 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3141 excluding menu-bar and tool-bar.
3142 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3143 (menu_item_p): Remove.
3144 (where_is_internal_1): Don't ignore menu-items.
3145
a6426c6f
GM
31462000-12-20 Gerd Moellmann <gerd@gnu.org>
3147
03ff8aab
GM
3148 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3149 into account.
3150
3151 * window.c (make_window): Initialize window's min_hscroll.
3152 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3153 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3154 to zero.
3155 (struct saved_window): New member min_hscroll.
3156 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3157 (Fset_window_configuration): Set window's min_hscroll.
3158 (save_window_save): Save window's min_hscroll.
3159 (compare_window_configurations): Compare min_hscroll values.
3160
3161 * window.h (struct window): New member min_hscroll.
3162
3163 * keyboard.c (echo_prompt): Prevent a compiler warning.
3164
8de4aaf8
GM
3165 * xdisp.c (try_cursor_movement): Fix last change. The real
3166 condition is that PT is at the end of the row, and should
3167 be displayed at the start of the next row.
52283633 3168
3f7e3031
GM
3169 * xdisp.c (try_cursor_movement): If we end on a partially
3170 visible line, end we already decided to scroll, return -1.
3171
a6426c6f
GM
3172 * dispextern.h (ensure_frame_matrix): Add prototype.
3173
3174 * window.c (delete_window, Fsplit_window)
3175 (Fset_window_configuration): Call ensure_frame_matrix.
3176
52283633
SM
3177 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3178 New functions.
a6426c6f
GM
3179 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3180 completed, call fake_current_matrices instead of marking frame
3181 garbaged.
3182
57fa2774
JR
31832000-12-20 Jason Rumney <jasonr@gnu.org>
3184
3185 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3186
d925df90
EZ
31872000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3188
3189 * fns.c (Frequire): Doc fix.
3190
7b93a85b
GM
31912000-12-19 Gerd Moellmann <gerd@gnu.org>
3192
52283633 3193 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3194
c74e645b
GM
3195 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3196 currently displaying a message.
3197
7b93a85b
GM
3198 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3199 xterm.h.
3200 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3201
90d97e64
AI
32022000-12-18 Andrew Innes <andrewi@gnu.org>
3203
3204 * w32.c (w32_strerror): New function.
3205
3206 * w32.h (w32_strerror): New extern.
3207
3208 * w32fns.c (Fw32_shell_execute): Use it.
3209
91c9e6ce
GM
32102000-12-18 Gerd Moellmann <gerd@gnu.org>
3211
3212 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3213
6f4745e2
EZ
32142000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3215
3216 * msdos.c (IT_set_face): Obey inverse_video.
3217
c9e088ce
KH
32182000-12-18 Kenichi Handa <handa@etl.go.jp>
3219
3220 * dired.c (directory_files_internal): Always return decoded filenames.
3221
c3695f5f
GM
32222000-12-18 Gerd Moellmann <gerd@gnu.org>
3223
52d8e4ff
GM
3224 * xterm.c (x_connection_closed): Prevent being called recursively
3225 because of an error condition in XtCloseDisplay.
52283633 3226
62be9979
GM
3227 * xdisp.c (init_iterator): If noninteractive, and the frame's
3228 face cache is null, make one.
3229
52283633 3230 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3231
c3695f5f
GM
3232 * process.c (wait_reading_process_input): Check for pending
3233 input when running timers.
3234
78555fbe
EZ
32352000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3236
52283633 3237 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3238
b2b36264
KH
32392000-12-18 Kenichi Handa <handa@etl.go.jp>
3240
3241 * process.c (read_process_output): Don't run a filter if the code
3242 decoder produces nothing but carryover.
3243
9c543fbf
AI
32442000-12-17 Andrew Innes <andrewi@gnu.org>
3245
3246 * w32.c (sys_rename): Only check errno against EEXIST, and not
3247 EACCES, when determining whether rename failed because the target
3248 exists. This was resulting in indefinite looping on Windows 9x if
3249 the source file was locked by another process.
3250
3251 * w32fns.c (Ffile_system_info): New function.
3252 (syms_of_w32fns): Defsubr it.
3253
10c2b5a8
GM
32542000-12-17 Gerd Moellmann <gerd@gnu.org>
3255
b0228ace
GM
3256 * window.c (coordinates_in_window): Fix computation for
3257 position on vertical line between mode lines.
3258
10c2b5a8
GM
3259 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3260 Don't alter tip_frame or tip_window.
3261 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3262 was deleted.
3263
c844a81a
GM
3264 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3265 Don't alter tip_frame or tip_window.
3266 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3267 was deleted.
3268
6c825f8e
EZ
32692000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3270
3271 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3272 be consistent with the doc string. Reported by NAKAJIMA Mikio
3273 <minakaji@osaka.email.ne.jp>.
3274
af4bb4c8
KH
32752000-12-16 Kenichi Handa <handa@etl.go.jp>
3276
3277 * xfaces.c (Vface_ignored_fonts): New variable.
3278 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3279 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3280
8062e53a
GM
32812000-12-15 Gerd Moellmann <gerd@gnu.org>
3282
e87b8809
GM
3283 * dispnew.c (update_window): Detect pending input every nth line
3284 updated, i.e. do it depending on real work done, and not on the
3285 vpos of the line.
3286
3287 * xterm.c (expose_window): Don't redraw the window that's
3288 currently being updated.
3289
a6768cc5
GM
3290 * window.c (Fset_window_point): Remove test for
3291 cursor_in_non_selected_windows.
3292
4ea7fdca
GM
3293 * lread.c (read1): Recognize end of file after `\\'.
3294
8062e53a
GM
3295 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3296 not unwind_create_frame.
3297
bb7959c1
GM
32982000-12-15 Dave Love <fx@gnu.org>
3299
3300 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3301 bcopy & al.
3302
3303 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3304
ced04c42
KH
33052000-12-15 Kenichi Handa <handa@etl.go.jp>
3306
c5443913
KH
3307 * coding.c (setup_coding_system): Clear all members of the struct
3308 coding_system at first.
bc137305
KH
3309 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3310 argument.
3311 (code_convert_region): Don't override coding->src_multibyte and
3312 coding->dst_multibyte.
c5443913 3313
ced04c42
KH
3314 * fns.c (Fmd5): Docstring improved.
3315
c2d7f289
MB
33162000-12-15 Miles Bader <miles@gnu.org>
3317
3318 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3319 are actually marked as mode-lines; otherwise use
3320 estimate_mode_line_height.
3321
9d7d9263
GM
33222000-12-14 Gerd Moellmann <gerd@gnu.org>
3323
3324 * editfns.c (Fformat): Prevent a buffer overrun when the format
3325 specifies a precision.
3326
7cf0153a
EZ
33272000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3328
3329 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3330 argument is outside the range [2..3].
3331
1de0f662
AI
33322000-12-14 Andrew Innes <andrewi@gnu.org>
3333
3334 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3335 nothing to do. Bind inhibit-quit.
3336 (tip_frame): Make it a Lisp_Object.
3337 (x_create_tip_frame): Set tip_frame after it has been added to
3338 Vframe_list.
3339 (Fx_show_tip): Don't set tip_frame here.
52283633 3340 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3341 (unwind_create_frame, unwind_create_tip_frame): New functions.
3342 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3343 while a frame is only partially constructed.
3344
3345 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3346 (x_free_frame_resources): New function.
3347 (x_destroy_window): Use it.
3348
02387dcc
GM
33492000-12-14 Gerd Moellmann <gerd@gnu.org>
3350
3351 * xfns.c (Fx_backspace_delete_keys_p): New function.
3352 (syms_of_xfns): Defsubr it.
3353
3354 * config.in (HAVE_XKBGETKEYBOARD): Add.
3355
0544ef49
KH
33562000-12-14 Kenichi Handa <handa@etl.go.jp>
3357
98d62747
KH
3358 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3359 Always store string in multibyte representation in echobuf.
3360 (echo_char): Always store string in multibyte representation in
3361 echobuf.
3362 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3363 (read_key_sequence): Adjusted for the change of echo_prompt.
3364
a20193cd
KH
3365 * fns.c (Fmd5): Docstring improved.
3366
191b83b6
KH
3367 * lisp.h (detect_coding_system): Prototype adjusted.
3368
0544ef49
KH
3369 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3370 (detect_coding_emacs_mule, detect_coding_iso2022,)
3371 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3372 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3373 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3374 (detect_coding_mask, detect_coding_system): New argument
3375 MULTIBYTEP. Callers changed.
1da1bb05
KH
3376 (decode_coding_string): Set coding->src_multibyte and
3377 coding->dst_multibyte before calling detect_coding and detect_eol.
3378 Update them after some coding system is detected.
52283633 3379
d5b3eb1b
SM
33802000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3381
3382 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3383
3384 * keyboard.c (menu_bar_items, tool_bar_items):
3385 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3386
f7f8bb69
GM
33872000-12-13 Gerd Moellmann <gerd@gnu.org>
3388
52283633 3389 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3390 New variables.
3391 (unwind_create_frame, unwind_create_tip_frame): New functions.
3392 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3393 while a frame is only partially constructed.
3394
3395 * xterm.h (x_free_frame_resources): Declare.
3396
3397 * xterm.c (x_free_frame_resources): New function.
3398 (x_destroy_window): Use it.
3399
e10da507
GM
3400 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3401 don't interrupt the update for pending input initially, i.e.
3402 update at least some lines.
3403
3404 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3405
d5b3eb1b 3406 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3407
3408 * xfns.c (gray_bitmap_bits): Declare `char *'.
3409
90aa2856
GM
34102000-12-12 Gerd Moellmann <gerd@gnu.org>
3411
3412 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3413 lines start with a relief line.
3414
a308c9cd
DL
34152000-12-12 Dave Love <fx@gnu.org>
3416
3417 * window.c (Fdisplay_buffer): Doc fix.
3418 (Fwindow_list): Remove unused var.
3419
3420 * buffer.h (mmap_set_vars): Declare.
3421
3422 * window.h (Fset_window_point): Declare.
3423
d575011f
EZ
34242000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3425
bf6282d2 3426 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3427 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3428 variable `area'. When looking for a row under (X,Y), give up if some
3429 of the previous rows is not enabled.
d575011f 3430
ecf4d726
GM
34312000-12-12 Gerd Moellmann <gerd@gnu.org>
3432
2ebf6139
GM
3433 * window.c (Fset_window_point): If displaying cursors in windows
3434 other than the selected window, make sure redisplay updates
3435 other windows to show the new value of point in the window.
3436
3437 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3438
bfdb75ee
GM
3439 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3440 the buffer is the sole visible buffer when in the mini-buffer.
3441
52283633 3442 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3443 Bind `inhibit-read-only' to t.
3444 (unwind_with_echo_area_buffer): Use AREF.
3445
c0006262
GM
3446 * xfns.c (Fx_hide_tip): Simplified.
3447
52283633
SM
3448 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3449 instead of `1'.
e9a59cad 3450
ecf4d726
GM
3451 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3452
e5959a9a
GM
34532000-12-11 Gerd Moellmann <gerd@gnu.org>
3454
a3642e49 3455 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3456
44b5a125
GM
3457 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3458 nothing to do. Bind inhibit-quit.
3459 (tip_frame): Make it a Lisp_Object.
3460 (x_create_tip_frame): Set tip_frame after it has been added to
3461 Vframe_list.
3462 (Fx_show_tip): Don't set tip_frame here.
3463
3464 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3465
3466 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3467 Lisp_Object.
3468
3469 * dispextern.h: Change external declaration of tip_frame.
3470
d990421f
GM
3471 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3472 return an empty string.
3473
4db87380
GM
3474 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3475 of the window's update_mode_line flag, since the former is set by
3476 force-mode-line-update, not the latter. This makes
3477 column-number-mode slightly faster.
52283633 3478
e5959a9a
GM
3479 * xdisp.c (try_window_id) <all changes above window start>:
3480 Set the cursor.
3481
169fe44e
GM
34822000-12-11 Paul Eggert <eggert@twinsun.com>
3483
3484 * config.in (HAVE_FTELLO): Remove.
3485 (HAVE_FSEEKO): Add.
3486 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3487 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3488 HAVE_FTELLO.
3489 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3490 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3491
59ec59ae
MB
34922000-12-11 Miles Bader <miles@gnu.org>
3493
3494 * window.c (displayed_window_lines): Don't round up when
3495 converting empty space at bottom to lines.
ff904dd6
MB
3496 Handle non-newline-terminated final lines properly.
3497 (Fwindow_text_height): New function (used to be in lisp).
3498 (syms_of_window): Initialize it.
59ec59ae 3499
42ebfa31
SM
35002000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3501
3502 * syntax.c (scan_lists): Check that the right quote char has the
3503 right Sstring syntax when jumping over strings.
3504 (init_syntax_once): Use Smax rather than 13.
3505
5cdb3cf3
MB
35062000-12-09 Miles Bader <miles@gnu.org>
3507
3508 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3509 with PARTIALLY, inverting the sense.
3510 (window_scroll_pixel_based): Scroll partially visible lines into
3511 place if we hit the beginning or end of the buffer.
a12167c5
MB
3512 (displayed_window_lines): Don't include partially visible lines.
3513 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3514
842b2a94
GM
35152000-12-08 Gerd Moellmann <gerd@gnu.org>
3516
3517 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3518
3519 * tparam.c (tparam1): Change the way buffers are reallocated to be
3520 portable and less obfuscated.
3521
3522 * termcap.c (tgetent): Change the way buffers are reallocated to
3523 be portable and less obfuscated.
3524
3525 * macros.c (store_kbd_macro_char): Change the way buffers are
3526 reallocated to be portable and less obfuscated.
3527
3528 * lread.c (read1): Change the way buffers are reallocated to be
3529 portable and less obfuscated.
3530
3531 * doc.c (Fsubstitute_command_keys): Change the way buffers
3532 are reallocated so that it is portable.
3533
137cad7c
EZ
35342000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3535
3536 * dosfns.c (Ffile_system_info): New function.
3537 (syms_of_dosfns): Defsubr it.
3538
5c7f629c
SM
35392000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3540
3541 * alloc.c (gc_sweep): Add comment.
3542
959e647d
GM
35432000-12-07 Gerd Moellmann <gerd@gnu.org>
3544
52283633
SM
3545 * sound.c (vox_configure): Change order of ioctls.
3546 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3547 Ignore errors when changing volume.
3548 (vox_close): Don't reset the device.
3549
926b7e5e
GM
3550 * process.c (read_process_output): Make sure the process marker's
3551 position is valid when the process buffer is changed in
3552 after-change functions. W3 does that.
52283633 3553
959e647d
GM
3554 * xfns.c (x_free_gcs): New function.
3555
3556 * xterm.h (x_free_gcs): Add prototype.
3557
3558 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3559 freeing GCs here.
3560
3561 * xterm.c (x_destroy_window): Call x_free_gcs so that
3562 resources of non-toolkit X windows will be freed.
3563
478ea067
AI
35642000-12-07 Andrew Innes <andrewi@gnu.org>
3565
3566 * w32fns.c (xlfd_charset_of_font): Fix last change.
3567
fbee3231
DL
35682000-12-06 Dave Love <fx@gnu.org>
3569
67292061
DL
3570 * md5.h (__P): Don't define -- it comes from config.h.
3571
fbee3231
DL
3572 * strftime.c: Change some #if foo to #ifdef foo.
3573
4ee87dbb
AI
35742000-12-06 Andrew Innes <andrewi@gnu.org>
3575
3576 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3577
52283633 3578 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3579 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3580 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3581
9765b4a4
GM
35822000-12-06 Gerd Moellmann <gerd@gnu.org>
3583
d285b373
GM
3584 * alloc.c (gc_sweep): Prevent symbols read during loadup
3585 from being freed.
3586
384333ee
GM
3587 * xdisp.c (underlying_face_id): New function.
3588 (handle_face_prop, face_before_or_after_it_pos): Use it
3589 to determine the face ``under'' a string. Let strings inherit
3590 the face of the buffer under them.
3591
3592 * xfaces.c (face_at_string_position): Update function comment.
52283633 3593
d4b72d58
GM
3594 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3595 matrix if the window's left position has changed; we need to
3596 redraw it in this case.
3597
3598 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3599
e1d05387
GM
3600 * window.c (coordinates_in_window): Check mouse on mode-line or
3601 header-line first.
3602
eb1b0c74
GM
3603 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3604 advertized by the function documentation.
3605
d94d636f
GM
3606 * window.c (syms_of_window): Doc fix.
3607
3887b449
GM
3608 * sound.c (vox_configure): Set volume for left and right channel.
3609 (sound_cleanup): Return nil.
3610
efc8f57a
GM
3611 * xdisp.c (move_it_by_lines): Fix paren typo.
3612
9765b4a4
GM
3613 * xterm.c (x_load_font): Don't use the font's max_bounds for
3614 computing the height of the font. If max_bounds' ascent or
3615 descent are greater than the font's ascent or descent, this means
3616 glyphs overlap, which should be handled now by redisplay.
3617
6529ed87
GM
3618 * window.c (Veven_window_heights): New variable.
3619 (syms_of_window): DEFVAR_LISP it.
3620 (Fdisplay_buffer): Check Veven_window_heights before evening the
3621 window heights.
52283633 3622
0eb2ecde
MB
36232000-12-06 Miles Bader <miles@gnu.org>
3624
3625 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3626 update `default-frame-alist' instead of setting no frame parameters.
3627
03d7a167
KH
36282000-12-06 Kenichi Handa <handa@etl.go.jp>
3629
3630 * composite.c (update_compositions): Fix typo (use the correct
3631 variable).
3632
5f8803c2
JR
36332000-12-05 Jason Rumney <jasonr@gnu.org>
3634
3635 * md5.h: Remove underscores from function declarations.
3636 (__attribute__, __alignof__) [!__GNUC__]: Define.
3637
3638 * md5.c: Delay include of md5.h until after namespace cleaning.
3639
c28a075b
JR
3640 * makefile.w32-in (fns.o): Depend on md5.h
3641 (md5.o): New target.
3642 (sunfns.o): Remove.
3643
3644 * makefile.nt: Likewise.
3645
ff3c7056
JR
36462000-12-05 Jason Rumney <jasonr@altavista.net>
3647
3648 * w32term.c (expose_area): Complete last change.
3649
0c21eeeb
KR
36502000-12-05 Ken Raeburn <raeburn@gnu.org>
3651
3652 * minibuf.c: Include intervals.h.
3653
f201d732
JR
36542000-12-05 Jason Rumney <jasonr@gnu.org>
3655
3656 * w32term.c (x_produce_glyphs): If a font for a component of
3657 a composition is not found, use 1 pixel dot ascent and 0 dot
3658 descent value to avoid displaying terribly tall empty boxes.
3659 (expose_area): Pass x-coordinate relative to the exposed
3660 area to x_draw_glyphs instead of a window-relative coordinate.
3661
21999ab9
GM
36622000-12-05 Gerd Moellmann <gerd@gnu.org>
3663
4d2036e4
GM
3664 * xdisp.c (next_element_from_ellipsis): Save face before selective
3665 display in saved_face_id, and set face_before_selective_p.
3666 (reseat_1): Reset face_before_selective_p.
3667 (append_space, extend_face_to_end_of_line): If iterator's
3668 face_before_selective_p is set, use the face from saved_face_id.
3669 (extend_face_to_end_of_line): For tty frames, make sure to
3670 use the right face id when producing spaces at the end of
3671 the line.
3672
3673 * dispextern.h (struct it): Add face_before_selective_p.
3674
52be17cc
GM
3675 * keyboard.c (record_char): Don't record identical help-echo
3676 events in recent_keys.
3677
8a4f36cc
GM
3678 * xterm.c [USE_X_TOOLKIT]: Close the display.
3679 (xim_close_dpy): Handle case that the display has been closed.
3680
57d6e381
GM
3681 * xterm.c (x_destroy_window): Reset the frame's X window after
3682 destroying it.
3683
21999ab9
GM
3684 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3685 variable window_width.
3686 (line_draw_cost): Fix code skipping over spaces at the end of the
3687 line when must_write_spaces is not set.
3688 (scrolling_window): Fix code inserting runs in list of all runs.
3689
91372bb7
KH
36902000-12-05 Kenichi Handa <handa@etl.go.jp>
3691
3692 * coding.c (setup_coding_system): Be sure to initialize
3693 coding->category_idx.
3694
6c083b4c
GM
36952000-12-04 Gerd Moellmann <gerd@gnu.org>
3696
0c68ce6f 3697 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3698
6452929e
GM
3699 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3700 area to x_draw_glyphs instead of a window-relative coordinate.
3701
d7f31e22
GM
3702 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3703 error in the message.
3704
ae18aa3b
GM
3705 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3706 timer after having read a key. It's not good for code reading
3707 several keys in a loop, like an input method.
3708
caa15ef7
GM
3709 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3710 record undo information for format-decode.
3711
3712 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3713 current buffer is read-only, not if it isn't.
3714
6c083b4c
GM
3715 * keyboard.c (record_char): Record `help-echo' input events
3716 in recent_keys only if they display some help. Don't record
3717 `help-echo' events as macro char.
3718
caa15ef7
GM
37192000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3720
3721 * editfns.c (save_excursion_restore): Don't move point
3722 in another window if it is showing the wrong buffer.
3723 Avoid the call to Fwindow_live_p, for speed.
3724
5a13529b
KH
37252000-12-04 Kenichi Handa <handa@etl.go.jp>
3726
e225faa7
KH
3727 * xfaces.c (struct font_name): New member registry_priority.
3728 (split_font_name): Initialize the above member to zero.
3729 (concat_font_list): New function.
3730 (font_list): Include fonts of all alternative registries.
3731 (FONT_POINT_SIZE_QUANTUM): New macro.
3732 (better_font_p): Ignore point size difference less than
3733 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3734
e89648b4
KH
3735 * xterm.c (x_produce_glyphs): If a font for a component of
3736 a composition is not found, use 1 pixel dot ascent and 0 dot
3737 descent value to avoid displaying terribly tall empty boxes.
3738
5a13529b
KH
3739 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3740
d7935eb6
KR
37412000-12-03 Ken Raeburn <raeburn@gnu.org>
3742
3743 * coding.h (code_convert_string1): Declare.
3744
3745 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3746
52283633 3747 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3748
0dd5e255
JR
37492000-12-02 Jason Rumney <jasonr@gnu.org>
3750
3751 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3752 correctly for single byte character case.
3753 (w32_per_char_metric): Do not try to make any assumptions about
3754 the metrics of BDF fonts.
250cfece 3755 (x_estimate_mode_line_height): If `mode-line' face
52283633 3756 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3757 (note_mouse_highlight): Change the cursor shape on the vertical
3758 border between windows [not enabled].
3759
3760 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3761
3762 * w32fns.c (Fx_create_frame): Reintroduce the call to
3763 face-set-after-frame-defaults.
3764 (Vx_window_horizontal_drag_shape): New variable.
3765 (syms_of_xfns): DEFVAR_LISP it.
3766 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3767 enabled].
0dd5e255 3768
b5d8d2ca
GM
37692000-12-02 Simon Josefsson <simon@josefsson.org>
3770
3771 * fns.c (Fmd5): Use a different logic to decide the coding system
3772 to use.
3773
3774 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3775
fbb87147
EZ
37762000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3777
52283633 3778 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3779
447e9da0
GM
37802000-12-01 Gerd Moellmann <gerd@gnu.org>
3781
7708ced0
GM
3782 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3783 height for YNegative.
3784 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3785 height; also see comment there.
3786
447e9da0
GM
3787 * window.c (coordinates_in_window): Handle computations for
3788 positions on the vertical bar and fringes differently for
3789 window-system frames. Consider some pixels near the vertical bar
3790 as on the bar if the frame doesn't have vertical scroll bars.
3791 Associate positions between mode or header lines with the
3792 right window, the left one.
3793
86d1db20
JR
37942000-12-01 Jason Rumney <jasonr@gnu.org>
3795
3796 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3797
3798 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3799 invalid frame.
3800
a1d58e5b
GM
38012000-12-01 Gerd Moellmann <gerd@gnu.org>
3802
52283633 3803 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3804 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3805 (save_window_save, Fset_window_configuration): Save/restore
3806 window's orig_top and orig_height.
3807
89c609af
JR
38082000-12-01 Jason Rumney <jasonr@gnu.org>
3809
4d177746 3810 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3811
89c609af
JR
3812 * w32fns.c (x_set_cursor_color): Fix last change.
3813
eccc05db
GM
38142000-11-30 Gerd Moellmann <gerd@gnu.org>
3815
31b6671b
GM
3816 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3817 sure that the next redisplay displays the minibuffer, so that
3818 the cursor will be replaced with what the minibuffer wants.
3819
eccc05db
GM
3820 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3821 #ifndef instead of using #if.
3822 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3823 USE_TOOLKIT_SCROLL_BARS is defined.
3824
162de750
JR
38252000-11-30 Jason Rumney <jasonr@gnu.org>
3826
3827 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3828 x_display_cursor.
3829
693c4692
GM
38302000-11-30 Gerd Moellmann <gerd@gnu.org>
3831
3832 * fns.c (Fmd5): Doc fix.
3833
b5d8d2ca 38342000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3835
3836 * fns.c (Fmd5): New function.
3837 (syms_of_fns): Defsubr md5.
3838
3839 * Makefile.in (obj): Add md5.o
3840
b02cd40b
GM
38412000-11-30 Gerd Moellmann <gerd@gnu.org>
3842
edfb795e
GM
3843 * md5.h, md5.c: New files, taken from glibc.
3844
df3aedcf
GM
3845 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3846
b02cd40b 3847 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3848 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3849
8b5176cd
SM
38502000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3851
3852 * eval.c (Frun_hooks): Allow 0 arguments.
3853
346598f1
GM
38542000-11-29 Gerd Moellmann <gerd@gnu.org>
3855
f9396e03
GM
3856 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3857 is over the menu bar widget, say it's not on the frame.
3858
4a967a9b
GM
3859 * xfns.c (Fx_create_frame): Reintroduce the call to
3860 face-set-after-frame-defaults.
3861
346598f1
GM
3862 * eval.c (Fsignal): Reset handling_signal.
3863
222456a1
JR
38642000-11-28 Jason Rumney <jasonr@gnu.org>
3865
3866 * w32menu.c (add_menu_item): Reset menu item text when changing
3867 type to radio button.
3868
8049ddc0
GM
38692000-11-28 Gerd Moellmann <gerd@gnu.org>
3870
346598f1 3871 * xselect.c: Update copyright.
f4f4ee4d 3872
bebe4a2c
GM
3873 * window.c (coordinates_in_window): If on a mode or header line,
3874 but sufficiently close to its start, return ``on vertical
3875 border''. This gives us a way to drag windows horizontally when
3876 using toolkit scroll bars.
3877
3878 * xterm.c (note_mouse_highlight): Change the cursor shape
3879 on the vertical border between windows.
3880
3881 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3882
3883 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3884 (syms_of_xfns): DEFVAR_LISP it.
3885 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3886
8d2c2642
GM
3887 * textprop.c (text_read_only): New function.
3888 (verify_interval_modification): Use it instead of signaling
3889 `text-read-only'. This makes it easier to catch this error
52283633 3890 with a breakpoint.:
8d2c2642 3891
52283633 3892 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3893 not end of line, which includes CR.
3894
5a2bae6c
KH
38952000-11-28 Kenichi Handa <handa@etl.go.jp>
3896
3897 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3898 include no-conversion.
3899
ae31f84d
JR
39002000-11-27 Jason Rumney <jasonr@gnu.org>
3901
3902 * w32fns.c (w32_load_system_font): Always mark font as double byte
3903 if codepage is unicode.
3904
67f1cf4c
GM
39052000-11-27 Gerd Moellmann <gerd@gnu.org>
3906
4a74d071 3907 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3908 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3909
902ae620
GM
3910 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3911 `vertical-line', `mode-line' and `header-line' events.
3912
3913 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3914 of a character, a TAB for instance. This is easier than to set
3915 up the iterator exactly, and it's not a frequent case, so the
3916 additional effort wouldn't really pay off.
3917
c1e279c2
AC
39182000-11-26 Andrew Choi <akochoi@i-cable.com>
3919
67f1cf4c 3920 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3921 init_window_once.
3922
a609568a
JR
39232000-11-25 Jason Rumney <jasonr@gnu.org>
3924
52283633
SM
3925 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3926 Args to window_from_coordinates should be pixel coordinates.
48b21762 3927
a609568a
JR
3928 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3929 redisplay handles them properly.
3930
a658d039
MB
39312000-11-25 Miles Bader <miles@gnu.org>
3932
3933 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3934
d3416cca
JR
39352000-11-24 Jason Rumney <jasonr@gnu.org>
3936
3937 * w32.c (init_environment): Set LANG environment variable based on
3938 locale settings, if not set.
3939
3940 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3941 making tool bar smaller. When clearing the frame, also
3942 clear current matrices. Clear frame when tool bar disappears.
3943 Don't use more lines for the tool-bar than is available.
3944 (x_change_window_heights): New function.
3945
ba193890
GM
39462000-11-24 Gerd Moellmann <gerd@gnu.org>
3947
2be8f184
GM
3948 * xdisp.c (init_from_display_pos): If POS says we're already after
3949 an overlay string ending at POS, make sure to pop the iterator
3950 because it will be in front of that overlay string. When POS is
3951 ZV, we've thereby also ``processed'' overlay strings at ZV.
3952
ba193890
GM
3953 * xfaces.c (lface_from_face_name): Function comment fix.
3954
1862a24e
MB
39552000-11-24 Miles Bader <miles@gnu.org>
3956
3957 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3958 apply `mode-line-inverse-video' -- zero means force display using
3959 the default face, non-zero means display using the specialized face.
3960 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3961
f07fa1b8
KH
39622000-11-23 Kenichi Handa <handa@etl.go.jp>
3963
3964 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3965 hard coded `4'.
3966
2bcdf662
EZ
39672000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3968
3969 * coding.c (decode_coding_emacs_mule): Fix the case of
3970 CODING_EOL_LF, which used uninitialized value of c.
3971
ba8299ff
SM
39722000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3973
3974 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3975
f4117c4d
GM
39762000-11-22 Gerd Moellmann <gerd@gnu.org>
3977
03e757c1
GM
3978 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3979 buffer object.
3980
f4117c4d
GM
3981 * frame.h (struct frame): Replace desired_tool_bar_items,
3982 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3983 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3984
3985 * frame.c (make_frame): Change initialization of tool bar
3986 items accordingly.
3987
3988 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3989 Change references to members deleted from struct frame to use the
f4117c4d
GM
3990 new ones.
3991
3992 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3993 references to members deleted from struct frame to use the new ones.
f4117c4d 3994
52283633 3995 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3996
3997 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3998
3999 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4000 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4001 from struct frame to use the new ones.
4002
f8e2f3f2
MB
40032000-11-23 Miles Bader <miles@gnu.org>
4004
4005 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4006 the face's inverse-video attribute, rather than overriding it.
4007
60e8e0a5
GM
40082000-11-22 Gerd Moellmann <gerd@gnu.org>
4009
4010 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4011 making tool bar smaller.
4012
92dd1b29
DL
40132000-11-22 Dave Love <fx@gnu.org>
4014
4015 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4016
e672fdce
MB
40172000-11-22 Miles Bader <miles@gnu.org>
4018
3a17d6cc
MB
4019 * keyboard.c (Vminibuffer_message_timeout): New variable.
4020 (command_loop_1): Use it to determine message timeout.
4021 (syms_of_keyboard): Initialize it.
4022
60e8e0a5 4023 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4024
e9655d81
KH
40252000-11-22 Kenichi Handa <handa@etl.go.jp>
4026
4027 * sysdep.c: Move the code for declaring h_errno after #include
4028 <netdb.h>.
4029
77270fac
GM
40302000-11-21 Gerd Moellmann <gerd@gnu.org>
4031
cd913aae
GM
4032 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4033 the menu bar when the tooltip is unmapped.
4034
77270fac
GM
4035 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4036 sole visible buffer when we're currently in the mini-buffer, and
4037 give up if so.
52283633 4038
556635d6
JR
40392000-11-21 Jason Rumney <jasonr@gnu.org>
4040
4041 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4042 put on the clipboard.
4043 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4044 copy of what Emacs last put there. If they are the same, do not
52283633 4045 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4046
5b7bde64
MB
40472000-11-22 Miles Bader <miles@gnu.org>
4048
4049 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4050 (syms_of_minibuf): Initialize it.
4051 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4052 to prompt, don't make read-only.
4053
ff23e1dd
GM
40542000-11-21 Gerd Moellmann <gerd@gnu.org>
4055
52283633
SM
4056 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4057 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4058
7aaf4388
GM
4059 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4060
f5f47add 4061 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4062
ff23e1dd
GM
4063 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4064
37c35586
KH
40652000-11-21 Kenichi Handa <handa@etl.go.jp>
4066
4067 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4068 ... #endif scope.
4069
ff9ab414
GM
40702000-11-20 Gerd Moellmann <gerd@gnu.org>
4071
52283633 4072 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4073 screen supports it.
4074
29a01b72
GM
4075 * s/gnu-linux.h: Don't use `#cpu'.
4076
09dfdf85
GM
4077 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4078 not defined in mman.h.
4079
52283633 4080 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4081 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4082 and store an index in the XClientMessageEvent. Storing a
4083 Lisp_Object or pointer can fail on a 64 bit system, since X only
4084 transfers 32 bits.
52283633
SM
4085 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4086
81459ac9
DL
40872000-11-20 Dave Love <fx@gnu.org>
4088
4089 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4090
56c13ae6
GM
40912000-11-20 Gerd Moellmann <gerd@gnu.org>
4092
4093 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4094
495a6df3
KH
40952000-11-20 Kenichi Handa <handa@etl.go.jp>
4096
2bcf3714
KH
4097 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4098 by WIDTH.
4099
495a6df3
KH
4100 * alloc.c (make_string): Fix previous change. Be sure to make
4101 unibyte string correctly.
4102
6d950f4c
GM
41032000-11-19 Gerd Moellmann <gerd@gnu.org>
4104
39b39373
GM
4105 * window.c (Fwindow_list): Change parameter list to be XEmacs
4106 compatible.
4107 (window_list_1): New function.
4108 (window_loop): Use it instead of Fwindow_list.
4109
b95b34e5
GM
4110 * sysdep.c (emacs_ospeed): New variable.
4111 (toplevel): Don't declare ospeed extern.
4112 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4113
4114 * termcap.c (ospeed): Remove.
4115 (tputs) [!emacs]: Remove unused code.
4116 (tgetent): Avoid a compiler warning.
4117
e83dc917
GM
4118 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4119 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4120 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4121
4122 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4123 removed.
4124 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4125 Take the X display as additional argument.
4126 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4127 `Widget' is a pointer type that's not easily stored in Lisp_Object
4128 form in a portable way.
52283633 4129
6d950f4c
GM
4130 * dispnew.c (update_text_area): Fix last change.
4131
e47306e6
GM
41322000-11-18 Gerd Moellmann <gerd@gnu.org>
4133
fb3cd89b
GM
4134 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4135
4136 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4137 clear current matrices.
4138
edaa9aed
GM
4139 * buffer.c (mmap_enlarge): Don't print a message on stderr
4140 if mapping new memory at the end of the existing region fails.
4141
e47306e6
GM
4142 * dispnew.c (update_text_area): Don't skip over equal glyphs
4143 when the last current glyph overlaps the glyph to its right.
4144
509633e3
MB
41452000-11-18 Miles Bader <miles@gnu.org>
4146
4147 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4148 lines that *end* with "..." too (that's the most common case!).
4149
d392e9c5
GM
41502000-11-18 Gerd Moellmann <gerd@gnu.org>
4151
67988445
GM
4152 * xdisp.c (resize_mini_window): Temporarily change to the
4153 mini-window's buffer if necessary.
1bfdbe43 4154
d392e9c5
GM
4155 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4156 the tooltip obscures less text under it.
4157
41582000-11-17 Gerd Moellmann <gerd@gnu.org>
4159
4160 * puresize.h (BASE_PURESIZE): Increase to 700000.
4161
92bb977f
JR
41622000-11-18 Jason Rumney <jasonr@gnu.org>
4163
4164 * w32term.c (w32_draw_bitmap): Use face to set colors.
4165
26fbf20b
DL
41662000-11-17 Dave Love <fx@gnu.org>
4167
4168 * lread.c (Fload): Fix #ifdef for pcc.
4169
100b593b
GM
41702000-11-17 Gerd Moellmann <gerd@gnu.org>
4171
4172 * xdisp.c (pos_visible_p): Compute the default character height
4173 differently.
4174
a288d0d1
GM
41752000-11-16 Gerd Moellmann <gerd@gnu.org>
4176
cac94de6 4177 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4178 knowing the line's height; use the default font's height in that case.
cac94de6 4179
a288d0d1
GM
4180 * xfaces.c (weight_table): Add `demi' with the same meaning as
4181 `demibold'.
4182
981fb6f6
KH
41832000-11-16 Kenichi Handa <handa@etl.go.jp>
4184
2cca872d 4185 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4186 (clear_glyph_row): Delete local static variable null_row.
4187
e5fa381b
JR
41882000-11-15 Jason Rumney <jasonr@gnu.org>
4189
4190 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4191 (w32_alloc_lighter_color): Use new brightness calculations from
4192 xterm.c. Scale delta to be in the range expected by W32.
4193 (w32_draw_relief_rect): Use frame relief colors.
4194
8e42f043
GM
41952000-11-15 Gerd Moellmann <gerd@gnu.org>
4196
6d133d1f
GM
4197 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4198 (Qinhibit_default_face_x_resources): New variable.
4199 (syms_of_frame): Initialize it.
4200 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4201
4202 * xdisp.c (pos_visible_p): Improve function comment.
4203
4204 * lisp.h (BINDING_STACK_SIZE): New macro.
4205
8e42f043
GM
4206 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4207 reading the directory if readdir returns null and errno is EAGAIN
4208 or EINTR.
4209
e8c87124
SM
42102000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4211
4212 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4213 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4214 Set amount_to_scroll to max of dx and scroll_step so that
4215 scroll-conservatively doesn't defeat scroll-step>1.
4216 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4217 scroll-conservatively for line-at-a-time scrolling.
4218
5f0c971d
GM
42192000-11-14 Gerd Moellmann <gerd@gnu.org>
4220
4221 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4222 extra argument.
4223
4224 * xdisp.c (current_mode_line_height, current_header_line_height):
4225 New variables.
4226 (init_xdisp): Initialize them.
4227 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4228 and use exact mode line heights if it is set.
4229
4230 * lisp.h (pos_visible_p): Change prototype.
4231
4232 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4233 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4234 and current_header_line_height first.
52283633
SM
4235 (current_mode_line_height, current_header_line_height):
4236 Declare extern.
5f0c971d 4237
d7361edf
MB
42382000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4239
4240 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4241 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4242 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4243
ee5e440a
MB
42442000-11-14 Miles Bader <miles@gnu.org>
4245
4246 * xterm.c (x_alloc_lighter_color): Include an additive component
4247 too for dark colors, because FACTOR isn't enough.
4248 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4249 New macros.
4250
5ca020fc
GM
42512000-11-13 Gerd Moellmann <gerd@gnu.org>
4252
4253 * keyboard.c (show_help_echo): Call message3_nolog with number of
4254 bytes in the help string as 2nd parameter, instead of the number
4255 of characters.
4256
9d348294
MB
42572000-11-13 Miles Bader <miles@gnu.org>
4258
4259 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4260 (Fload): Use new openp return protocol.
4261 Don't try to use Vload_source_file_function to load .elc files.
4262 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4263 openp return protocol.
4264 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4265
1729bb9a
KH
42662000-11-11 Kenichi Handa <handa@etl.go.jp>
4267
4e677396
KH
4268 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4269
4270 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4271 Defined these macros.
4272 (NLIST_STRUCT): Avoid re-defining it.
4273
1729bb9a
KH
4274 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4275 -I/usr/contrib/X11R6/include.
4276 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4277
a82fe213
JR
42782000-11-10 Jason Rumney <jasonr@gnu.org>
4279
4280 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4281
4282 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4283 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4284
4285 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4286 (Qw32_charset_vietnamese): New symbol.
4287 (xlfd_charset_of_font): New function.
4288 (w32_load_system_font): Use it.
4289 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4290 when Vw32_charset_info_alist is nil to ensure default face always
4291 has font. Use Fcar and Fcdr for safety.
4292 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4293 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4294 pseudo-codepages for special cases.
4295 (w32_to_x_font): New parameter to allow charset portion to be
4296 specified where there is many to one mapping. Callers changed.
4297 (w32_list_fonts): Avoid listing fonts that won't display.
4298
52d89894
GM
42992000-11-10 Gerd Moellmann <gerd@gnu.org>
4300
4301 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4302 (font_list_1): Renamed from font_list.
4303 (font_list): New function, trying alternative registries from
4304 Vface_alternative_font_registry_alist.
4305 (Finternal_set_alternative_font_registry_alist): New function.
4306 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4307 Vface_alternative_font_registry_alist.
4308 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4309
651cd3da
KR
43102000-11-09 Ken Raeburn <raeburn@gnu.org>
4311
4312 * lisp.h (Flooking_at): Declare.
4313
388ac098
GM
43142000-11-09 Gerd Moellmann <gerd@gnu.org>
4315
778fbc46 4316 * dired.c (directory_files_internal): Fix a braino.
52283633 4317
388ac098
GM
4318 * dired.c (directory_files_internal): Add missing GCPRO's.
4319 Some cleanup.
4320
ecaedde1
GM
43212000-11-08 Gerd Moellmann <gerd@gnu.org>
4322
f7eb32aa
GM
4323 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4324 (resize_mini_window): Return quickly if Vresize_mini_window is
4325 nil. Don't return if Vmax_mini_window_height is nil.
4326
4327 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4328 (syms_of_xdisp): Initialize them.
4329 (resize_mini_window): Act according to the setting of
4330 Vresize_mini_window.
4331 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4332
ecaedde1
GM
4333 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4334 scroll bar widget after configuring it, so that it will appear at
4335 the right position from the start.
4336 (XTredeem_scroll_bar): Cleaned up.
4337
3747ef2c
KH
43382000-11-08 Kenichi Handa <handa@etl.go.jp>
4339
4340 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4341 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4342 division by two.
4343
4344 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4345
03391420
DL
43462000-11-07 Dave Love <fx@gnu.org>
4347
7758f1c1 4348 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4349
4350 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4351
b5de343d
GM
43522000-11-07 Gerd Moellmann <gerd@gnu.org>
4353
acad3c0b
GM
4354 * window.c (Fset_window_configuration): Don't try to preserve
4355 point in the current buffer, if that buffer is displayed in more
4356 than one window.
4357
b5de343d
GM
4358 * xfaces.c (lookup_named_face): If default face isn't realized,
4359 try to realize it. Return -1 if not successful.
4360 (Fx_list_fonts): Handle case that face cannot be determined.
4361 (Fface_font): Likewise.
4362
cdb1fe49
GM
43632000-11-06 Gerd Moellmann <gerd@gnu.org>
4364
4365 * window.c (displayed_window_lines): Detect partially
4366 visible lines at the bottom correctly.
4367
d3a67486
SM
43682000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4369
4370 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4371 when ensuring we don't do visit in indirect buffer.
4372
ff8dd5d5
KH
43732000-11-06 Kenichi Handa <handa@etl.go.jp>
4374
4375 * composite.h (compose_chars_in_text): Add prototype.
4376
4377 * composite.c (Vcomposition_function_table): New variable.
4378 (Qcomposition_function_table): New variable.
4379 (run_composition_function): Call
4380 Vcompose_chars_after_function with three arguments.
4381 (compose_chars_in_text): New function.
4382 (syms_of_composite): Modified the doc-string of
4383 Vcompose_chars_after_function. Declare composition-function-table
4384 as a lisp variable, and initialize it.
4385
4386 * xfns.c (x_encode_text): Suppress producing escape sequences for
4387 composition.
4388
4389 * xselect.c: Include composite.h.
4390 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4391
d1145f85
AI
43922000-11-05 Andrew Innes <andrewi@gnu.org>
4393
4394 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4395
4396 * sysdep.c (read_input_waiting): Remove extraneous argument to
4397 read_socket_hook.
4398
4399 * w32fns.c (Fx_server_version): Include w32_build_number in the
4400 return list.
4401
4402 * w32heap.c (w32_build_number): New variable.
4403 (cache_system_info): Set it.
4404
4405 * w32heap.h (w32_build_number): Add extern.
4406
4407 * emacs.c (syms_of_emacs): Update docstring for
4408 system-configuration, to reflect the actual usage on MS-Windows.
4409
e85ee976
GM
44102000-10-31 Gerd Moellmann <gerd@gnu.org>
4411
26dcb81b
GM
4412 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4413 process idle timers while waiting for another event.
4414
52283633 4415 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4416 the default face are colored.
4417
e85ee976
GM
4418 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4419 window height hasn't changed.
4420
01b220b6
JR
44212000-10-31 Jason Rumney <jasonr@gnu.org>
4422
4423 * w32term.c (x_produce_glyphs): Handle composite characters.
4424 (x_draw_glyph_string_foreground)
4425 (x_draw_composite_glyph_string_foreground): Restore old font.
4426
4e6b7204
MB
44272000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4428
4429 * minibuf.c (read_minibuf): Reset the undo history just before
4430 starting the recursive-edit.
4431
d4358b37
GM
44322000-10-30 Gerd Moellmann <gerd@gnu.org>
4433
563f68f1
GM
4434 * xfaces.c (menu_face_change_count): New variable.
4435 (Finternal_set_lisp_face_attribute): Increment it for changes
4436 of the `menu' face.
4437 (realize_basic_faces): Reflect changes in the `menu' faces
4438 in menu bars.
4439
82e274d1
GM
4440 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4441 dy obtained from the iterator's y-position after moving from
4442 scroll_margin_pos to PT; see comment there.
52283633 4443
0dbf9fd2
GM
4444 * xdisp.c (safe_eval_handler): Call add_to_log.
4445
906b3b14
GM
4446 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4447 is not a symbol or string.
4448
d4358b37
GM
4449 * xdisp.c (echo_area_display): Don't perform a display update from
4450 inside redisplay. The update will happen anyway at the end of
4451 redisplay, and it can confuse redisplay (GC messages while
4452 redisplaying, for instance.)
4453
70c825df
SM
44542000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4455
cf9b4b0b
SM
4456 * xrdb.c (x_load_resources): Use the class name in the defaults.
4457
70c825df
SM
4458 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4459 (regex_compile): Catch bogus \(\1\).
4460
a1d34b1e
GM
44612000-10-30 Gerd Moellmann <gerd@gnu.org>
4462
cae71efe
GM
4463 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4464 RGB values.
52283633 4465
35efe0a1
GM
4466 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4467 we have a color cache, check that the cached color equals the
4468 allocated color. If not, clear the color cache.
4469
1d3baf74
GM
4470 * window.c (displayed_window_lines): Change buffers if necessary.
4471 Fix computation of displayed lines.
4472
a1d34b1e
GM
4473 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4474 update_menu_bindings to DEFVAR_BOOL.
4475
70737ea9
KH
44762000-10-30 Kenichi Handa <handa@etl.go.jp>
4477
70c825df 4478 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4479
fa0cb51d
KH
4480 * puresize.h (BASE_PURESIZE): Increase to 680000.
4481
70737ea9
KH
4482 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4483
0e4c08e8
JR
44842000-10-29 Jason Rumney <jasonr@gnu.org>
4485
4486 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4487
4488 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4489 (w32_cache_char_metrics): Handle possibility that 'x' does not
4490 exist in a BDF font.
4491 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4492
4493 * w32bdf.h (bdffont): Add nchars.
4494
4495 * w32bdf.c (set_bdf_font_info): Set it.
4496 (w32_BDF_TextOut): Swap byte order of double byte characters.
4497 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4498
45b84006
EZ
44992000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4500
4501 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4502 don't override the colors in frame's param_alist, unless they are
4503 unspecified.
4504
4505 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4506 reverse the effect of the highlight flag.
4507
caf9deee
KR
45082000-10-27 Ken Raeburn <raeburn@gnu.org>
4509
4510 * window.h (Fwindow_live_p): Declare.
4511
ae0b9b46
KR
4512 * undo.c (record_delete): Check that last_undo_buffer is really a
4513 buffer before applying XBUFFER to it.
4514
4515 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4516 Faref.
4517
02067692
SM
45182000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4519
4520 * lisp.h (KEYMAPP): New macro.
4521 (get_keymap): Remove.
4522 (get_keymap_1): Rename get_keymap.
4523
4524 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4525
4526 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4527
4528 * xmenu.c (single_submenu): Use KEYMAPP.
4529 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4530 Use KEYMAPP rather than Fkeymapp.
4531
4532 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4533
4534 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4535 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4536 Use KEYMAPP rather than Fkeymapp.
4537 (single_submenu): Use KEYMAPP.
4538 (w32_menu_show, w32_dialog_show): Use TRUE.
4539
4540 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4541
4542 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4543 (Fkeymapp): Use KEYMAPP.
4544 (get_keymap): Rename from get_keymap_1. Remove old def.
4545 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4546 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4547 (Fminor_mode_key_binding): Don't raise an error if the binding
4548 is not a keymap.
4549 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4550 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4551
4552 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4553 Allow Vspecial_event_map to be autoloaded.
4554 (menu_bar_items): Fetch the keymap rather than using keymapp.
4555 (menu_bar_one_keymap): No need to follow func-indirect any more.
4556 (parse_menu_item): get_keymap_1 -> get_keymap.
4557 (tool_bar_items): Fetch the keymap rather than using keymapp.
4558 (read_key_sequence): Use KEYMAPP.
4559
4560 * intervals.c (get_local_map): Use get_keymap rather than following
4561 function-indirections explicitly.
4562
4563 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4564
f9d80af3
JR
45652000-10-27 Jason Rumney <jasonr@gnu.org>
4566
4567 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4568 point, as Windows has oversized fonts.
4569
4570 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4571
a3ba27da
GM
45722000-10-27 Gerd Moellmann <gerd@gnu.org>
4573
4574 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4575 (freehook, reallochook): Handle null pointer arguments.
4576 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4577
aa3b80cc
SM
45782000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4579
4580 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4581 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4582 Giving in to popular pressure to shut up the compiler with casts.
4583
e24e84cc
GM
45842000-10-27 Gerd Moellmann <gerd@gnu.org>
4585
4586 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4587 signed value, and use a default value computed from the font's
4588 maximum descent.
4589
05ea7ef2
MB
45902000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4591
4592 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4593 that specify a negative underline position can still use underlines.
4594
4595 * window.c (Fpos_visible_in_window_p): Make POS default to
4596 WINDOW's point, not the current buffer's point.
4597
0b95284b
DL
45982000-10-26 Dave Love <fx@gnu.org>
4599
4600 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4601 when it's necessary.
4602
6c5b90af
GM
46032000-10-26 Gerd Moellmann <gerd@gnu.org>
4604
8b6d9dc9
GM
4605 * window.c (size_window): Compute size difference from sum of old
4606 child window sizes instead of from parent's size.
4607
6bc92b2e
GM
4608 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4609 Handle obscured lines at the top of the window.
4610
4611 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4612 down after the last error condition check.
4613
6c5b90af
GM
4614 * frame.c (Fdelete_frame): Run delete-frame-hook.
4615
42f92d4d
KH
46162000-10-26 Kenichi Handa <handa@etl.go.jp>
4617
4618 * coding.c (decode_coding): Fix previous change (check also
4619 CODING_MODE_LAST_BLOCK).
4620
d97151cb
SM
46212000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4622
e7efc503
SM
4623 * regex.c: More `unsigned char' -> `re_char' changes.
4624 Also change several `int' into `re_wchar_t'.
4625 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4626 (PUSH_FAILURE_POINTER): Don't cast any more.
4627 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4628 We want GCC to complain, since this piece of code makes
4629 re_match non-reentrant, which *should* be fixed.
4630 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4631 (EXTEND_BUFFER): Use RETALLOC.
4632 (SET_LIST_BIT): Don't cast.
4633 (re_wchar_t): New type.
4634 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4635 that those two functions will always properly return.
4636 (IMMEDIATE_QUIT_CHECK): Cast to void.
4637 (analyse_first): Use recursion rather than an explicit stack.
4638 (re_compile_fastmap): Can't fail anymore.
4639 (re_search_2): Don't check re_compile_fastmap for failure.
4640 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4641 Now also sets the new value (passed in a new argument).
4642 (re_match_2_internal): Use it.
4643 Also, use a new var `reg' of type size_t when looping through regs
4644 rather than reuse the inappropriate `mcnt'.
4645
d97151cb
SM
4646 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4647 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4648 (where_is_internal): Renamed from Fwhere_is_internal.
4649 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4650 (Fwhere_is_internal): New function wrapping where_is_internal.
4651 (where_is_internal_1): Handle the case where we're filling the cache.
4652 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4653
d5789b65
MB
46542000-10-25 Miles Bader <miles@gnu.org>
4655
4656 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4657
4ecda532
GM
46582000-10-25 Gerd Moellmann <gerd@gnu.org>
4659
4660 * window.c (pos_fully_visible_p): Removed.
4661 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4662 if position is visible and/or fully visible.
4663
4664 * lisp.h (pos_visible_p): Add prototype.
4665
4666 * xdisp.c (pos_visible_p): New function.
4667
68c3a137
KH
46682000-10-25 Kenichi Handa <handa@etl.go.jp>
4669
4670 * process.c (send_process): If OBJECT is t, it means that the data
4671 is from C string, but we should encode it. Before calling
4672 setup_raw_text_coding_system, be sure to flush out data by the
4673 previous coding system.
4674
7ae1c032
MB
46752000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4676
ff4dcd4b
MB
4677 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4678 assignment of startpos to prev when startpos == pos.
4679
7ae1c032
MB
4680 * editfns.c (find_field): Set the field stickiness correctly from
4681 overlay fields. Use renamed `text_property_stickiness'.
4682 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4683 Only check text properties, not overlays.
7ae1c032
MB
4684 * textprop.c (get_char_property_and_overlay): New function.
4685 (Fget_char_property): Use it.
4686 * intervals.h (get_char_property_and_overlay): Add declaration.
4687
49801145
SM
46882000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4689
4690 * keymap.c: Use AREF, ASET and ASIZE macros.
4691 (Fmake_sparse_keymap): Docstring fix.
4692 (synkey): Remove.
4693 (shadow_lookup): Move up.
4694 Handle the case where lookup-key returns an integer.
4695 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4696 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4697 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4698 Simplify/rewrite the keymap-finding code.
4699 Add check for command shadowing, using shadow_lookup.
4700
39e776cd
SM
47012000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4702
4703 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4704 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4705 a symbol.
4706
2488aba5
AI
47072000-10-24 Andrew Innes <andrewi@gnu.org>
4708
4709 * dired.c (directory_files_internal_unwind): New function.
4710 (directory_files_internal): Use it to ensure closedir is called
4711 even if expand-file-name or file-attributes throw, eg. because of
4712 a user interrupt. Also enable immediate_quit while calling
4713 re_search, so that matching can be interrupted as well.
4714
b94fdf61
AI
47152000-10-24 Andrew Innes <andrewi@gnu.org>
4716
4717 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4718 NT-Emacs only.
4719 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4720 so that re_search functions only quit when callers expect them to.
4721
47222000-10-24 Kenichi Handa <handa@etl.go.jp>
4723
4724 * regex.c (regex_compile): Change the way of handling a range from
4725 a char less than 256 to a char not less than 256.
4726
1946f901
GM
47272000-10-24 Gerd Moellmann <gerd@gnu.org>
4728
7ae2f10f
GM
4729 * window.c (size_window): Prevent setting window's width or
4730 height to a negative value (esp. with XSETFASTINT).
4731
5dcab13e
GM
4732 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4733 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4734 (protect_malloc_state) [GC_MALLOC_CHECK &&
4735 GC_PROTECT_MALLOC_STATE]: New function.
4736 (PROTECT_MALLOC_STATE): New macro.
4737 (__malloc_initialize, morecore, _malloc_internal)
4738 (_free_internal) _realloc_internal): Use it to make _heapinfo
4739 read-only outside of gmalloc.
4740
63e1b552
GM
4741 * keymap.c: Update copyright.
4742
1946f901
GM
4743 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4744 a symbol.
4745
4fa09beb
GM
47462000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4747
4748 * filelock.c (unlock_all_files): Use unlock_file to expand each
4749 buffer's file_truename before trying remove its lock file.
4750
23afac01
EZ
47512000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4752
4753 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4754 or CRLF, decode EOLs.
4755
04448b95
KH
47562000-10-24 Kenichi Handa <handa@etl.go.jp>
4757
4758 * window.c (Fdisplay_buffer): Fix doc.
4759
3090a5a5
JR
47602000-10-23 Jason Rumney <jasonr@gnu.org>
4761
4762 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4763 ASCII font of default fontset on Windows.
4764
4765 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4766 xterm.c comment below).
4767
4768 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4769
a83fee2c
GM
47702000-10-23 Gerd Moellmann <gerd@gnu.org>
4771
4772 * xterm.c (x_connection_closed): Reset handling_signal.
4773
52283633 4774 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4775
6ffdb539
MB
47762000-10-23 Miles Bader <miles@gnu.org>
4777
4778 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4779 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4780 maintain old behavior.
4781 * minibuf.c (Fminibuffer_complete): Likewise.
4782
7f1c969b
MB
47832000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4784
4785 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4786 that when a font can't be exactly centered, it errs up rather than
4787 down.
4788
23afac01 47892000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4790
52283633 4791 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4792
1a578e9b
AC
47932000-10-23 Andrew Choi <akochoi@i-cable.com>
4794
4795 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4796
4797 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4798 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4799
4800 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4801 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4802 syms_of_search, x_term_init, and init_keyboard before calling
4803 init_window_once. Also, call syms_of_xmenu.
4804
4805 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4806 default fontset to Monaco.
4807
4808 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4809 NewMacWindow and DisposeMacWindow.
4810 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4811 instead of calling NewMacWindow and setting fields of
4812 f->output_data.mac directly. Call init_frame_faces.
4813 (Fdelete_frame) [macintosh]: Remove unused code.
4814 (Fmodify_frame_parameters) [macintosh]: Call
4815 x_set_frame_parameters instead of mac_set_frame_parameters.
4816
4817 * frame.h [macintosh]: Define menu_bar_lines field in struct
4818 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4819
4820 * keyboard.c [macintosh]: Include macterm.h.
4821 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4822 and menu_bar_activate_event type events as for X and NT.
4823 (make_lispy_event) [macintosh]: Construct lisp events of type
4824 MENU_BAR_EVENT as for X and NT.
4825
4826 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4827 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4828 (sys_subshell) [macintosh]: Remove definition entirely.
4829 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4830 Vwindow_system_version here. Remove initialization of
4831 Vx_bitmap_file_path.
4832 (read_input_waiting): Correct the number of parameters passed to
4833 read_socket_hook.
4834 Move all Macintosh functions to mac/mac.c.
4835
4836 * term.c [macintosh]: Include macterm.h.
4837
4838 * window.c [macintosh]: Include macterm.h.
4839
4840 * xdisp.c [macintosh]: Include macterm.h. Declare
4841 set_frame_menubar and pending_menu_activation.
4842 (echo_area_display) [macintosh]: Do not return if terminal frame
4843 is the selected frame.
4844 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4845 Allow only the selected frame to set menu bar.
4846 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4847 calling FRAME_EXTERNAL_MENU_BAR (f).
4848 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4849
4850 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4851 and check_x. Declare XCreateGC. Define x_create_gc and
4852 x_free_gc. Initialize font_sort_order.
4853 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4854 but call x_list_fonts instead of w32_list_fonts.
4855 (Finternal_face_x_get_resource) [macintosh]: Do not call
4856 display_x_get_resource.
4857 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4858 (realize_x_face) [macintosh]: Load the font if it is specified in
4859 ATTRS.
52283633 4860 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4861
1ffbabe3
SM
48622000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4863
4864 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4865 is nil: since we go to the end of submap anyway, we'd end up
4866 setting nil to nil.
4867 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4868 doesn't obey autoload.
4869
bed43f1d
EZ
48702000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4871
1ffbabe3 4872 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4873
ea4233a7
JR
48742000-10-21 Jason Rumney <jasonr@gnu.org>
4875
4876 * w32term.c (w32_cache_char_metrics): Double check that font is
4877 really fixed pitch before trusting tmPitchAndFamily.
4878
f3d3c491
AI
48792000-10-21 Andrew Innes <andrewi@gnu.org>
4880
4881 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4882
4883 * w32term.h: Extern decl for w32_cache_char_metrics.
4884
4885 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4886
4887 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4888 (w32_unload_font): Free per_char array if present.
4889
4890 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4891 cached information in emulated XFontStruct to handle common cases
4892 quickly. Do not allocate XCharStruct for return.
4893 (w32_native_per_char_metric): New function.
4894 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4895 allocating one.
4896 (x_produce_glyphs): Don't get an HDC. Change calls to
4897 w32_per_char_metric to match arg change above. Remove calls to
4898 free results.
4899 (w32_get_glyph_overhangs): Ditto.
4900 (w32_cache_char_metrics): New function.
4901
4902 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4903 ($(BLD)/casefiddle.$(O)): Remove compile command.
4904 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4905 ($(BLD)/dispnew.obj):
4906 ($(BLD)/keyboard.obj):
4907 ($(BLD)/w32inevt.obj):
4908 ($(BLD)/w32bdf.obj):
4909 ($(BLD)/alloc.obj):
4910 ($(BLD)/buffer.obj):
4911 ($(BLD)/editfns.obj):
4912 ($(BLD)/emacs.obj):
4913 ($(BLD)/fileio.obj):
4914 ($(BLD)/fns.obj):
4915 ($(BLD)/indent.obj):
4916 ($(BLD)/insdel.obj):
4917 ($(BLD)/intervals.obj):
4918 ($(BLD)/minibuf.obj):
4919 ($(BLD)/print.obj):
4920 ($(BLD)/scroll.obj):
4921 ($(BLD)/sysdep.obj):
4922 ($(BLD)/textprop.obj):
4923 ($(BLD)/widget.obj):
f3d3c491
AI
4924 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4925 ($(BLD)/term.obj): Add dependency on dispextern.h.
4926
52283633
SM
4927 * makefile.nt ($(BLD)\dispnew.obj):
4928 ($(BLD)\keyboard.obj):
4929 ($(BLD)\w32inevt.obj):
4930 ($(BLD)\w32bdf.obj):
4931 ($(BLD)\alloc.obj):
4932 ($(BLD)\buffer.obj):
4933 ($(BLD)\editfns.obj):
4934 ($(BLD)\emacs.obj):
4935 ($(BLD)\fileio.obj):
4936 ($(BLD)\fns.obj):
4937 ($(BLD)\indent.obj):
4938 ($(BLD)\insdel.obj):
4939 ($(BLD)\intervals.obj):
4940 ($(BLD)\minibuf.obj):
4941 ($(BLD)\print.obj):
4942 ($(BLD)\scroll.obj):
4943 ($(BLD)\sysdep.obj):
4944 ($(BLD)\textprop.obj):
4945 ($(BLD)\widget.obj):
f3d3c491
AI
4946 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4947 ($(BLD)\term.obj): Add dependency on dispextern.h
4948
18ad4821
EZ
49492000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4950
4951 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4952 with an additional argument of Qt.
4953
de54681a
MB
49542000-10-21 Miles Bader <miles@gnu.org>
4955
4956 * window.c (pos_fully_visible_in_window_p): New function.
4957 (Fpos_visible_in_window_p): Add FULLY argument.
4958 Use pos_fully_visible_in_window_p.
4959 (window_scroll_pixel_based, window_scroll_line_based): Update
4960 calls to Fpos_visible_in_window_p.
4961 * lisp.h (Fpos_visible_in_window_p): Update prototype
4962
13c844fb
GM
49632000-10-20 Gerd Moellmann <gerd@gnu.org>
4964
4965 * alloc.c (toplevel): Conditionalize compilation of mem_*
4966 functions differently.
52283633 4967
d9506268
JR
49682000-10-20 Jason Rumney <jasonr@gnu.org>
4969
4970 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4971 mem_init where it used to be. mem_z etc not defined otherwise.
4972
8094989b
GM
49732000-10-20 Gerd Moellmann <gerd@gnu.org>
4974
4975 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4976 GC_MALLOC_CHECK.
4977 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4978 structure definition and related variabled to the top of the file.
4979 Include this code when GC_MALLOC_CHECK is defined.
4980 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4981 register/unregister allocated region.
4982 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4983 which isn't allocated.
4984 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4985 something which is already in use.
4986 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4987 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4988 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4989 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4990
4991 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4992 _malloc_internal instead of malloc.
4993 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4994 of free.
4995
ea456eb4
AI
49962000-10-20 Andrew Innes <andrewi@gnu.org>
4997
4998 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4999 Windows.
5000 (my_strftime) <macro>: Don't use macro arg list when redefining as
5001 _strftime_copytm.
5002 (my_strftime) <function>: Supply 0 as ut argument.
5003
e64c3a75
JR
50042000-10-19 Jason Rumney <jasonr@altavista.net>
5005
5006 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5007 including dispextern.h, as it stops faces from working.
5008
5009 * w32fns.c (Fx_create_frame): Don't bother calling
5010 face-set-after-frame-default since the caller does it for us
5011 anyway. Clean up calls to x_get_arg to be consistent with X.
5012
5013 * w32term.c (x_produce_glyphs): Handle
5014 unibyte_display_via_language_environment correctly.
5015 (w32_draw_box_rect): Fix the calculation of width and height.
5016
5017 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5018 as it has stopped working.
5019 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5020 menu-bar.
5021
17401c97
GM
50222000-10-19 Gerd Moellmann <gerd@gnu.org>
5023
5024 * eval.c (skip_debugger): Prevent a compiler warning.
5025 (Fcondition_case): Likewise.
5026 (Fbacktrace_frame): Use a null interactive spec.
5027
773272d8
KH
50282000-10-19 Kenichi Handa <handa@etl.go.jp>
5029
5030 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5031
a42943e9
GM
50322000-10-18 Gerd Moellmann <gerd@gnu.org>
5033
e50517d9
GM
5034 * strftime.c: Sync with glibc, file version 1.78.
5035 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5036 should no longer be used according to ISO 8601.
5037
9035a35a
GM
5038 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5039 no map for meta_prefix_char, don't try to use it as a keymap.
5040 Instead, if T_OK is non-zero, look up a default binding, if any,
5041 otherwise, if T_OK is zero, return nil.
5042
a42943e9
GM
5043 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5044 (x_to_xcolors, png_load): Use x_query_color.
5045
52283633
SM
5046 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5047 New functions.
a42943e9
GM
5048 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5049 which can be slow.
5050 (x_copy_color, x_alloc_lighter_color): Likewise.
5051
5052 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5053 (x_query_color, x_query_colors): Add prototype.
5054
5055 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5056 check_string_bytes only if not noninteractive, increase count to 50.
5057
00de2987
MB
50582000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5059
5060 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5061 markers correctly.
5062
54918e2b
GM
50632000-10-17 Gerd Moellmann <gerd@gnu.org>
5064
1f0b3fd2
GM
5065 * alloc.c (pure_bytes_used): Renamed from pureptr.
5066 (ALIGN): New macro.
5067 (pure_alloc): New function.
5068 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5069 Use it.
5070 (Fpurecopy): Use PURE_POINTER_P.
5071
68c5d1db
GM
5072 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5073 PT has moved backward.
52283633 5074
9a038881
GM
5075 * xdisp.c (cursor_row_p): Take continued lines into account.
5076
361b097f
GM
5077 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5078 string's size_byte.
5079 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5080 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5081 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5082 string allocated.
5083
54918e2b
GM
5084 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5085 of selective display off while searching for the next line start.
5086
03ed0806
KH
50872000-10-17 Kenichi Handa <handa@etl.go.jp>
5088
5089 * Makefile.in (term.o): Depend on dispextern.h.
5090
7e05cdaf
SM
50912000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5092
5093 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5094
a6801fd1
GM
50952000-10-16 Gerd Moellmann <gerd@gnu.org>
5096
483de32b
GM
5097 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5098 the iterator at the beginning, so that they can be set later on,
5099 for instance in reseat_at_next_visible_line_start, without being
5100 overwritten.
5101
a6801fd1
GM
5102 * xfns.c (pbm_format): Add :foreground and :background keywords.
5103 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5104 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5105
dbf1fcc1
EZ
51062000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5107
5108 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5109
52283633 5110 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5111
5112 * msdos.c (IT_set_face): Compare highlighted face with the default
5113 face, and invert colors if these faces' colors are identical.
5114 (Fmsdos_remember_default_colors): Don't swap foreground and
5115 background colors in initial_colors[].
5116 (IT_set_frame_parameters): Don't swap frame's foreground and
5117 background pixels. If ALIST includes "(reverse . t)", swap
5118 foreground-color and background-color properties in frame's
5119 param_alist. If the original frame's param_alist doesn't specify
5120 the colors, store unspecified-fg and unspecified-bg, reversed if
5121 required.
5122
5123 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5124 the colors are unspecified and reversed, reverse fore- and back-
5125 ground in the returned value.
5126 (Fframe_parameter): Ditto.
5127
b41fe2c3 51282000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5129
3a6b59d9
GM
5130 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5131 get_last_unchanged_at_beg_row.
5132 (find_first_unchanged_at_end_row): Renamed from
5133 get_first_unchanged_at_end_row.
5134 (find_first_unchanged_at_end_row): Convert assertions to
5135 unconditional tests which abort. When looking for a row in
5136 unchanged text, don't go further back than first_text_row.
5137
b41fe2c3
GM
5138 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5139 Don't add in the last line's height when deciding if the new
5140 position is below the scroll margin.
9d1af64f 5141
b41fe2c3 51422000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5143
5144 * editfns.c (Fconstrain_to_field): Check carefully for field
5145 boundaries if either OLD_POS or NEW_POS has a non-nil field
5146 property, even if they're the same.
5147
c412cb7b
KH
51482000-10-16 Kenichi Handa <handa@etl.go.jp>
5149
5150 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5151 height for XFillRectangle.
5152
5586f3eb
SM
51532000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5154
5155 * syntax.c (Fstring_to_syntax): New function extracted from
5156 Fmodify_syntax_entry.
5157 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5158 (skip_chars, Fforward_comment): Remove unused variables.
5159 (syms_of_syntax): Add defsubr for string-to-syntax.
5160 (describe_syntax): Add code for comment and string fences.
5161
db785038
SM
51622000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5163
5164 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5165 Do the meta->esc mapping. Call get_keyelt before returning.
5166 Start scanning from the second element (the first is always `keymap')
5167 to make it easier to detect when we reach a parent map.
5168 Handle the case of inheriting from a symbol whose function is a map.
5169 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5170 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5171 (get_keyelt, Flookup_key): Update call to access_keymap.
5172 Remove the meta->esc mappings.
5173 (define_as_prefix): Delete old disabled code.
5174 (menu_item_p): New function.
5175 (where_is_internal_1): Skip over the few remaining menu items.
5176 * lisp.h (access_keymap): Update prototype.
5177 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5178 Update call to access_keymap.
5179 (follow_key, read_key_sequence): Update calls to access_keymap.
5180 Remove the meta->esc mappings.
5181
cafafe0b
GM
51822000-10-13 Gerd Moellmann <gerd@gnu.org>
5183
a2e2a7f6
GM
5184 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5185 with additional argument.
5186
cafafe0b
GM
5187 * xdisp.c (cursor_row_p): New function.
5188 (try_cursor_movement, display_line): Use it.
52283633 5189
cafafe0b
GM
5190 * xdisp.c (append_space): Also save/restore iterator's current
5191 character and its length.
5192
5193 * xdisp.c (init_from_display_pos): Add an assertion.
5194 (handle_stop): Don't set iterator's add_overlay_start.
5195 (handle_invisible_prop): Likewise.
5196 (load_overlay_strings): If text under an overlay is invisible,
5197 take both before- and after-strings into account when the iterator
5198 is positioned either at the start or at the end of the overlay.
5199 (forward_to_next_line_start): Rewritten.
5200 (reseat_at_next_visible_line_start): Rewritten.
5201 (set_iterator_to_next): Add parameter RESEAT_P.
5202
5203 * dispextern.h (struct it): Remove member add_overlay_start.
5204 (set_iterator_to_next): Change prototype.
5205
c744452b
KH
52062000-10-13 Kenichi Handa <handa@etl.go.jp>
5207
5208 * coding.c (code_convert_region): Be sure to initialize
5209 coding->category_idx.
e4a3f4e1
KH
5210 (decode_coding_string): Set coding->src_multibyte and
5211 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5212 (encode_coding_string): Set coding->src_multibyte and
5213 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5214
321fd26f
SM
52152000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5216
5217 * xfns.c (Fx_create_frame): Don't bother calling
5218 face-set-after-frame-default since the caller does it for us anyway.
5219
76832439
EZ
52202000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5221
5222 * window.c (coordinates_in_window): Fix detection of vertical line
5223 on character terminals.
5224
2483cf58
GM
52252000-10-12 Gerd Moellmann <gerd@gnu.org>
5226
5227 * editfns.c (save_excursion_save): Additionally record the
5228 selected window.
5229 (save_excursion_restore): If buffer was visible in a window, and a
5230 different window was selected, and the old selected window is
5231 still live, restore point in that window.
5232
eb991b25
KH
52332000-10-12 Kenichi Handa <handa@etl.go.jp>
5234
8a0eba09
KH
5235 * xterm.c (x_produce_glyphs): Handle
5236 unibyte_display_via_language_environment correctly.
5237
20401fcc
KH
5238 * regex.c (regex_compile): Change the way of handling a range from
5239 unibyte char to multibyte char.
5240
5241 * syntax.c (skip_chars): Change the way of handling a range from
5242 unibyte char to multibyte char.
5243
eb991b25
KH
5244 * process.c (read_process_output): Cancel previous change.
5245
365dd325
EZ
52462000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5247
c1b096cb
EZ
5248 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5249
365dd325
EZ
5250 * charset.c (Ffind_charset_string): Doc fix.
5251 (Ffind_charset_region): Doc fix.
5252
eb483c2b
KH
52532000-10-11 Kenichi Handa <handa@mule.m17n.org>
5254
5255 * process.c (read_process_output): Fix previous change. Adjust
5256 multibyteness of text to insert in a buffer by
52283633 5257 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5258
b40bfb99
AS
52592000-10-10 Andreas Schwab <schwab@suse.de>
5260
5261 * alloc.c (mark_object): Remove all workarounds installed on
5262 1993-08-08.
5263
caff31d4
KH
52642000-10-10 Kenichi Handa <handa@etl.go.jp>
5265
52283633 5266 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5267 (base64_encode_1): Make it work for a text of multibyte form.
5268 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5269 case. Don't call str_to_multibyte because base64_decode_1
5270 produces correct multibyte form for eight-bit codes.
52283633 5271 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5272 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5273 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5274 codes.
5275
5276 * charset.h (CHAR_STRING): Optimized for single byte characters.
5277
cba026ef
AS
52782000-10-09 Andreas Schwab <schwab@suse.de>
5279
5280 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5281 -1 after socket is closed, to fall through to error processing.
5282
1e21fe48
EZ
52832000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5284
5285 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5286 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5287 background-color, change also the colors of the default face for
5288 this frame.
5289
a640322e
EZ
52902000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5291
5292 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5293 them extern (they are defined on xfaces.c).
5294 (syms_of_msdos): Don't intern and don't staticpro
5295 Qbackground_color and Qforeground_color.
5296
a115794c
EZ
52972000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5298
5299 * frame.c (Fframe_parameter): For non-windowed frames, if
5300 f->param_alist says foreground or background color is unspecified,
5301 call tty_color_name to return the color name computed from the
5302 frame's current colors.
5303
f5533b63
DL
53042000-10-06 Dave Love <fx@gnu.org>
5305
5306 * terminfo.c (ospeed): Don't declare.
5307
5308 * sysdep.c: Don't include string.h.
5309 (h_errno): Declare conditional also on TRY_AGAIN.
5310
5311 * charset.c (Ffind_charset_string): Doc fix.
5312
52283633 5313 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5314 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5315 error messages.
5316
2b06561a
DL
53172000-10-05 Dave Love <fx@gnu.org>
5318
5319 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5320 position like menu-bar.
5321
ca839c85
GM
53222000-10-05 Gerd Moellmann <gerd@gnu.org>
5323
5324 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5325
5326 * xdisp.c (handle_single_display_prop): Use safe_call1.
5327 (safe_call): Renamed from call_function.
5328 (safe_call1): New function.
5329 (handle_fontified_prop): Use safe_call1 instead of call1.
5330 (safe_eval): Renamed from eval_form.
5331 (safe_eval_handler): Renamed from eval_handler.
5332 (handle_single_display_prop, display_mode_element): Use safe_eval
5333 instead of eval_form.
5334
5335 * xfaces.c (merge_face_heights): Use safe_call instead of
5336 call_function.
5337
5338 * keyboard.c (show_help_echo): Use safe_call instead of
5339 call_function; use safe_eval instead of eval_form.
5340
5341 * lisp.h (safe_call): Renamed from call_function.
5342 (safe_eval): Renamed from eval_form.
5343 (safe_call1): Add prototype.
5344
a3489ece
MB
53452000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5346
5347 * xfns.c (image_ascent): Rearrange ascent calculation for the
5348 has-a-font case.
5349
35810b6f
SM
53502000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5351
5352 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5353 (where_is_internal_1): Don't bother ignoring menu-items any more.
5354
3dc78168
GM
53552000-10-04 Gerd Moellmann <gerd@gnu.org>
5356
5357 * keyboard.c (update_menu_bindings): New variable.
5358 (parse_menu_item): Use AREF. If update_menu_bindings
5359 is 0, don't update menu bindings.
5360 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5361
1efc2bb9
EZ
53622000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5363
5364 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5365 to `mark_object'.
5366
3f679f55
SM
53672000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5368
5369 * syntax.c (forw_comment): Match nestedness of ender/starter.
5370 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5371 (prev_char_comstart_first): Remove.
5372 (back_comment): Check two-char comment markers more carefully
5373 to better handle overlapping cases like *//* or /* */* */ ...
5374 Match nestedness of ender/starter.
5375
2021ab61
DL
53762000-10-02 Dave Love <fx@gnu.org>
5377
5378 * config.in (HAVE_GAI_STRERROR): Add undef.
5379
5380 * process.c (Fopen_network_stream): Use it.
5381
5382 * m/alpha.h (NO_REMAP): Don't define.
5383
64e6cc18
GM
53842000-10-02 Gerd Moellmann <gerd@gnu.org>
5385
5386 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5387 return with a string converted to an integer or vice versa when
5388 Vmocklisp_arguments is t.
5389 (Fsignal): Likewise. The function can return for `quit'.
5390 (struct gcpro): Declare member `var' to point to a volatile
5391 Lisp_Object.
5392
5393 * eval.c (error): Prevent compiler warning.
5394
b1904cd9
SM
53952000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5396
5397 * keymap.c (keymap_memberp): New function.
5398 (Fset_keymap_parent): Use it.
5399 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5400 Use keymap_memberp to avoid creating cycles.
5401 (access_keymap): Use KEYMAPP.
5402
71c9ec51
GM
54032000-09-30 Gerd Moellmann <gerd@gnu.org>
5404
5405 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5406 gai_strerror. Make sure xerrno is set if connect fails. Improve
5407 error recovery.
71c9ec51 5408
c70c6b58
JR
54092000-09-29 Jason Rumney <jasonr@gnu.org>
5410
5411 * w32term.c (w32_char_font_type, w32_encode_char)
5412 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5413 (w32_bdf_per_char_metric): New function.
5414 (w32_per_char_metric): Use it.
5415 (x_draw_glyph_string_background): Always draw background for BDF
5416 glyphs.
5417
5418 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5419 GDI object which is a scarce resource.
5420
5421 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5422 (get_quoted_string): Fix limit on memchr search.
5423 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5424 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5425 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5426 (get_cached_font_char, cache_char_offset): Use macro
5427 BDF_CODEPOINT_RANGE_COVER_P.
5428 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5429 (clear_cached_bitmap_slots): New function.
5430 (GET_HEX_VALUE): G-Z, g-z are not hex.
5431 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5432 (get_bitmap_with_cache): Use new cache implementation.
5433 (create_offscreen_bitmap): New function.
5434 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5435
5436 * w32term.c (x_produce_glyphs): If the distance from the current
5437 position to the next tab stop is less than a canonical character
5438 width, use the tab stop after that.
5439 (x_draw_glyphs): Handle case START and END are out of bounds more
5440 carefully.
5441 (x_clear_mouse_face): Block/unblock input.
5442 (x_display_and_set_cursor): Don't show a hollow box cursor for
5443 buffers whose cursor_type is nil.
5444
fe01239f
GM
54452000-09-29 Gerd Moellmann <gerd@gnu.org>
5446
52283633 5447 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5448
5449 * dispextern.h (updating_frame): Declare extern.
5450
e7c52f1f
AS
54512000-09-29 Andreas Schwab <schwab@suse.de>
5452
5453 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5454
de6e1f7c
GM
54552000-09-29 Gerd Moellmann <gerd@gnu.org>
5456
25126faa
GM
5457 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5458 use its function definition.
5459 (tool_bar_items): Likewise.
5460
de6e1f7c 5461 * lisp.h (fatal): Declare NO_RETURN.
52283633 5462
454ee39b
KH
54632000-09-29 Kenichi Handa <handa@etl.go.jp>
5464
5465 * keymap.c: Remove the line "#undef NULL".
5466
96301c5f
GM
54672000-09-28 Gerd Moellmann <gerd@gnu.org>
5468
52283633 5469 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5470
efffeeb4
DL
54712000-09-28 Dave Love <fx@gnu.org>
5472
ecb8b666
DL
5473 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5474
dc3cd20f
DL
5475 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5476
5477 * .gdbinit (xreload): Note its need on GNU/Linux.
5478
efffeeb4
DL
5479 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5480 r_alloc, r_alloc_free.
5481
8610d903
KH
54822000-09-28 Kenichi Handa <handa@etl.go.jp>
5483
5484 * syntax.c (skip_chars): Handle negation correctly.
5485
8901d1ac
GM
54862000-09-27 Gerd Moellmann <gerd@gnu.org>
5487
6f22f1ad
GM
5488 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5489 with non-zero FORCE_P argument.
5490
52283633 5491 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5492 Add assertions.
5493
5494 * xdisp.c (window_box_height): Add an assertion.
5495
5496 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5497 tool-bar than is available.
5498 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5499
36f1966f
DL
55002000-09-27 Dave Love <fx@gnu.org>
5501
efffeeb4 5502 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5503
31d929e5
GM
55042000-09-26 Gerd Moellmann <gerd@gnu.org>
5505
c98863bf
GM
5506 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5507 instead of BITS_PER_INT.
5508 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5509 EMACS_UINT, respectively.
5510 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5511
5512 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5513
5514 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5515
77072ab1
GM
5516 * window.c (freeze_window_starts): Construct last argument for
5517 foreach_window differently.
5518
5519 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5520
5521 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5522 EMACS_UINT instead of `int' and `unsigned int'.
5523 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5524
5525 * frame.h (struct frame): Make the `nothing' member of union
5526 output_data an EMACS_INT.
5527
52283633 5528 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5529 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5530 size in the sdata structure.
5531 (SDATA_NBYTES, SDATA_DATA): New macros.
5532 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5533 differently for the different layout of the sdata structure.
5534 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5535 in sdata.
5536 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5537 Check that size recorded in the string size and size recorded in
5538 the sdata structure agree.
5539
3e60b029
DL
55402000-09-25 Dave Love <fx@gnu.org>
5541
5542 * buffer.c: Include stdio.h.
5543
5544 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5545
3e60b029
DL
5546 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5547
5548 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5549 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5550 (__malloc_extra_blocks): Declare as __malloc_size_t.
5551
8ff16b4e
GM
55522000-09-25 Gerd Moellmann <gerd@gnu.org>
5553
755a2ccd
GM
5554 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5555
d8b4516f
GM
5556 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5557 (read_char): If help-echo is showing, preserve the echo area
5558 when redisplaying.
5559
5560 * xdisp.c (help_echo_showing_p): New variable.
5561 (set_message): Reset it to 0.
5562 (init_xdisp): Initialize help_echo_showing_p.
5563
5564 * dispextern.h (help_echo_showing_p): Declare extern.
5565
5566 * config.in: Fix typo in __GNUC_MINOR__.
5567
5568 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5569
b11af2dd
GM
5570 * s/freebsd.h (POSIX_SIGNALS): Define.
5571
8ff16b4e
GM
5572 * xterm.c (x_clear_mouse_face): Block/unblock input.
5573
844eb643
DL
55742000-09-24 Dave Love <fx@gnu.org>
5575
5576 * fns.c (base64_encode_1): Fix last change.
5577
b30ab1b3
GM
55782000-09-22 Gerd Moellmann <gerd@gnu.org>
5579
5580 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5581
5582 * xdisp.c (try_window_reusing_current_matrix): More fixes
5583 for the case window has a header-line.
5584
c6cbe5f0
DL
55852000-09-22 Dave Love <fx@gnu.org>
5586
4c7c1f3f
DL
5587 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5588 a doc string.
5589
5590 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5591
c6cbe5f0
DL
5592 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5593
550a625e
GM
55942000-09-21 Gerd Moellmann <gerd@gnu.org>
5595
4c7c1f3f 5596 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5597 for GCC >= 2.5.
5598
52283633
SM
5599 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5600 Declare NO_RETURN.
fca99116 5601
80d26f99
GM
5602 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5603 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5604 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5605 warnings.
52283633 5606
80d26f99
GM
5607 * marker.c (byte_char_debug_check): Return void.
5608
623a0aae
GM
5609 * xfns.c (Fx_create_frame): Set default frame parameter value
5610 for tool-bar-lines to 1.
5611
5612 * dispnew.c (scrolling_window): Compare y-positions of rows
5613 equal at the start. Some simplification.
5614
5615 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5616 reused rows' y-position in the case window has a header-line, and
5617 new window start is greater than old window start.
5618
42ac0ae5
GM
5619 * process.c (process_sent_to): New variable.
5620 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5621 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5622 Declare more parameters volatile.
5623
550a625e
GM
5624 * lread.c (Vrecursive_load_depth_limit): New variable.
5625 (Fload): Check recursive loads whose recursion depth exceeds
5626 Vrecursive_load_depth_limit.
5627 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5628
8320414c
GM
56292000-09-20 Gerd Moellmann <gerd@gnu.org>
5630
f46c275e
GM
5631 * fileio.c (Fread_file_name): Doc fix.
5632
5633 * editfns.c (Fmessage_or_box): Doc fix.
5634
5635 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5636
b7e11c5b 5637 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5638
8320414c
GM
5639 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5640 symbols are specified, add color translations to the cache.
52283633 5641 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5642 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5643 xpm_cache_color.
5644 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5645 structures to xpm_init_color_cache.
5646
da1608d9
GM
56472000-09-19 Gerd Moellmann <gerd@gnu.org>
5648
52283633 5649 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5650
6badfa25
AI
56512000-09-19 Andrew Innes <andrewi@gnu.org>
5652
5653 * makefile.nt (bootstrap-emacs): Don't change directory.
5654
3a5f42bb
KH
56552000-09-19 Kenichi Handa <handa@etl.go.jp>
5656
1b7649bd
KH
5657 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5658
3a5f42bb
KH
5659 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5660 If output buffer is too small, signal an appropriated error.
5661
9f83cf0b
DL
56622000-09-18 Dave Love <fx@gnu.org>
5663
52283633 5664 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5665 (current_active_maps): Remove redundant get_local_map call.
5666
28c7826c
GM
56672000-09-18 Gerd Moellmann <gerd@gnu.org>
5668
5cefa566
GM
5669 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5670 cursor for buffers whose cursor_type is nil.
52283633 5671
6fed3546
GM
5672 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5673 a feature to implement that is already implemented.
5674 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5675 warnings.
5676
5677 * xfns.c (x_clear_image_1): New function.
5678 (x_clear_image): Use it.
52283633 5679 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5680
05b1f851
GM
5681 * dispnew.c (update_window): Move test for invisible lines
5682 at the top to update_window_line.
5683 (update_window_line): Handle invisible lines here.
5684
f4779de9
GM
5685 * xfns.c (clear_image_cache): Clear current matrices of all
5686 frames sharing an image cache. Block input while freeing
5687 images. Fix timestamp comparison.
5688 (x_clear_image): Also free the mask.
5689
28c7826c
GM
5690 * xfns.c (lookup_image): Block input while loading the image so
5691 that we won't get interrupted in a state where the image isn't yet
5692 set up completely.
5693 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5694 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5695 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5696 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5697
b7412313
GM
56982000-09-16 Gerd Moellmann <gerd@gnu.org>
5699
5700 * dispnew.c (update_window): Make sure to make desired rows
5701 current even if they are completely invisible at the top
5702 of a window.
5703
47e351a3
GM
57042000-09-15 Gerd Moellmann <gerd@gnu.org>
5705
7f8f1edc
GM
5706 * xfns.c (lookup_image): Build mask before applying an algorithm.
5707 Recognize algorithm `disabled'.
5708 (cross_disabled_images): New variable.
5709 (COLOR_INTENSITY): New macro.
5710 (x_detect_edges): Use COLOR_INTENSITY.
5711 (x_disable_image): New function.
5712 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5713
5714 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5715 disabled state, don't apply an image transformation algorithm if
5716 the user specified an image for the disabled state. Use
28c7826c 5717 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5718 user hasn't specified an image.
5719
ebb8f116
GM
5720 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5721 allocation functions with the XPM lib.
5722 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5723 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5724 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5725 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5726 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5727 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5728 functions, if possible, because these handle color allocation
5729 failure more gracefully.
5730 (Fimage_mask_p): New function.
5731
47e351a3
GM
5732 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5733 (Qedge_detection, Qheuristic): New symbols.
5734 (syms_of_xfns): Initialize new symbols.
5735 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5736 `algorithm (edge-detection ...)'.
5737 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5738 (tiff_format, gif_format, gs_format): Add `:mask'.
5739 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5740 (GIF_MASK, GS_MASK): New enumerators.
5741 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5742 (emboss_matrix, laplace_matrix): New variables.
5743 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5744 (x_edge_detection): New functions.
5745 (x_laplace): Rewritten in terms of x_detect_edges.
5746 (x_build_heuristic_mask): If image has a mask, free it.
5747
fe83b953
AI
57482000-09-14 Andrew Innes <andrewi@gnu.org>
5749
5750 * makefile.w32-in: Revert to Unix line endings.
5751
3021e816
AI
57522000-09-14 Andrew Innes <andrewi@gnu.org>
5753
5754 * makefile.w32-in: Standardize indentation somewhat.
5755 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5756 cater for differences between shells.
5757
5758 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5759
2a32b5ea
GM
57602000-09-14 Gerd Moellmann <gerd@gnu.org>
5761
5762 * xterm.c (x_produce_glyphs): If the distance from the current
5763 position to the next tab stop is less than a canonical character
5764 width, use the tab stop after that.
5765
b4331e96
DL
57662000-09-14 Dave Love <fx@gnu.org>
5767
5768 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5769
ef9e4345
GM
57702000-09-14 Gerd Moellmann <gerd@gnu.org>
5771
085536c2
GM
5772 * xdisp.c (handle_fontified_prop): While running fontification
5773 functions, bind `fontification-functions' and
5774 `after-change-functions' to nil.
5775
ef9e4345
GM
5776 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5777 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5778
5779 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5780
5781 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5782 USE_MMAP_FOR_BUFFERS.
5783
5784 * insdel.c (make_gap): Use enlarge_buffer_text.
5785
5786 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5787 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5788 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5789 from former r_alloc_* functions in ralloc.c.
52283633 5790 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5791 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5792 (mmap_init) [REL_ALLOC_MMAP]: New function.
5793 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5794 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5795 BUFFER_FREE.
5796
5797 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5798 (enlarge_buffer_text): Add prototype.
5799
5800 * ralloc.c: Remove everything having to do with the use of mmap.
5801
f8608968
GM
58022000-09-13 Gerd Moellmann <gerd@gnu.org>
5803
2a494b2d
GM
5804 * sound.c (Fplay_sound): Doc fix.
5805
8c907a56
GM
5806 * keyboard.c: Avoid some more compiler warnings.
5807 (parse_tool_bar_item): Ignore cached key bindings.
5808
f8608968
GM
5809 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5810 and allocation of Lisp data.
5811
6ab70e9a
GM
58122000-09-12 Gerd Moellmann <gerd@gnu.org>
5813
d12d0a9b
GM
5814 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5815 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5816 defaults first.
5817
6ab70e9a
GM
5818 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5819
63c36c3c
KH
58202000-09-12 Miyashita Hisashi <himi@meadowy.org>
5821
5822 * ccl.c: Comment fixed.
5823 (MAX_MAP_SET_LEVEL): Increased to 30.
5824 (PUSH_MAPPING_STACK): Enclose with do-while block.
5825 (POP_MAPPING_STACK): Likewise.
5826 (stack_idx_of_map_multiple): New variable.
5827 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5828 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5829 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5830 (ccl_driver) <CCL_MapSingle>: Likewise.
5831 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5832 with the case where looking up process reaches to the end of
5833 map-set, and call CCL programs as the above change.
5834
7ee3bd7b
GM
58352000-09-11 Gerd Moellmann <gerd@gnu.org>
5836
8ec8a5ec
GM
5837 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5838 that might be clobbered by longjmp.
5839 (check_x_display_info, x_decode_color, create_frame_xic)
5840 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5841 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5842
f74b0705
GM
5843 * lread.c (init_lread): Set Vloads_in_progress to nil.
5844 (Fload): Show list of recursively loaded files, when signaling an
5845 error.
5846
7ee3bd7b
GM
5847 * lread.c (Vloads_in_progress): New variable.
5848 (record_load_unwind): New function.
5849 (Fload): Check for recursive loads.
5850 (syms_of_lread): Initialize Vloads_in_progress.
5851 (read_integer, read1): Avoid some compiler warnings.
5852
5853 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5854 compiler warnings.
5855
974e1e5b
MB
58562000-09-11 Miles Bader <miles@gnu.org>
5857
5858 * editfns.c (Fbuffer_string): Doc fix.
5859
9824c4e3
GM
58602000-09-10 Gerd Moellmann <gerd@gnu.org>
5861
5862 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5863
6a72fdd1
KR
58642000-09-09 Ken Raeburn <raeburn@gnu.org>
5865
5866 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5867 whether to include other header files.
5868
28e6fb66
GM
58692000-09-09 Gerd Moellmann <gerd@gnu.org>
5870
52283633 5871 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5872 by Fmemq as a boolean.
28e6fb66 5873
7f8b6551
SM
58742000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5875
5876 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5877
a8710abf
GM
58782000-09-08 Gerd Moellmann <gerd@gnu.org>
5879
d1a02881
GM
5880 * ralloc.c (mmap_fd): Remove initializer which can make it
5881 read-only in a dumped Emacs.
5882 (mmap_fd_1): New variable.
5883 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5884 restore it from there.
5885 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5886 unconditionally so that mmap_fd can be initialized there.
5887 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5888 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5889 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5890
c454aac1
GM
5891 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5892
5893 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5894 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5895
fc653ef2
GM
5896 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5897
3015eec0
GM
5898 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5899 inheritance.
5900
bfe0ee88
GM
5901 * xdisp.c (try_window_id): When trying to locate cursor in
5902 unchanged rows at the top, handle the case that we can't find it.
5903
a8710abf
GM
5904 * xterm.c (x_draw_glyphs): Handle case START and END are out
5905 of bounds more carefully.
5906
6b7d4ae4
DL
59072000-09-08 Dave Love <fx@gnu.org>
5908
423193c5
DL
5909 * s/sol2.h (REL_ALLOC_MMAP): Define.
5910 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5911
5912 * ralloc.c: Don't include string.h (redundant).
5913 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5914 [!MAP_ANON]: Include fcntl.h.
5915 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5916 (r_alloc, r_re_alloc, r_alloc_free)
5917 (mmap_enlarge, mmap_set_vars): Use it.
5918 (r_alloc_init_fd): New function.
5919 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5920 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5921 malloc type.
5922
5923 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5924 Remove vm-limit.o.
5925
6b7d4ae4
DL
5926 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5927 change to __NetBSD__.
5928
44d31981
KH
59292000-09-08 Kenichi Handa <handa@etl.go.jp>
5930
5931 * search.c (compile_pattern): Check the multibyteness of cached
5932 string and PATTERN.
5933
aad40737
MB
59342000-09-08 Miles Bader <miles@gnu.org>
5935
5936 * xfaces.c (default_face_vector): Function removed.
5937 (Finternal_merge_in_global_face): Restore old global/local
5938 attribute override order. Use inline loop instead of calling
5939 default_face_vector.
5940
91a211b5
GM
59412000-09-07 Gerd Moellmann <gerd@gnu.org>
5942
5943 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5944 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5945 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5946 where necessary, in case POINTER_TYPE is `void'.
5947
03419440
EZ
59482000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5949
5950 * frame.c (make_terminal_frame): Initialize frame foreground and
5951 background colors to unspecified, for the initial instance of an
5952 MSDOS frame.
5953
f46f845b
GM
59542000-09-07 Gerd Moellmann <gerd@gnu.org>
5955
24f76fbf
GM
5956 * ralloc.c (mmap_find): Fix overlap computation.
5957 (mmap_enlarge): Compute nbytes before trying to find an
5958 overlapping region.
5959
f46f845b
GM
5960 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5961 instead of `!='.
5962
5963 * lread.c (syms_of_lread): Change value of regexp
5964 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5965
5966 * xmenu.c (xdialog_show): When looking up the selection in
5967 menu_items, take `quote' boundaries into account; this corresponds
5968 to a nil ITEM in x-popup-dialog.
5969
3c014385
KH
59702000-09-07 Kenichi Handa <handa@etl.go.jp>
5971
fd6f711b
KH
5972 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5973 not 0x81.
5974 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5975
3c014385 5976 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5977 encoding, not decoding. Fix the handling of latin-jisx0201.
5978 Check for the charset katakana-jisx0201 too.
3c014385 5979 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5980 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5981
0da3ecef
GM
59822000-09-07 Gerd Moellmann <gerd@gnu.org>
5983
ab0ee409
GM
5984 * xfaces.c (Vparam_value_alist): New variable.
5985 (syms_of_xfaces): Initialize it.
5986 (Finternal_set_lisp_face_attribute): Avoid more consing.
5987
5988 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5989 specially.
5990 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5991 (Qbackground_mode): New variable.
5992 (syms_of_frame_1): Initialize Qbackground_mode.
5993
5994 * lisp.h (Qdisplay): Declare extern.
1091dd67 5995
0da3ecef
GM
5996 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5997 change face on all frames, and change the default for new frames.
5998
b14654b9
DL
59992000-09-07 Dave Love <fx@gnu.org>
6000
6001 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6002
d24fd56f
KH
60032000-09-07 Kenichi Handa <handa@etl.go.jp>
6004
794f3670
KH
6005 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6006
0fddd0dc
KH
6007 * charset.c: Include composite.h
6008 (lisp_string_width): New function.
6009 (Fstring_width): Call lisp_string_width instead of strwidth.
6010
6011 * Makefile.in (charset.o): Depends on composite.h.
6012
d24fd56f
KH
6013 * process.c (read_process_output): Before inserting the decoded
6014 text in the buffer, adjust the multibyteness.
6015
fa0b693c
GM
60162000-09-06 Gerd Moellmann <gerd@gnu.org>
6017
52283633 6018 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6019 buffer's text buffer is null, map new memory.
6020
0a58f946
GM
6021 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6022 POINTER_TYPE and size_t.
6023 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6024 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6025 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6026 [REL_ALLOC_MMAP]: New macros.
6027 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6028 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6029 [REL_ALLOC_MMAP]: New functions.
6030
6031 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6032 before and after unexec.
6033
6034 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6035 text buffers if necessary.
6036
6037 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6038 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6039 in prototypes.
6040
fa0b693c
GM
6041 * config.in (HAVE_MMAP): Add #undef.
6042
877055f6
GM
60432000-09-05 Gerd Moellmann <gerd@gnu.org>
6044
08ba3862
GM
6045 * frame.c (Qdisplay_type): New variable.
6046 (syms_of_frame_1): Initialize it.
6047 (Fframe_parameter): New function that avoids consing.
6048 (syms_of_frame): Defsubr it.
6049
66ffe51c
GM
6050 * buffer.c (Fother_buffer): Consider buffers as invisible when
6051 they are displayed in a window on an invisible frame.
6052
877055f6
GM
6053 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6054 get-largest-window always return nil.
6055
bb970e67
GM
60562000-09-04 Gerd Moellmann <gerd@gnu.org>
6057
6058 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6059 variable; recognize Emacs 19 elc files.
6060
7a3d0e0e
MB
60612000-09-04 Miles Bader <miles@gnu.org>
6062
6063 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6064 before initially popping up the menu, so the menu doesn't flash
52283633 6065 when the face settings are significantly different from the defaults.
7a3d0e0e 6066
14473664
SM
60672000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6068
6069 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6070 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6071 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6072 (BIT_UNIBYTE): Remove.
6073 (re_match_2_internal): Delete corresponding code and streamline the
6074 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6075 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6076 (re_wctype_t): New type.
6077 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6078 (regex_compile): Use them and fix handling of overly long char classes.
6079
c1174479
AI
60802000-09-03 Andrew Innes <andrewi@gnu.org>
6081
f8803e97
AI
6082 * makefile.w32-in: Change to DOS line endings.
6083
c1174479
AI
6084 * s/ms-w32.h (ORDINARY_LINK): New define.
6085
6086 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6087 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6088
6089 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6090 (distclean): Delete them here instead.
6091
44ef7cf6
AI
6092 * w32proc.c (compare_env): Convert to uppercase for comparison,
6093 not lowercase, to match how the native Windows shell works.
6094
49b3bd82
JR
60952000-09-03 Jason Rumney <jasonr@gnu.org>
6096
6097 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6098 CVS changes the line-ends when checking in/out on DOS/Windows.
6099
6100 * makefile.nt (emacs): Do not change directory to run temacs, as
6101 the load-path is set relative to current directory.
6102
a3d35a39
MB
61032000-09-03 Miles Bader <miles@gnu.org>
6104
6105 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6106
d276b0cf
GM
61072000-09-02 Gerd Moellmann <gerd@gnu.org>
6108
715e84c9
GM
6109 * xdisp.c (redisplay_mode_lines): New function.
6110 (display_mode_lines): Return number of mode lines displayed.
6111 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6112 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6113
8892f40b
GM
6114 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6115 string.h and strings.h.
6116 (index) [HAVE_INDEX]: Add prototype.
6117
d276b0cf
GM
6118 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6119 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6120
6121 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6122 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6123
38404229
GM
61242000-09-01 Gerd Moellmann <gerd@gnu.org>
6125
6126 * lread.c (read1): Accept `?' as symbol constituent, for
6127 compatiblity with XEmacs.
6128
c0f9ea08
SM
61292000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6130
6131 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6132 (struct re_pattern_buffer): Remove newline_anchor.
6133 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6134 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6135 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6136 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6137 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6138 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6139 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6140 Get rid of references to newline_anchor.
6141 (regcomp): Allocate and precompute a fastmap.
6142
8c0f83fe
GM
61432000-08-31 Gerd Moellmann <gerd@gnu.org>
6144
6145 * lread.c (openp): GCPRO local variable `filename'.
6146
4bb91c68
SM
61472000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6148
6149 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6150
6151 * regex.c: Merge some changes from GNU libc. Add prototypes.
6152 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6153 Use memcmp and memcpy instead of bcopy and bcmp.
6154 (init_syntax_once): Use ISALNUM.
6155 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6156 (REG_UNSET_VALUE): Remove. Use NULL instead.
6157 (REG_UNSET, re_match_2_internal): Use NULL.
6158 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6159 New macros.
6160 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6161 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6162 (regex_compile): In handle_interval, return an error rather than try to
6163 unfetch the interval if we can't find the closing brace.
6164 Obey the RE_NO_GNU_OPS syntax bit.
6165 (TOLOWER): New macro.
6166 (regcomp): Use it.
6167 (regexec): Allocate regs.start and regs.end as one block.
6168
5226a931
GM
61692000-08-30 Gerd Moellmann <gerd@gnu.org>
6170
868dd24b
GM
6171 * xdisp.c (echo_area_display): Check display_completed instead
6172 of calling detect_input_pending.
6173
6174 * dispnew.c (update_frame): Only set display_completed here; move
6175 the update_begin and update_end calls here from update_frame_1.
6176 (update_frame_1): Don't set display_completed here, don't call
6177 update_begin/update_end.
6178
5226a931
GM
6179 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6180 instead of store_frame_param.
6181
2a8bd25f
GM
61822000-08-29 Gerd Moellmann <gerd@gnu.org>
6183
6184 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6185 desired window matrix hasn't been displayed, use the current row
6186 instead. Make sure that only those frame rows are updated for
6187 which there exists a corresponding enabled desired row.
52283633 6188
ba3478d9
MB
61892000-08-29 Miles Bader <miles@gnu.org>
6190
6191 * xfaces.c (default_face_vector): New function.
6192 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6193
87d0f685
GM
61942000-08-29 Gerd Moellmann <gerd@gnu.org>
6195
6196 * lread.c (openp): Prevent temporary string passed to
6197 Ffile_readable_p from being garbage collected.
6198
6fa86045
DL
61992000-08-28 Dave Love <fx@gnu.org>
6200
6201 * keymap.c (store_in_keymap): Add `static' to declaration.
6202
bb17930d
GM
62032000-08-28 Gerd Moellmann <gerd@gnu.org>
6204
6205 * emacs.c, callint.c, doc.c, editfns.c
6206 (toplevel) [HAVE_STRING_H]: Include string.h.
6207 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6208 (index): Remove prototypes which might conflict with non-standard
6209 definitions of index/strchr.
6210
6211 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6212 (rindex): Define only if !HAVE_RINDEX.
6213
6214 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6215
6216 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6217
87188200
MB
62182000-08-28 Miles Bader <miles@gnu.org>
6219
6220 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6221 made inconsistent by a font-related attribute in FROM.
6222 (merge_face_inheritance): Add function comment.
6223
41a68aef
KH
62242000-08-28 Kenichi Handa <handa@etl.go.jp>
6225
6226 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6227 the 4th arg (PREV_EVENT) Qt to suppress input method.
6228
f7c436c1
SM
62292000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6230
0b32bf0e
SM
6231 * regex.c: Indent cpp directives and remove parens after `defined'.
6232 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6233 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6234 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6235 (re_compile_pattern): Use size_t for length.
6236 (init_syntax_once): Move to a better place.
6237 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6238 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6239
f7c436c1
SM
6240 * syntax.c (back_comment): Detect cases where a comment-starter is
6241 actually inside another comment as in: /* a // b */ c // d \n.
6242 Make it clear that `comstart_pos' is unused for nested comments.
6243
6244 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6245 (KEYMAPP): New macro.
6246 (Fkeymap_parent, Fset_keymap_parent): Use it.
6247 (fix_submap_inheritance): Mark it static.
6248 (define_as_prefix, describe_buffer_bindings, describe_command)
6249 (describe_translation, describe_map): Complete prototypes.
6250
6251 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6252
6253 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6254 to better match the key-lookup behavior.
6255
6288c62f
GM
62562000-08-27 Gerd Moellmann <gerd@gnu.org>
6257
6258 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6259 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6260
e931344e
EZ
62612000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6262
6263 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6264 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6265 (xterm.o): Depend on coding.h
6266
d10dfeef
KH
62672000-08-26 Kenichi Handa <handa@etl.go.jp>
6268
6269 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6270 the corresponding '#endif'.
6271
2d73e8d3
MB
62722000-08-26 Miles Bader <miles@gnu.org>
6273
6274 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6275 * xfaces.c (QCinherit): New variable.
6276 (syms_of_xfaces): Initialize it.
6277 (LFACE_INHERIT): New macro.
6278 (Finternal_get_lisp_face_attribute)
52283633 6279 (merge_face_vector_with_property)
2d73e8d3
MB
6280 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6281 (check_lface_attrs): Allow new types of face height. Check
6282 inherit attribute.
6283 (CYCLE_CHECK): New macro.
6284 (merge_face_inheritance): New function.
6285 (merge_face_vectors): Merge inherited faces too. Add F and
6286 CYCLE_CHECK arguments.
6287 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6288 (lookup_named_face, lookup_derived_face, realize_named_face)
6289 (face_at_string_position, face_at_buffer_position): Supply
6290 new F and CYCLE_CHECK arguments to merge_face_vectors.
6291 (merge_face_heights): New function.
52283633 6292 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6293 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6294 handle relative face heights.
6295 (lface_same_font_attributes_p): Compare heights using EQ.
6296
6ce974d4
KH
62972000-08-26 Kenichi Handa <handa@etl.go.jp>
6298
6299 * charset.c (char_to_string): Check the character validity.
52283633 6300 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6301
dc1e502d
SM
63022000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6303
6304 * regex.c (PUSH_FAILURE_COUNT): New macro.
6305 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6306 Handle popping of a register's or a counter's data.
6307 (POP_FAILURE_POINT): Use the new name.
6308 (re_match_2_internal): Push counter data on the stack for succeed_n,
6309 jump_n and set_number_at and remove misleading dead code in succeed_n.
6310
bd9d0f3f
GM
63112000-08-25 Gerd Moellmann <gerd@gnu.org>
6312
6313 * xdisp.c (redisplay_internal): If considering all windows on all
6314 frames, update the display for each frame as soon as possible,
6315 instead of first building all desired matrices for all frames, and
6316 then updating them all.
6317 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6318
aa5b8e15
GM
63192000-08-24 Gerd Moellmann <gerd@gnu.org>
6320
17494071
GM
6321 * bytecode.c (mark_byte_stack): Add a comment.
6322
52283633
SM
6323 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6324 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6325 a graphical frame.
6326
c543db81
KH
63272000-08-24 Kenichi Handa <handa@etl.go.jp>
6328
d246d5f5
KH
6329 * minibuf.c (do_completion): Always use compare-string, not
6330 string-equal because the latter doesn't pay attention to
6331 multibyteness of strings.
6332
c543db81
KH
6333 * process.c (create_process): Don't setup raw-text coding here.
6334 (Fopen_network_stream): Don't set coding->src_multibyte and
6335 coding->dst_multibyte here.
6336 (read_process_output): For process filter, return unibyte string
6337 if default-enable-multibyte-characters is nil.
6338 (send_process): If OBJECT is multibyte text, be sure to encoded it
6339 by the specified coding system for the process. Otherwise, setup
6340 raw-text coding.
52283633 6341 (init_process): Don't initialize default-process-coding-system here.
c543db81 6342
9b47cfe0
EZ
63432000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6344
6345 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6346 <scroll-down-aggressively>: Likewise.
6347
f5a36960
KH
63482000-08-23 Kenichi Handa <handa@etl.go.jp>
6349
6350 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6351 zero. Set coding->produced_char correctly.
6352
69a7ffa7
AI
63532000-08-22 Andrew Innes <andrewi@gnu.org>
6354
6355 * makefile.w32-in: New file.
6356
6357 * unexw32.c (unexec): Ignore old_name, and use the actual location
6358 of the current executable instead. Base new_name on this.
6359
6360 * w32proc.c (create_child): Remove reference to security
6361 descriptor, which isn't needed and doesn't compile with mingw32.
6362
6363 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6364 up dllimport attributes.
6365 (x_update_window_end): Update prototype.
6366
6367 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6368 extern, which screws up dllimport attributes.
6369
6370 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6371 up dllimport attributes.
6372
6373 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6374 screws up dllimport attributes.
6375
6376 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6377 up dllimport attributes.
6378 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6379 screws up dllimport attributes.
6380
6381 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6382 up dllimport attributes.
6383
6384 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6385 screws up dllimport attributes.
6386
6387 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6388 screws up dllimport attributes.
6389
6390 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6391 up dllimport attributes.
6392
6393 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6394 unnecessary extern, which screws up dllimport attributes.
6395 (main): Ditto.
6396
6397 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6398 up dllimport attributes.
6399
6400 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6401 unnecessary extern, which screws up dllimport attributes.
6402
6403 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6404 screws up dllimport attributes.
6405
6406 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6407 up dllimport attributes.
6408
6409 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6410
52283633
SM
6411 * w32bdf.c (search_file_line):
6412 (set_bdf_font_info):
6413 (seek_char):
6414 (w32_get_bdf_glyph):
69a7ffa7
AI
6415 (w32_BDF_to_x_font): Fix compile warnings.
6416
52283633 6417 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6418
6419 * w32select.c: Include keyboard.h before frame.h.
6420
6421 * w32fns.c (max): Define macro.
6422 (JOHAB_CHARSET): Define if not known.
6423 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6424 (Fx_show_tip): Synch with X version.
6425
6426 * w32xfns.c: Include keyboard.h before frame.h.
6427
6428 * w32fns.c: Include keyboard.h before frame.h.
6429
6430 * w32term.c: Include keyboard.h before frame.h.
6431
6432 * fontset.c: Include keyboard.h before frame.h.
6433
6434 * w32inevt.c: Include keyboard.h before frame.h.
6435 (MOUSE_MOVED): Define if not known.
6436
6437 * minibuf.c: Include keyboard.h before frame.h.
6438
6439 * keyboard.c: Include keyboard.h before frame.h.
6440
6441 * indent.c: Include keyboard.h before frame.h.
6442
6443 * dispnew.c: Include keyboard.h before frame.h.
6444
6445 * buffer.c: Include keyboard.h before frame.h.
6446
6447 * alloc.c: Include keyboard.h before frame.h.
6448
6449 * print.c: Include keyboard.h before frame.h.
6450
6451 * process.c: Include keyboard.h before frame.h.
6452
6453 * scroll.c: Include keyboard.h before frame.h.
6454
6455 * sysdep.c: Include keyboard.h before frame.h.
6456
6457 * term.c: Include keyboard.h before frame.h.
6458
6459 * window.c: Include keyboard.h before frame.h.
6460
6461 * xdisp.c: Include keyboard.h before frame.h.
6462 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6463
6464 * frame.c: Include keyboard.h before frame.h.
6465
6466 * w32heap.h: Undefine min, max.
6467
6468 * w32gui.h: Undefine min, max.
6469
6470 * unexw32.c: Change PUCHAR to PCHAR.
6471 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6472 (relocate_offset):
6473 (get_section_info):
69a7ffa7
AI
6474 (copy_executable_and_dump_data): Remove unnecessary static defs.
6475 (copy_executable_and_dump_data): Fix compile warnings.
6476
6477 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6478
6479 * w32console.c (min): Define macro.
6480 (clear_frame, write_glyphs): Fix compile warning.
6481
52283633 6482 * w32proc.c (compare_env):
69a7ffa7
AI
6483 (find_child_console): Fix compile warning.
6484
6485 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6486 sys_errlist instead of _sys_errlist.
6487 (get_emacs_configuration_options): New function.
6488
6489 * s/ms-w32.h (sys_nerr): Provide default definition.
6490 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6491 name with _ prepended.
6492 (NSIG): Define if not known.
6493 (get_emacs_configuration): Provide extern declaration.
6494 (get_emacs_configuration_options): Provide extern declaration.
6495 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6496
6497 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6498 (map_w32_filename):
69a7ffa7
AI
6499 (read_unc_volume): Fix compile warning.
6500
6501 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6502 definitions from being used.
6503
6504 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6505
52283633 6506 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6507 (open_unc_volume): Make arg const.
6508
6509 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6510 (read_input_waiting): Remove excess parameter.
6511
6512 * w32.c (init_environment): Call _access.
6513 (check_windows_init_file): Call _close.
6514 (init_user_info): Call _putenv.
6515 (init_environment): Call _putenv and _strdup.
6516 (init_ntproc): Reset volume info cache on startup.
6517
6518 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6519 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6520 cannot override the CRT malloc.
6521
6522 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6523 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6524
6525 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6526 unless we are linking with a static CRT.
6527 (RVA_TO_PTR): Cast result to unsigned char*.
6528
6529 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6530 (add_volume_info): Use xstrdup.
6531
25060080
SM
65322000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6533
6534 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6535 (do_completion, Fminibuffer_complete_word): Use it.
6536 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6537 var so it can take non-boolean values.
6538
6917e6bb
GM
65392000-08-21 Gerd Moellmann <gerd@gnu.org>
6540
acb7cc89 6541 * editfns.c (find_field): Formatting changes.
52283633 6542 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6543 changed to prototypes, some new protypes added, some functions
6544 made static.
6545
6546 * lisp.h (set_time_zone_rule): Add prototype.
6547 (use_dialog_box): External declaration.
6548
0bbfdc25
GM
6549 * keyboard.c (gen_help_event): Add parameter SIZE.
6550 (kbd_buffer_events_waiting): Slightly rewritten.
6551 (clear_event): New function.
6552 (kbd_buffer_get_event): Use it, and clear the input_events of
6553 HELP_EVENTs.
6554 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6555 don't fill the newly created array with nils.
6556 (toplevel): Convert some old-style function forward declarations
6557 to prototypes.
6558
6559 * keyboard.h (gen_help_event): Change prototype.
6560
6561 * xterm.c (XTread_socket): Change calls to gen_help_event.
6562
6563 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6564
6917e6bb
GM
6565 * eval.c (Fmacroexpand): Doc fix.
6566
e5cd3d11
JR
65672000-08-20 Jason Rumney <jasonr@gnu.org>
6568
6569 * w32term.h (x_display_info_for_display): Remove as this function
6570 does not exist on W32.
6571
6572 * w32term.c (help_echo_window): New variable.
6573 (syms_of_w32term): staticpro it.
6574 (note_mode_line_highlight): Set it.
6575 (XTextExtents16): Removed as there is no equivalent on W32.
6576 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6577 the X way of doing this will not work for W32.
6578 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6579 (x_draw_image_foreground): Avoid drawing outside of the clip area
6580 when image doesn't have a mask.
6581 (note_mouse_highlight): Process overlays in the right order of
6582 priority. Set help_echo_window.
6583 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6584 because that's more visible for large images.
6585
6586 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6587 name to single_keymap_panes.
6588 (w32_menu_show): Set wv->title when dealing with titles.
6589 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6590
6e69ab8c
MB
65912000-08-21 Miles Bader <miles@gnu.org>
6592
6593 * minibuf.c (do_completion): Try again if we rewrite the input
6594 string, but no completion was done, so that any completion message
6595 will be correct.
6596
511bd4eb
GM
65972000-08-20 Gerd Moellmann <gerd@gnu.org>
6598
6599 * xfaces.c (lface_equal_p): Compare strings differently.
6600 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6601 (realize_tty_face): Use them.
6602 (syms_of_xfaces): Initialize new variables.
6603 (map_tty_color): New function, extracted from realize_tty_face.
6604 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6605 foreground or background color, store the new color name in the
6606 realized face; previous code trying to do this had no effect.
6607 (realize_tty_face): Use map_tty_color.
6608 (Fclear_face_cache): Set face_change_count and ensure thorough
6609 redisplay.
6610
1433385f
GM
66112000-08-19 Gerd Moellmann <gerd@gnu.org>
6612
511bd4eb
GM
6613 * undo.c (record_first_change, record_marker_adjustment): Don't
6614 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6615
419ac0a2
KH
66162000-08-18 Kenichi Handa <handa@etl.go.jp>
6617
6618 * coding.c (decode_coding_string): Set members consumed,
6619 consumed_char, produced, produced_char of *coding correctly. If
6620 decode_coding doesn't consume any byte, don't try anymore.
6621 (encode_coding_string): Likewise.
6622
7eb9e30d
GM
66232000-08-18 Gerd Moellmann <gerd@gnu.org>
6624
511bd4eb
GM
6625 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6626 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6627
6628 * xdisp.c (redisplay_internal): Compare windows for equality with
6629 EQ, instead of applying XWINDOW to something that might not
6630 be a window.
52283633 6631
dd34a735
KH
66322000-08-18 Kenichi Handa <handa@etl.go.jp>
6633
6634 * fontset.c (Finternal_char_font): Search only the selected frame
6635 for a window of the current buffer.
6636
385ff9e3
GM
66372000-08-18 Gerd Moellmann <gerd@gnu.org>
6638
511bd4eb 6639 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6640 Lisp_Objects.
6641
385ff9e3
GM
6642 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6643 second half of a HELP_EVENT is found at the start of kbd_buffer.
6644
d6abb4c7
MB
66452000-08-18 Miles Bader <miles@gnu.org>
6646
4618074a
MB
6647 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6648
d6abb4c7
MB
6649 * editfns.c (save_restriction_save): Rewrite to use markers.
6650 (save_restriction_restore): Rewrite to understand new form of data
6651 saved by save_restriction_save.
6652 (Fsave_restriction): Remove cautionary note in doc-string.
6653
a7b28523
GM
66542000-08-17 Gerd Moellmann <gerd@gnu.org>
6655
6656 * fileio.c (build_annotations): Add a comment explaining the
6657 return value of format-annotate-function. Replace a spurious call
6658 to Flength with a CONSP test. Call format-annotate-function with
6659 a fifth arg specifying how many times the function is been called
6660 in a row, to let it choose temporary buffers appropriately.
6661
03c9ed77
DL
66622000-08-17 Dave Love <fx@gnu.org>
6663
6664 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6665 declare make_temp_name twice.
6666
52283633 6667 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6668 (unreadpure): Give it an arg.
6669
6670 * unexalpha.c: Prototype fatal_unexec, mark_x,
6671 update_dynamic_symbols. Declare unexec as void.
6672
6673 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6674 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6675
6676 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6677 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6678
6679 * alloca.c: Use #error.
6680 [POINTER_TYPE]: Use it.
6681
6682 * eval.c (Fdefvar): Doc fix.
6683
6684 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6685 INITIALIZE_INTERVAL.
6686
6687 * buffer.h: Avoid DECLARE_INTERVALS.
6688
6689 * config.in: Add size_t.
6690
aae41d97
EZ
66912000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6692
6693 * w16select.c (set_clipboard_data): If there's not enough memory
6694 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6695 expects. In case of other failures, return 3.
6696 (system_error_msg): New error message.
6697 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6698 system_error_msg.
6699
65aa5e85
GM
67002000-08-16 Gerd Moellmann <gerd@gnu.org>
6701
6702 * term.c (write_glyphs): Also turn off inverse video after turning
6703 off other appearances in case TS_exit_attribute_mode is not equal
6704 to TS_end_standout_mode.
6705 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6706 with the same face.
6707 (turn_off_face): Reset standout_mode only if
6708 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6709 is equal to TS_end_standout_mode.
6710
ece23901
KH
67112000-08-16 Kenichi Handa <handa@etl.go.jp>
6712
9d7bcb2e
KH
6713 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6714 sequence at the end of the source block.
6715
ece23901
KH
6716 * ccl.c (Fccl_program_p): Docstring modified.
6717 (Fccl_execute): Likewise.
6718 (Fccl_execute_on_string): Likewise.
6719
5e30eaa2
EZ
67202000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6721
6722 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6723
290602fd
KH
67242000-08-16 Kenichi Handa <handa@etl.go.jp>
6725
6726 The following changes are mainly to fix bugs of
6727 encode/decode-coding-string failing if encoding/decoding return
6728 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6729 variable conversion_buffer.
6730
6731 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6732 decrement dst_end to avoid buffer overflow in the later call of
6733 string_as_multibyte
6734
6735 * coding.h (conversion_buffer_size, conversion_buffer)
6736 (get_conversion_buffer): Extern deleted.
6737
6738 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6739 (conversion_buffer, conversion_buffer_size): Variables deleted.
6740 (get_conversion_buffer): Function deleted.
6741 (struct conversion_buffer): New structure.
6742 (MAX_ALLOCA): New macro.
6743 (allocate_conversion_buffer): New macro.
6744 (extend_conversion_buffer, free_conversion_buffer): New functions.
6745 (ccl_coding_driver): Set coding->result.
6746 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6747 this is the last block of source.
6748 (encode_coding): Likewise. Handle the source block as the last
6749 one only when the whole source text is consumed.
6750 (decode_coding_string): Handle the case that the output buffer is
6751 too small to decode the whole source text. Use
6752 allocate_conversion_buffer, extend_conversion_buffer and
6753 free_conversion_buffer, not get_conversion_buffer.
6754 (encode_coding_string): Likewise.
6755 (init_coding): Function deleted.
52283633 6756 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6757
6758 * emacs.c (main): Don't call init_coding.
6759
52283633 6760 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6761
6762 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6763 (insert_glyphs): Likewise.
6764
6765 * w32console.c (write_glyphs): Use a locally declared
6766 conversion_buffer.
6767
b9f80d41
EZ
67682000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6769
6770 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6771 member of display_info is NULL.
6772
32dc52f7
GM
67732000-08-15 Gerd Moellmann <gerd@gnu.org>
6774
52283633 6775 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6776
32dc52f7 6777 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6778 appearances with capability `me'.
32dc52f7
GM
6779 (write_glyphs): Switch on inverse video before each face change.
6780
4eb22d33
DL
67812000-08-14 Dave Love <fx@gnu.org>
6782
6783 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6784 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6785 (lisp_free): Declare and make static.
6786
6787 * window.c: Fix embedded comment.
6788 (syms_of_window): Fix doc string.
6789
90cbf47e
GM
67902000-08-14 Gerd Moellmann <gerd@gnu.org>
6791
52283633 6792 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6793 make sure to print `C-' before `M-', like in the manual.
6794
440fc135
GM
67952000-08-11 Gerd Moellmann <gerd@gnu.org>
6796
6797 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6798 since they aren't relocated anymore.
52283633 6799 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6800
6801 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6802 partially visible line which is smaller than the window's height.
440fc135 6803
6e264fad
KH
68042000-08-11 Kenichi Handa <handa@etl.go.jp>
6805
6806 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6807 the multibyte form of eight-bit-control characters.
6e264fad
KH
6808 (Fccl_execute_on_string): Initialize ccl->multibyte.
6809
6810 * ccl.h (struct ccl_program): New member multibyte.
6811
6812 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6813
c371f69a
KH
68142000-08-11 Kenichi Handa <handa@etl.go.jp>
6815
6816 * regex.c (regex_compile) <normal_char>: Pay attention to
6817 multibyteness.
6818 (analyse_first) <exactn>: Setup fastmap correctly for
6819 eight-bit-control characters.
6820
68212000-08-11 Kenichi Handa <handa@etl.go.jp>
6822
52283633 6823 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6824
6825 * keyboard.c (make_lispy_event): Handle the new event type
6826 multibyte_char_keystroke.
6827
6828 * xterm.c: Include coding.h.
6829 (XTread_socket): Work around a bug of XmbLookupString. If the
6830 input is from XIM, decode it according to the current locale. In
6831 that case, generate multibyte_char_keystroke events.
6832
b8ddbe71
KH
68332000-08-11 Kenichi Handa <handa@etl.go.jp>
6834
6835 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6836 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6837
47589c8c
GM
68382000-08-10 Gerd Moellmann <gerd@gnu.org>
6839
6840 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6841 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6842 (move_it_in_display_line_to): Record iterator's ascent and descent
6843 before producing glyphs, and restore them when we know the glyph
6844 doesn't fit on the line.
6845 (move_it_to): Restructured so that it's easier to debug. If
6846 moving to a vpos, and not moving to an x or character position,
6847 stop as soon as the specified vpos is reached; don't move further
6848 into that line because that might change the computed line height.
6849 (try_cursor_movement): New function, extracted from the cursor
6850 movement branch of redisplay_window. If ending on a partially
6851 visible line, don't try to scroll if the cursor line is taller
6852 than the window.
6853 (redisplay_window): Use try_cursor_movement.
6854
6855 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6856 because that function doesn't cope with variable-height lines.
6857
6858 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6859 box cursor because that's better visible for large images.
52283633 6860
c51bacd6
MB
68612000-08-10 Miles Bader <miles@gnu.org>
6862
6863 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6864
bea56df7
GM
68652000-08-10 Gerd Moellmann <gerd@gnu.org>
6866
6867 * xdisp.c (Vmessages_buffer_name): New variable.
6868 (message_dolog): Use it.
6869 (syms_of_xdisp): Initialize it.
6870
99cd7364
EZ
68712000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6872
52283633 6873 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6874 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6875 redundant now that keyboard.h is included.
6876
7d093d56
EZ
68772000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6878
6879 * keyboard.c (kbd_buffer_events_waiting): New function.
6880
6881 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6882
6883 * msdos.c: Include keyboard.h.
6884 (XMenuActivate): Empty no_event events from the event buffer. If
6885 no events are left after that, call clear_input_pending.
6886 (mouse_clear_clicks): New function, code moved from mouse_init.
6887 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6888 mouse driver to ``forget'' any past clicks.
6889
6890 * Makefile.in (msdos.o): Depend on keyboard.h.
6891
41e757a6
GM
68922000-08-09 Gerd Moellmann <gerd@gnu.org>
6893
8e7bd231
GM
6894 * lisp.h (input_pending): External declaration.
6895
6896 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6897
8e7bd231
GM
6898 * xdisp.c (echo_area_display): Display thoroughly if input is
6899 pending. Bind redisplay-dont-pause to t during the redisplay.
6900 in case input is pending.
6901
6902 * dispnew.c (Qredisplay_dont_pause): New variable.
6903 (syms_of_display): Initialize and staticpro it.
6904 (update_frame_1): Don't interrupt the display for pending input if
6905 redisplay_dont_pause is set.
52283633 6906
43028b7e
GM
6907 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6908
41e757a6
GM
6909 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6910
2f2174fa
KH
69112000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6912
6913 * callproc.c (Fcall_process): Terminate the unwind-protect around
6914 the post-read-conversion of coding system.
6915
0a6fd67e
MB
6916 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6917 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6918 * buffer.h (overlays_at): Update prototype.
6919 * xdisp.c (next_overlay_change): Update call to overlays_at.
6920 * xfaces.c (face_at_buffer_position): Likewise.
6921 * textprop.c (Fget_char_property): Likewise.
6922 * xterm.c (note_mouse_highlight): Likewise.
6923
0c80756e
MB
6924 * minibuf.c (do_completion): Don't consider a simple change of
6925 case as `completion'.
6926
975f250a
KR
69272000-08-08 Ken Raeburn <raeburn@gnu.org>
6928
52283633 6929 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6930 * undo.c (record_delete): Make sure last_point_position_buffer is
6931 a buffer before comparing pointers.
6932
6933 * coding.h (decode_coding_string): Declare.
6934
6935 * intervals.h (Fprevious_single_char_property_change): Declare.
6936
6937 * textprop.c (Fprevious_single_char_property_change): Don't do
6938 arithmetic directly on lisp objects.
6939
52283633 6940 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6941
6942 * keyboard.h (menu_item_eval_property): Declare.
6943
6944 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6945 reuse as buffer name, instead of recreating (and discarding) every
6946 time a message is logged.
6947 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6948 (current_message_1, truncate_message_1, set_message_1)
6949 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6950 (current_message, truncate_echo_area, display_echo_area)
6951 (resize_echo_area_axactly): Changed calls.
b347b3fd 6952
975f250a 6953 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6954 Lisp object.
975f250a 6955 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6956 must be an integer, not a Lisp object.
975f250a 6957
46dc9912
KH
69582000-08-08 Kenichi Handa <handa@etl.go.jp>
6959
6960 * charset.c (Fchar_width): Doc fix.
6961
9f6d1a6c
GM
69622000-08-08 Gerd Moellmann <gerd@gnu.org>
6963
6964 * charset.c (Fstring_width): Doc fix.
6965
ff3d9573
GM
69662000-08-07 Gerd Moellmann <gerd@gnu.org>
6967
41e757a6 6968 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6969 line, clear ascent and descent members of the iterator structure;
6970 the height of the continued line does not affect the height of the
6971 continuation line.
6972 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6973 line taller than the window.
6974 (redisplay_window) <forced window start>: Handle case that the
6975 middle of the window is not found in any row.
6976 (dump_glyph_row): Show more information.
6977 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6978 first text line in a glyph matrix.
6979
6980 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6981 of the clip area when image doesn't have a mask.
6982
70fc58b3
GM
6983 * fns.c (sweep_weak_table): Fix survival conditions for
6984 key-or-value and key-and-value weakness.
6985
6986 * .gdbinit (xhashtable): New command.
6987
ac0e96ee
GM
6988 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6989 tables out of the list of all weak hash tables.
6990
ff3d9573
GM
6991 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6992 a new buffer is created, make sure echo_area_buffer[] references
6993 the new buffer.
6994
e0d8827b
EZ
69952000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6996
6997 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6998 the doc string.
6999
c6f35378
KH
70002000-08-07 Kenichi Handa <handa@etl.go.jp>
7001
7002 * syntax.c (skip_chars): Fix previous change. Make the handling
7003 of unibyte string consistent with that of regex search.
7004
1fd4c450
GM
70052000-08-05 Gerd Moellmann <gerd@gnu.org>
7006
e49aa397
GM
7007 * xmenu.c (popup_get_selection): Use xfree instead of free.
7008
7009 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7010
7011 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7012
7013 * callproc.c (child_setup): Use xfree instead of free.
7014
7015 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7016 instead of malloc.
7017 (run_mac_command, closedir): Use `xfree' instead of `free'.
7018
7019 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7020
7021 * eval.c (error): Use xfree instead of free.
7022
1fd4c450
GM
7023 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7024
7025 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7026 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7027
82d497fc
KH
70282000-08-05 Kenichi Handa <handa@etl.go.jp>
7029
7030 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7031 conversion.
7032
59f953a2
NF
70332000-08-04 Noah Friedman <friedman@splode.com>
7034
7035 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7036 docstring.
7037
688351f2
GM
70382000-08-04 Gerd Moellmann <gerd@gnu.org>
7039
7040 * syntax.c (skip_chars): Fix typo in error message.
7041
2dad51cc
AS
70422000-08-04 Andreas Schwab <schwab@suse.de>
7043
7044 * m/ia64.h: Moved from s/ia64.h.
7045
99bb2c60
KH
70462000-08-04 Kenichi Handa <handa@etl.go.jp>
7047
082a1df2
KH
7048 * process.c (read_process_output): Big simplification. Handle
7049 composition and post-read-conversion of coding system correctly.
7050 (send_process): Handle composition correctly.
7051
7052 * callproc.c (Fcall_process): Handle post-read-conversion of
7053 coding system if any.
7054
99bb2c60
KH
7055 * coding.c (decode_coding_iso2022): More strict check for handling
7056 single shifting.
082a1df2
KH
7057 (coding_restore_composition): Pay attention to the case that
7058 cmp_data is not set properly (because of invalid code in the
7059 source text).
7060 (run_pre_post_conversion_on_str): Include text properties in the
7061 resulting string.
7062 (decode_coding_string): Set members of coding correctly.
99bb2c60 7063
f4988be7
GM
70642000-08-03 Gerd Moellmann <gerd@gnu.org>
7065
7066 * s/ia64.h: New file.
7067
7068 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7069 Use NULL instead of 0 at the end of variable argument list of
7070 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7071 sizeof (int) < sizeof (void *).
7072
7073 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7074 of variable argument lists of XtVaGetValues and XtVaSetValues.
7075
7076 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7077 variable argument lists of XtVaGetValues and XtVaSetValues.
7078
ead53494
GM
70792000-08-02 Gerd Moellmann <gerd@gnu.org>
7080
7081 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7082 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7083
7084 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7085 prototype.
7086
7087 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7088 in call to Fsingle_key_description.
7089
7090 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7091 Callers changed.
7092
70932000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7094
7095 * window.c (display_buffer_reuse_frames): New variable.
7096 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7097 frames displaying BUFFER.
52283633 7098 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7099
10b0f752
MB
71002000-08-01 Miles Bader <miles@gnu.org>
7101
7102 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7103 when to constrain NEW_POS (they were pretty screwed up before).
7104
16425c4a
EZ
71052000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7106
7107 * msdos.c (run_msdos_command): Save and restore the master
7108 environment, for the case that child_setup signals an error.
7109 When mirroring slashes in DOS shell commands, don't fail when
7110 argv[2] has embedded blanks.
da288c14
EZ
7111 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7112 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7113 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7114
7115 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7116 using alloca; free it after run_msdos_command returns.
7117
27f73852
DL
71182000-07-27 Dave Love <fx@gnu.org>
7119
52283633
SM
7120 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7121 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7122
7123 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7124
c0261b5e
EZ
71252000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7126
7127 * editfns.c (lisp_time_argument): Fix last change.
7128
b548072f
GM
71292000-07-27 Gerd Moellmann <gerd@gnu.org>
7130
3ab82477
GM
7131 * fns.c (Fdelete): Make it work on vectors and strings in addition
7132 to lists.
7133
b548072f
GM
7134 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7135 (syms_of_fns): Initialize new variables.
52283633 7136 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7137 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7138 weakness, with t meaning the same as `key-and-value'.
7139
91ae8751
KH
71402000-07-27 Kenichi Handa <handa@etl.go.jp>
7141
7142 * coding.h (struct coding_system): Member safe_charset deleted.
7143
7144 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7145 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7146 New variables.
91ae8751
KH
7147 (coding_safe_chars): New function.
7148 (CODING_SAFE_CHAR_P): New macro.
7149 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7150 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7151 (detect_coding_iso2022): New local variable safe_chars.
7152 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7153 safe_charsets member of the coding system.
7154 (decode_coding_iso2022): New local variable safe_chars.
7155 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7156 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7157 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7158 (ENCODE_UNSAFE_CHARACTER): New macro.
7159 (encode_coding_iso2022): New local variable safe_chars. Check
7160 unsafe chars.
7161 (setup_coding_system): Delete the code to initialize
7162 coding->safe_charses
7163 (intersection, find_safe_codings): New functions.
7164 (Ffind_coding_systems_region_internal): New function.
7165 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7166 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7167 variable and initialize it.
7168
7169 * fns.c (char_table_ref_and_index): New function.
7170
7171 * lisp.h (char_table_ref_and_index): Add prototype.
7172
34a7a267
SS
71732000-07-26 Sam Steingold <sds@gnu.org>
7174
7175 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7176 (Ffloat_time): New built-in Lisp function.
34a7a267 7177
a95cb10a
GM
71782000-07-26 Gerd Moellmann <gerd@gnu.org>
7179
3353ef5a
GM
7180 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7181 for the character code.
7182
7183 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7184 GNU/Linux.
7185
a95cb10a
GM
7186 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7187 if called for a popup menu.
7188 (xmenu_show): Store help string in widget values.
7189
b4a12321
DL
71902000-07-26 Dave Love <fx@gnu.org>
7191
7192 * syswait.h: Move some definitions.
7193 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7194 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7195 perspicuous definitions.
7196 (WTERMSIG): Fix bit pattern used.
7197
13f5ad37
KH
71982000-07-26 Kenichi Handa <handa@etl.go.jp>
7199
7200 * print.c (print_object): If vector printing is truncated, print
7201 "..." to indicate it as well as the case of list printing.
7202
070fe99c
GM
72032000-07-25 Gerd Moellmann <gerd@gnu.org>
7204
969065c3
GM
7205 * xdisp.c (next_element_from_display_vector): Improve comments.
7206
7207 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7208 for the character code, and the rest for the face id as in 20.x.
7209 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7210
7211 * window.c (window_display_table): Cleaned up.
7212
070fe99c
GM
7213 * syntax.c (Fforward_word): Add last arg nil in call of
7214 Fconstrain_to_field.
7215
bad77ef7
EZ
72162000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7217
969065c3 7218 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7219 identical but for the letter-case, don't call
7220 barf_or_query_if_file_exists.
bad77ef7 7221
c28da489
MB
72222000-07-25 Miles Bader <miles@gnu.org>
7223
7224 * editfns.c (find_field): Honor special `boundary' fields.
7225 (Qboundary): New variables.
7226 (syms_of_editfns): Initialize Qboundary.
7227 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7228 Use scan_buffer instead of find_before_next_newline, because it
7229 allows us to detect the boundary case where there's a newline at
7230 the search limit.
7231 * lisp.h (Fconstrain_to_field): Update external declaration.
7232
e3c31fd5
GM
72332000-07-24 Gerd Moellmann <gerd@gnu.org>
7234
7235 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7236 if that is nil.
c28da489 7237
c66c29a2
DL
72382000-07-24 Dave Love <fx@gnu.org>
7239
7240 * s/sunos4-0.h, s/sol2.h:
7241 (LIBS_TERMCAP): Move from m/sparc.h.
7242
7243 * m/sparc.h (TERMINFO): Moved to system files (probably only
7244 relevant for sunos4 judging by its vintage).
7245 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7246 __arch64__.
7247
fbe0a958
EZ
72482000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7249
7250 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7251 name to single_keymap_panes.
7252
7d88e5c9
AS
72532000-07-24 Andreas Schwab <schwab@suse.de>
7254
7255 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7256
e024b101
GM
72572000-07-24 Gerd Moellmann <gerd@gnu.org>
7258
7259 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7260 parameters instead of using int parameters. Expect FN to accept
7261 EMACS_INT parameters.
7262 (display_echo_area, resize_echo_area_axactly, current_message)
7263 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7264 with new argument list.
7265 (resize_mini_window_1): New callback function.
7266 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7267 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7268
25c1a9ce
KH
72692000-07-24 Kenichi Handa <handa@etl.go.jp>
7270
7271 * fontset.c (fontset_ref): Remove INLINE declaration.
7272 (fontset_ref_via_base): Likewise.
7273 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7274 to downcase.
7275
7f987ac0
EZ
72762000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7277
7278 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7279 correct order of priority. If help echo was found in an overlay,
7280 use that overlay as the object in which the help echo was found.
7281
e2db3069
MB
72822000-07-22 Miles Bader <miles@gnu.org>
7283
7284 * textprop.c (Fprevious_single_char_property_change): The initial
7285 property value should be from the position preceding POSITION, not
7286 following it.
7287
5e3203e4
EZ
72882000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7289
7290 * coding.c (syms_of_coding): Doc fix for
7291 inhibit-iso-escape-detection.
7292
62145073
GM
72932000-07-21 Gerd Moellmann <gerd@gnu.org>
7294
c20aeb83
GM
7295 * xterm.c (note_mouse_highlight): Process overlays in the right
7296 order of priority.
34a7a267 7297
743934db
GM
7298 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7299
7300 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7301 overlay, use that overlay as the object in which the help was found.
743934db 7302
d1dc7e43 7303 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7304
62145073
GM
7305 * window.c (foreach_window): Instead of a fake variable argument
7306 list, take one USER_DATA argument.
7307 (foreach_window_1): Likewise, and call callback functions with two
7308 args, the window and USER_DATA.
7309 (struct check_window_data): New struct.
7310 (check_window_containing): Use it.
7311 (window_from_coordinates): Set up a struct check_window_data for
7312 foreach_window.
7313 (add_window_to_list, freeze_window_start): Change parameters
7314 according to new calling convention.
7315
7316 * window.h (foreach_window): Change prototype.
7317
7318 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7319
73202000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7321
7322 * xmenu.c (menu_help_callback): Call show_help_echo with
7323 additional arguments OBJECT and POS.
7324
11270583
KH
73252000-07-21 Kenichi Handa <handa@etl.go.jp>
7326
07b14857
KH
7327 * data.c (Faset): Allow storing any multibyte character in a
7328 string. Convert unibyte string to multibyte if necessary.
7329
11270583
KH
7330 * xfns.c (x_encode_text): New function.
7331 (x_set_name): Use x_encode_text.
7332 (x_set_title): Likewise.
7333
7334 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7335
7336 * xterm.h (x_encode_text): Add prototype.
7337
bc75b4fd
DL
73382000-07-20 Dave Love <fx@gnu.org>
7339
7340 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7341 xfree, not free.
7342
48c14970
EZ
73432000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7344
7345 * msdos.c (help_echo_window): New variable.
7346 (syms_of_msdos): Initialize and staticpro it.
7347 (IT_note_mode_line_highlight): Set help_echo_window.
7348 (IT_note_mouse_highlight): Ditto.
7349 (dos_rawgetc): Store help_echo_window in the second event produced
7350 for HELP_EVENTs.
7351
7352 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7353 Record the object that generated the help echo and the position of
7354 that object in help_echo_object and help_echo_pos. Record that
7355 some glyphs in a row are displayed in mouse-face.
7356 (IT_update_begin): Don't clear mouse highlight unless one of the
7357 enabled glyph rows is marked as being displayed in mouse-face.
7358 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7359 and position recorded in help_echo_object and help_echo_pos to the
7360 event queue.
7361 (IT_menu_display): Accept a new argument PN: the pane number of
7362 the current menu pane. Record the pane number and the item
7363 number of the item which has associated help string.
7364 (XMenuActivate): Update the prototype for help_callback in
7365 function declaration. Call IT_menu_display with the current menu
7366 pane number as an additional argument. Call help_callback with
7367 two additional arguments: the pane number and the item number of
7368 the menu item associated with the help text.
7369 (help_echo_object, help_echo_pos): New variables.
7370 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7371
7372 * msdos.h (XMenuActivate): Update prototype.
7373
4279296d
GM
73742000-07-19 Gerd Moellmann <gerd@gnu.org>
7375
47db06aa
GM
7376 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7377 Add some more prototypes.
7378
7379 * xterm.c, xterm.h: Add some more prototypes.
7380
7381 * lisp.h (Fnext_single_char_property_change): Add prototype.
7382
7383 * dispnew.c (direct_output_for_insert): Remove confusing
7384 outer local variable mouse_face_overwritten_p.
7385 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7386
4279296d
GM
7387 * alloc.c (allocate_string_data): Don't copy old string contents.
7388
670acd62
KH
73892000-07-19 Kenichi Handa <handa@etl.go.jp>
7390
7391 * coding.c (code_convert_region): Delete text properties before
7392 shrinking the conversion region.
7393
7cea38bc
GM
73942000-07-18 Gerd Moellmann <gerd@gnu.org>
7395
dc1cac59
GM
7396 * dispnew.c (update_text_area): Write the whole row if it
7397 has mouse-face in it.
7398
85a8aca9
GM
7399 * xfaces.c (face-alternative-font-family-alist): Remove
7400 DEFVAR_LISP; staticpro instead.
7401
34a7a267 7402 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7403 new arguments.
7404
7405 * keyboard.c (show_help_echo): Add parameter WINDOW.
7406 (read_char): Call show_help_echo with window extracted from Lisp
7407 help event.
7408 (gen_help_event): Add parameter WINDOW.
7409
7410 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7411
7412 * xterm.c (help_echo_window): New variable.
52283633 7413 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7414 (XTread_socket): Pass help_echo_window to gen_help_event.
7415 (syms_of_xterm): Initialize and staticpro help_echo_window.
7416
f8276b77
DL
74172000-07-18 Dave Love <fx@gnu.org>
7418
52283633 7419 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7420
088831a6
GM
74212000-07-18 Gerd Moellmann <gerd@gnu.org>
7422
3d6cd763
GM
7423 * alloc.c (allocate_string_data): If string had already data
7424 assigned, copy old contents to new string data.
7425
7426 * coding.c (syms_of_coding): Fix typo in spelling of variable
7427 `inhibit-iso-escape-detection'.
7428
088831a6
GM
7429 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7430
7431 * Makefile.in: Add dependencies on dispextern.h.
7432 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7433 `free'; both can conflict with system header files.
7434
bc8a8d55
KH
74352000-07-18 Kenichi Handa <handa@etl.go.jp>
7436
7437 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7438 undefined.
7439
069f5950
DL
74402000-07-18 Dave Love <fx@gnu.org>
7441
7442 * window.c (Fwindow_list): Declare arg `window'.
7443
aa96c820
KH
74442000-07-18 Kenichi Handa <handa@etl.go.jp>
7445
7446 * coding.c (setup_coding_system): Don't override the explicitly
7447 specified designations.
7448
06be8d32
MB
74492000-07-15 Miles Bader <miles@gnu.org>
7450
7451 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7452 from `text_property_eq' and `text_property_stickiness', respectively.
7453 (find_field, Fconstrain_to_field, char_property_eq)
7454 (char_property_stickiness): Changed to call char-property functions
7455 instead of text-property-only ones.
7456
7457 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7458 `next_single_char_property_change'). Do more error checking, and
7459 cleanup limit behavior.
7460 (Fprevious_single_char_property_change): New function.
7461 (syms_of_textprop): Initialize new subrs.
7462
7463 * xdisp.c (display_prop_end, invisible_text_between_p):
7464 Call Fnext_single_char_property_change instead of
7465 next_single_char_property_change.
7466
3fddcdc3
JR
74672000-07-15 Jason Rumney <jasonr@gnu.org>
7468
7469 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7470 after menu is finished with.
7471 (add_menu_item): Only consider wv->title as a menu title.
7472 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7473
7474 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7475 null title.
7476 (FONT_REGEXP): Remove unused macro, and its sub-components.
7477 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7478
7479 * w32term.c (help_echo_object, help_echo_pos): New variables.
7480 (note_mode_line_highlight): Store additional information about the
7481 help-echo in help_echo_object and help_echo_pos. Check both
7482 `local-map' and `keymap' properties for changing the cursor
7483 (note_mouse_highlight): Store additional information about the
7484 help-echo in help_echo_object and help_echo_pos.
7485 (note_tool_bar_highlight): Set help_echo_object to nil and
7486 help_echo_pos to -1.
7487 (w32_read_socket): Use gen_help_event instead of filling
7488 input_events manually.
7489 (syms_of_w32term): Staticpro help_echo_object.
7490 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7491 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7492 (x_clear_mouse_face): New function.
7493 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7494 (x_update_window_begin): No need to turn off the mouse
7495 highlight here.
7496 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7497 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7498 (x_fill_stretch_glyph_string): Consume runs of stretch
7499 glyphs instead of a single one.
7500 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7501 with new argument list.
7502 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7503 (x_append_glyph, x_append_composite_glyph)
7504 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7505 changes in struct glyph starting 1999-12-27. See comments for
7506 xterm.c on 2000-07-05.
7507
178c5d9c
SS
75082000-07-14 Sam Steingold <sds@gnu.org>
7509
7510 * xfaces.c (realize_x_face): Fix the last patch:
7511 check `default_face' before dereferencing.
7512
6fe533f6
DL
75132000-07-14 Dave Love <fx@gnu.org>
7514
069f5950 7515 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7516
dd7b81cf
KH
75172000-07-14 Kenichi Handa <handa@etl.go.jp>
7518
0693904a 7519 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7520 default_face's fontset, not using the default fontset.
0693904a 7521
dd7b81cf
KH
7522 * coding.c (inhibit_iso_escape_detection): New variable.
7523 (syms_of_coding): Make it a Lisp variable.
7524 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7525 nonzero, ignore ISO2022's escape sequence.
7526
d5aa31d8
GM
75272000-07-14 Gerd Moellmann <gerd@gnu.org>
7528
e5acf0ca
GM
7529 * alloca.c (malloc) [emacs]: Define as xmalloc.
7530
bd23a692
GM
7531 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7532 use that instead of the mouse position. Add parameters DX and DY.
7533
7534 * dispextern.h (Fx_show_tip): Adjust number of parameters
7535 in prototype.
7536
9662da0b
GM
7537 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7538 if HELP is a function, call it with OBJECT and POS as parameters
7539 to get the help to display.
7540 (gen_help_event, kbd_buffer_store_help_event): New functions.
7541 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7542 (read_char): Call show_help_echo with new parameters.
7543
178c5d9c 7544 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7545 Add prototypes.
7546
7547 * xterm.c (help_echo_object, help_echo_pos): New variables.
7548 (note_mode_line_highlight): Store additional information about the
7549 help-echo in help_echo_object and help_echo_pos. Check both
7550 `local-map' and `keymap' properties for changing the cursor
7551 (note_mouse_highlight): Store additional information about the
7552 help-echo in help_echo_object and help_echo_pos.
7553 (note_tool_bar_highlight): Set help_echo_object to nil and
7554 help_echo_pos to -1.
7555 (XTread_socket): Use gen_help_event instead of filling
7556 input_events manually.
7557 (syms_of_xterm): Staticpro help_echo_object.
7558
7559 * xmenu.c (menu_highlight_callback): Use
7560 kbd_buffer_store_help_event instead of setting up and input_event
7561 structure manually.
7562
7563 * xdisp.c (eval_form): GCPRO argument sexpr.
7564 (call_function): New function.
7565 (handle_single_display_prop): Use call_function and FUNCTIONP
7566 instead of checking whether if font_height is a symbol and
7567 using eval_form.
7568
7569 * eval.c (internal_condition_case_2): New function.
7570
7571 * lisp.h (FUNCTIONP): New macro.
7572 (internal_condition_case_2, call_function): Add prototypes.
7573
d5aa31d8
GM
7574 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7575 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7576 Always set `arg' member of input_events.
7577 (construct_menu_click): Unused function removed.
7578
7579 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7580
7581 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7582 (construct_drag_n_drop, x_scroll_bar_handle_click)
7583 (w32_read_socket): Always set `arg' member of input_events.
7584
7585 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7586
7587 * lisp.h (eval_form): Add prototype.
7588
7589 * xdisp.c (eval_form): Make it externally visible.
7590
0f1a9b23
GM
75912000-07-13 Gerd Moellmann <gerd@gnu.org>
7592
7593 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7594 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7595 consing. For prefix events, store the frame in the `arg' slot of
7596 the event, otherwise store the key there.
7597 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7598 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7599
7600 * xmenu.c (menu_highlight_callback): Store help string in the
7601 `arg' member of the input event; don't cons.
7602 (menubar_selection_callback): Use the `arg' slot of input events
7603 to queue additional information, instead of consing.
7604
7605 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7606
7607 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7608 TOOL_BAR_EVENTs.
7609 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7610
7611 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7612 input events to queue additional information, instead of consing.
7613
7614 * keyboard.c (kbd_buffer_gcpro): Renamed from
7615 kbd_buffer_frame_or_window. Now used for all Lisp objects
7616 referenced from the input queue.
7617 (kbd_buffer_store_event): Always use structure assignment for
7618 copying input events. Record all Lisp objects referenced from
7619 events in kbd_buffer_gcpro.
7620 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7621 differently from input events. Test for prefix menu_bar_events
7622 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7623 event in kbd_buffer_gcpro to nil.
7624 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7625 frame_or_window is equal to its arg member as prefix events.
7626 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7627 used by an input event to nil.
7628 (init_keyboard): Use two times the size of the input queue
7629 for kbd_buffer_gcpro.
7630 (syms_of_keyboard): Likewise.
7631
52283633
SM
7632 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7633 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7634
7635 * termhooks.h (struct input_event): Add member `arg'.
7636 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7637 (USER_SIGNAL_EVENT): Renamed from user_signal.
7638
7639 * xfaces.c (ASET): Remove definition.
7640
7641 * lisp.h (AREF, ASET, ASIZE): New macros.
7642
7643 * fontset.c (AREF, ASIZE): Remove definitions.
7644
7645 * fns.c (AREF): Remove definition.
178c5d9c 7646
0f1a9b23
GM
7647 * composite.c (AREF): Remove definition.
7648
712eaef2
GM
76492000-07-12 Gerd Moellmann <gerd@gnu.org>
7650
d8ee7803
GM
7651 * dispnew.c (redraw_overlapped_rows): Add missing local.
7652 (scrolling_window): Remove debug code.
7653
712eaef2
GM
7654 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7655 Before scrolling, turn off a mouse-highlight in the window
7656 being scrolled.
7657
7658 * xterm.c (x_update_window_end): Add parameter
7659 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7660 redisplay in XTframe_up_to_date.
7661 (x_clear_mouse_face): New function.
7662 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7663
7664 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7665 current glyph row.
7666 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7667 it when any row is written to that contains glyphs highlighted in
7668 mouse-face.
7669 (update_window): Call the window update end hook with new
7670 parameter MOUSE_FACE_OVERWRITTEN_P.
7671 (direct_output_for_insert): Give up if row contains mouse-face.
7672
7673 * dispextern.h (struct redisplay_interface): Add parameter
7674 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7675 (clear_mouse_face): New function pointer member.
7676
02010917
SM
76772000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7678
7679 * syntax.c (back_comment): Use one switch rather than a few `if's.
7680 Obey open_paren_in_column_0_is_defun_start.
7681 When reverting to the `slow' method, try to nicely handle the case
7682 of nested comments by checking that the comment-starter we found
7683 does indeed match the comment-ender.
7684 (scan_sexps_forward, scan_sexps_forward):
7685 Ignore excessive opening parenthesis rather than throwing an error.
7686
d76c03ea
GM
76872000-07-11 Gerd Moellmann <gerd@gnu.org>
7688
7689 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7690 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7691
7692 * dispnew.c (direct_output_forward_char): Give up if currently
7693 displaying a message instead of the minibuffer contents.
7694
7695 * xterm.c (x_update_window_begin): No need to turn off the mouse
7696 highlight here.
7697 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7698 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7699
7700 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7701 compare the mouse_face_p flags of both rows.
7702
7703 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7704
d55ead18
EZ
77052000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7706
7707 * keyboard.c (show_help_echo): Accept additional parameter
7708 ok_to_overwrite_keystroke_echo.
7709 (read_char): Call show_help_echo with a zero
7710 ok_to_overwrite_keystroke_echo argument.
52283633 7711 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7712 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7713 ok_to_overwrite_keystroke_echo argument.
7714 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7715 non-zero ok_to_overwrite_keystroke_echo argument.
7716
df75b1a3
GM
77172000-07-10 Gerd Moellmann <gerd@gnu.org>
7718
4b92c49a
GM
7719 * xdisp.c (try_window_id): If changes are all below what is
7720 displayed in the window, and point is in the window, we still
7721 might have to find point on the display.
7722
7723 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7724 glyphs instead of a single one.
7725 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7726 with new argument list.
7727 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7728
df75b1a3
GM
7729 * keymap.c (get_keymap_1): Add comment that this function can GC.
7730 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7731 comment that functions can GC.
7732 (Fset_keymap_parent): GCPRO arg KEYMAP.
7733
4314cf3e
EZ
77342000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7735
7736 * msdos.c (XMenuActivate): After exiting the menu, restore the
7737 echo area message and erase it.
7738
ab49ce15
KH
77392000-07-10 Kenichi Handa <handa@etl.go.jp>
7740
7741 * fontset.c (Ffontset_info): Make the return value more compatible
7742 with that of Emacs 20.
7743
090a072f
GM
77442000-07-07 Gerd Moellmann <gerd@gnu.org>
7745
7746 * eval.c (Fsignal): Handle case that backtrace_list is null.
7747
f92de4a6
KH
77482000-07-07 Kenichi Handa <handa@etl.go.jp>
7749
7750 * ccl.c (Fccl_execute): Typo fixed.
7751
dd8888a1
GM
77522000-07-06 Gerd Moellmann <gerd@gnu.org>
7753
e5c81191 7754 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7755
dd8888a1
GM
7756 * window.c (Fwindow_list): Reverse list at the end.
7757 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7758 means allow windows on OWINDOW's frame, only.
7759 (window_loop): Simplified; use Fwindow_list.
7760
7761 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7762
485266d0
GM
77632000-07-05 Gerd Moellmann <gerd@gnu.org>
7764
7765 * xterm.c (XTread_socket): Increment handling_signal at the start,
7766 decrement it at the end.
7767
7768 * eval.c (handling_signal): New variable.
7769 (Fsignal): Abort if handling_signal is non-zero.
7770
7771 * lisp.h (handling_signal): External declaration.
178c5d9c 7772
485266d0
GM
7773 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7774
80fcd514
KR
77752000-07-05 Ken Raeburn <raeburn@gnu.org>
7776
7777 Sound support for NetBSD through "Linux emulation" support:
7778 * config.in (HAVE_SOUNDCARD_H): Undef.
7779 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7780 * Makefile.in (LIBSOUND): New variable.
7781 (LIBES): Include it.
52283633
SM
7782 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7783 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7784 (vox_open): Use DEFAULT_SOUND_DEVICE.
7785 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7786
d5c5cddd
GM
77872000-07-05 Gerd Moellmann <gerd@gnu.org>
7788
7789 * print.c (print_error_message): If Vsignaling_function is set,
7790 show it in *Messages*.
7791
7792 * lisp.h (Vsignaling_function): External declaration.
7793
7794 * eval.c (Vsignaling_function): New variable.
7795 (Fsignal): Compute it.
7796 (syms_of_eval): Staticpro it.
7797
65171e3a
DL
77982000-07-05 Dave Love <fx@gnu.org>
7799
7800 * syswait.h: Use the autoconf recommended approach. Old code
7801 #if'd out in case we need to revert.
7802
178c5d9c 7803 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7804
e2c46326
AI
78052000-07-05 Andrew Innes <andrewi@gnu.org>
7806
7807 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7808 when non-NULL instead of __morecore, to take account of buffer
7809 memory. This also solves a problem with spurious memory warnings
7810 on Windows.
7811
7812 * ralloc.c: Make real_morecore non-static.
7813
7814 * eval.c (internal_condition_case): Comment out abort if
7815 interrupt_input_blocked is not zero.
7816
7817 * makefile.nt: Add support for `bootstrap' and related targets.
7818 Include minimal debug info in emacs.exe in release build.
7819 Remove all dependencies on lisp.h, and fixup some others.
7820
7821 * w32.c (init_environment): Install code from 20.7 for providing
7822 default values for environment variables, based on the
7823 executable's own location.
52283633 7824 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7825 (sys_socket): Install socket inheritance bug fix from 20.7.
7826
7827 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7828 here via blockinput.h).
7829
a027a91b
SM
78302000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7831
e4b31601
SM
7832 * w32menu.c (w32_menu_display_help):
7833 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7834
7835 * keyboard.h (show_help_echo): Declare.
7836
7837 * keyboard.c (show_help_echo): New function, extracted from read_char.
7838 Feval its `msg' argument if it's a cons cell.
7839 (read_char): Use it.
4cf8d9d5 7840 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7841
178c5d9c 7842 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7843 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7844 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7845 (dos_rawgetc):
7846 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7847 (note_tool_bar_highlight, w32_read_socket):
7848 Do not gratuitously ignore non-string `help-echo' properties.
7849
88d75730
GM
78502000-07-05 Gerd Moellmann <gerd@gnu.org>
7851
969f7e79
GM
7852 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7853
71201b00
GM
7854 * window.c (delete_all_subwindows): Reset Vwindow_list.
7855
88d75730
GM
7856 * xterm.c (x_append_glyph, x_append_composite_glyph)
7857 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7858 changes in struct glyph starting 1999-12-27. Some bit-fields of
7859 struct glyph were not set, which made glyphs unequal when compared
7860 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7861 effects were the result. This also depended on the contents of
7862 memory returned by xmalloc. If flickering happens again, activate
7863 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7864 gone with that, chances are that it is caused by something similar.
88d75730
GM
7865
7866 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7867
88d75730
GM
7868 * dispextern.h: Add some comments.
7869
7870 * window.c (add_window_to_list): Add parameter LIST.
7871 (window_list): Order list so that, for each frame, windows are
7872 in canonical order, and so that frames appear in the list in
7873 the order given by Vframe_list.
7874 (next_window): Reverse the handling of NEXT_P.
7875
53654733
GM
78762000-07-04 Gerd Moellmann <gerd@gnu.org>
7877
87efd256
GM
7878 * window.c (Vwindow_list): New variable.
7879 (make_window, delete_window): Set Vwindow_list to nil.
7880 (check_window_containing): New function.
7881 (window_from_coordinates): Rewritten.
7882 (add_window_to_list, window_list, candidate_window_p)
7883 (decode_next_window_args, next_window): New functions.
52283633 7884 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7885 (Fwindow_list): New function.
7886 (Fother_window): Cleaned up.
7887 (foreach_window): Add a longer "variable argument list". Let
7888 callback function return 0 to indicate that cycling over windows
7889 should stop.
7890 (foreach_window_1): Likewise.
7891 (freeze_window_start): Return int.
7892 (init_window): New function.
7893 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7894
7895 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7896 input_event with bzero.
7897 (main): Call init_window.
7898
53654733
GM
7899 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7900 a menu filter.
7901
4a8c194f
KH
79022000-07-04 Kenichi Handa <handa@etl.go.jp>
7903
7904 * composite.h (make_composition_value_copy): Extern it.
7905
7906 * composite.c (make_composition_value_copy): New function.
7907
7908 * editfns.c (Fformat): While copying text properties, make each
7909 composition property value a copy.
7910
7911 * fns.c (concat): While copying text properties, make each
7912 composition property value a copy.
7913
831a6cb0
GM
79142000-07-03 Gerd Moellmann <gerd@gnu.org>
7915
2f516940
GM
7916 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7917
178c5d9c 7918 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7919 marked already.
7920
831a6cb0
GM
7921 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7922 include those frames as candidates which have their focus
7923 redirected to the minibuffer frame.
7924
d9c4f922
SM
79252000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7926
7927 * fns.c (Fputhash): Return `value' rather than nil.
7928
3780bc22
GM
79292000-06-30 Gerd Moellmann <gerd@gnu.org>
7930
97d176db
GM
7931 * frame.c (next_frame): Don't check focus redirection in case
7932 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7933 unless their focus is redirected, which contradicts the
7934 specification of next-frame, and leads to infinite loops in
7935 certain situations when cycling through windows with next-window.
7936
dca9961d
KH
79372000-06-30 Kenichi Handa <handa@etl.go.jp>
7938
7939 * coding.c (code_convert_region): Even if the length of text is
7940 zero, try to convert it if coding->type is coding_type_ccl.
7941 (decode_coding_string, encode_coding_string): Likewise.
7942
d5483ab1
GM
79432000-06-28 Gerd Moellmann <gerd@gnu.org>
7944
af5c25e1 7945 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7946 the display if windows_or_buffers_changed.
af5c25e1
GM
7947
7948 * dispnew.c (struct row_entry): New structure.
7949 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7950 (row_table_size, old_lines, new_lines, old_lines_size)
7951 (new_lines_size, run_pool, runs_size, runs): New variables.
7952 (add_row_entry): New function.
7953 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7954 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7955 holding them in local variables. Use a larger hash table whose
7956 size depends on glyph matrix sizes. Don't use bzero to clear the
7957 hash table; instead, clear used slots only.
7958
7959 * fns.c (next_almost_prime): Make it externally visible.
7960
7961 * lisp.h (next_almost_prime): Add prototype.
7962
d5483ab1
GM
7963 * s/isc4-0.h (sigunblock): Define.
7964
7965 * s/sco5.h (sigunblock): Define.
7966
93e40f40
DL
79672000-06-27 Dave Love <fx@gnu.org>
7968
7969 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7970 (moved to osf5-0.h).
7971 [!NOT_C_CODE]: Protect string.h stuff.
7972
7973 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7974 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7975
3c4b7685
GM
79762000-06-27 Gerd Moellmann <gerd@gnu.org>
7977
97d176db 7978 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7979 below the last line from the needed window height.
7980
32cad0aa
SM
79812000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7982
7983 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7984 (Fwidget_get): Use it.
7985 (syms_of_fns): Defsubr it.
7986
2c69ced2
GM
79872000-06-26 Gerd Moellmann <gerd@gnu.org>
7988
178c5d9c 7989 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7990 display info for XIM.
7991 (xim_open_dpy): Likewise.
7992 (xim_close_dpy): Don't free the display info's XIM.
7993
7994 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7995
7996 * config.in (USE_XIM): New define.
7997
3fc720e4
GM
7998 * keymap.c (get_keyelt): For menu-items containing a `:filter
7999 FILTER', apply FILTER to the menu-item's definition to get the
8000 real definition to use.
8001
8002 * lisp.h (QCfilter): External declaration.
8003
2c69ced2
GM
8004 * xfns.c (Fimage_size): New function.
8005 (syms_of_xfns): Defsubr it.
8006
f978b2a2
AS
80072000-06-26 Andreas Schwab <schwab@suse.de>
8008
8009 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8010 Fstring_as_unibyte.
8011
94cc7892
DL
80122000-06-25 Dave Love <fx@gnu.org>
8013
52283633 8014 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8015
8016 * Makefile.in (blockinput.h): Depend on atimer.h.
8017 (atimer.h): Depend on systime.h.
8018
52283633 8019 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8020
52283633 8021 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8022
8023 * lisp.h (swap_in_global_binding): Declare.
8024
b8c24556
KR
80252000-06-24 Ken Raeburn <raeburn@gnu.org>
8026
8027 * process.c (Fopen_network_stream): Turn off atimers for duration
8028 of call to connect. (Patch from Gerd.)
8029
8cf8560b
DL
80302000-06-23 Dave Love <fx@gnu.org>
8031
511c7541
DL
8032 * ralloc.c: Maybe include unistd.h
8033
8cf8560b
DL
8034 * emacs.c (setgrp): Undefine before defining.
8035 (malloc_warning, set_time_zone_rule, index): Prototype.
8036
8037 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8038 HAVE_STRUCT_TIMEZONE.
8039
8040 * s/osf1.h: Move string.h hack here from alpha.h and make it
8041 conditional.
8042 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8043 _XOPEN_SOURCE.
8044 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8045 (SOCKLEN_TYPE): Don't define.
8046
8047 * m/alpha.h: Remove string.h hack.
8048
8049 * s/osf5-0.h: New file.
8050
8051 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8052 include time.h, done by systime.h.
8053 [__FreeBSD__]: Remove redundant includes.
8054
3fc720e4 8055 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8056 (delete_temp_file): Return Qnil to avoid warning.
8057
8058 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8059
8060 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8061 HAVE_X_WINDOWS.
8062
8063 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8064
8065 * composite.h (compose_text): Declare.
8066
8067 * xterm.c: Don't include sys/types.h unconditionally. Don't
8068 protect its inclusion with !USG (following xmenu.c).
8069
ea055732
GM
80702000-06-23 Gerd Moellmann <gerd@gnu.org>
8071
8072 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8073 in x_create_frame.
8074
74b01b80
EZ
80752000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8076
8077 * coding.c (decode_eol_post_ccl): Special handling for undecided
8078 and inconsistent EOL types.
8079
64f3a166
GM
80802000-06-22 Gerd Moellmann <gerd@gnu.org>
8081
16cf31f7
GM
8082 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8083 trough color and main window's background color.
8084
52283633 8085 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8086
8087 * xterm.h (Xt_app_con): External declaration.
8088
8089 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8090
486a103d
GM
8091 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8092
64f3a166
GM
8093 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8094 (handle_invisible_prop): Record the start of invisible text in
8095 it->add_overlay_start.
8096 (struct overlay_entry): Add member `overlay'.
8097 (handle_overlay_change): Simplify.
8098 (next_overlay_string): After having processed overlay strings at the
8099 end of the buffer, record that fact in
8100 it->overlay_strings_at_end_processed_p.
8101 (compare_overlay_entries): If before- and after-strings come
8102 from the same overlay, let before-strings come first.
8103 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8104 (load_overlay_strings): Take it->add_overlay_start into account
8105 when adding overlay strings.
8106
8107 * dispextern.h (struct it): Add member add_overlay_start.
8108
bb746ea6
DL
81092000-06-22 Dave Love <fx@gnu.org>
8110
8111 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8112
8113 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8114
a8f573f3
KH
81152000-06-22 Kenichi Handa <handa@etl.go.jp>
8116
8117 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8118 is greater than 0.
8119
9f2bbc92
DL
81202000-06-21 Dave Love <fx@gnu.org>
8121
178c5d9c 8122 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8123
3ee5041c
SM
81242000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8125
8126 * syntax.c (back_comment): Simplify string-parity counting (with
8127 the added benefit of handling multiple string-styles as long as
8128 they are not intertwined).
8129 Jump to the slow code as soon as a comment starter is found in
8130 a "string_lossage" position. Fixes the case: " /* " /* " */.
8131
4c343001
DL
81322000-06-21 Dave Love <fx@gnu.org>
8133
8134 * Makefile.in: Use GETLOADAVG_LIBS.
8135
8136 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8137 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8138
e6365855
SM
81392000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8140
8141 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8142 (Fforward_comment, scan_lists):
8143 Check the comstyle of single-char comment-starters.
8144 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8145 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8146 Check the comstyle of single-char comment-starters.
8147 Clarify control-flow around the Scomment case.
e6365855 8148
5700d2cc
DL
81492000-06-20 Dave Love <fx@gnu.org>
8150
d355bd8a
SM
8151 * fns.c (make_hash_table, maybe_resize_hash_table):
8152 Cast arg of next_almost_prime.
5700d2cc 8153
178c5d9c 8154 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8155
8156 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8157 and unistd.h.
8158
4a27bdfb
GM
81592000-06-20 Gerd Moellmann <gerd@gnu.org>
8160
a61d762c 8161 * keyboard.c (adjust_point_for_property): Check if display
52283633 8162 property should be treated as intangible by looking at its value.
a61d762c 8163
178c5d9c 8164 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8165 (display_prop_intangible_p): New functions.
8166
8167 * dispextern.h (display_prop_intangible_p): Add prototype.
8168
8169 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8170
4a27bdfb
GM
8171 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8172 argument to sigprocmask.
8173
8174 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8175 argument to sigprocmask.
8176
8177 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8178 sigprocmask_set, and pass a pointer to it to sigprocmask.
8179
8180 * sysdep.c (sigprocmask_set): New variable.
8181
8182 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8183 report_file_error.
8184
427ec082
SS
81852000-06-20 Sam Steingold <sds@gnu.org>
8186
8187 * xrdb.c: Don't declare xmalloc, xrealloc.
8188
8972fe79 81892000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8190
8191 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8192 (re_comp): Cast gettext return value to avoid complaints when
8193 !HAVE_LIBINTL.
8194
074b6efe
DL
81952000-06-20 Dave Love <fx@gnu.org>
8196
52283633 8197 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8198
5700d2cc 8199 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8200
d355bd8a 8201 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8202
8203 * m/alpha.h: Don't declare xmalloc, xrealloc.
8204
0af4f205
DL
8205 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8206
8207 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8208
8209 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8210
8211 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8212 HAVE_GETWD.
8213
074b6efe
DL
8214 * keyboard.h (poll_for_input_1): Declare.
8215
8216 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8217
8218 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8219
8220 * doprnt.c: Don't declare xmalloc, xrealloc.
8221
8222 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8223 (getenv, ctime, getwd): Removed.
8224 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8225
8226 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8227 x_set_tool_bar_lines.
8228
8229 * config.in: Add HAVE_GETWD. Move some definitions above
8230 machine/system includes.
8231
68a5e97b
KH
82322000-06-20 Kenichi Handa <handa@etl.go.jp>
8233
95417e1e
KH
8234 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8235
68a5e97b
KH
8236 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8237 contain information about ENCODING.
8238
8239 * fontset.c (FONTSET_ASCII): Use the first element of char table
8240 for an ASCII font, not defalt slot.
8241 (fontset_ref_via_base): If FONTSET doesn't contain information for
8242 C, try the default fontset.
8243 (make_fontset): Don't copy the default fontset.
8244 (fontset_font_pattern): Likewise.
8245 (accumulate_font_info): If ELT is nil, use the corresponding
8246 element in the default fontset.
8247
3b4fa1b2
DL
82482000-06-19 Dave Love <fx@gnu.org>
8249
943e731c
DL
8250 * syntax.c (Fparse_partial_sexp): Doc fix.
8251
8252 * regex.h: Test PROTOTYPES as well as __STDC__.
8253
3b4fa1b2
DL
8254 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8255 errno, strerror. Put text after #endif in comment.
8256
52283633 8257 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8258
8259 * xterm.c (x_frame_of_widget): Likewise.
8260
cdf0357b
GM
82612000-06-19 Gerd Moellmann <gerd@gnu.org>
8262
8263 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8264 to Vfundamental_mode_abbrev_table.
8265
8266 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8267 bogus objects are marked. This slows down GC by ~80 percent, but
8268 it might be worth trying when debugging GC-related problems.
8269 This feature requires conservative stack marking to be enabled.
8270
8271 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8272 returns XLookupChars, reset `modifiers' to zero.
8273
998e9f8c
DL
82742000-06-19 Dave Love <fx@gnu.org>
8275
8276 * mktime.c: Unprotoized.
8277
18e21ce8 82782000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8279
8280 * data.c (set_internal): If variable is frame-local,
8281 store the new value immediately into the frame parameter alist.
8282
140c4ac6
KR
82832000-06-19 Ken Raeburn <raeburn@gnu.org>
8284
14358466
KR
8285 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8286 in the custom handler pointer.
8287
140c4ac6
KR
8288 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8289 value, or checks for CHAR_META can fail when Lisp_Object is a
8290 union type.
8291 * keymap.c (get_keyelt): Likewise.
8292
10d7bf84
KH
82932000-06-19 Kenichi Handa <handa@etl.go.jp>
8294
8295 * ccl.h (struct ccl_program): New member eol_type.
8296 (struct ccl_spec): New member cr_carryover.
8297
8298 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8299 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8300
8301 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8302 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8303 (decode_eol_post_ccl): New function.
8304 (decode_coding): Don't detect EOL format here for CCL based coding
8305 systems.
8306 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8307 decode_eol_post_ccl after running the CCL program.
8308 (code_convert_region): Don't detect EOL format here for CCL based
8309 coding systems.
8310 (decode_coding_string): Likewise.
8311
52e386c2
KR
83122000-06-18 Ken Raeburn <raeburn@gnu.org>
8313
8314 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8315 when treating it as an integer.
8316
8317 * coding.h (encode_coding_string): Declare.
8318
8319 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8320 it as an integer.
8321
8322 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8323 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8324 to be passed to get_local_map.
8325
8326 * sound.c (Fplay_sound): Don't call make_number on
8327 Frun_hook_with_args count argument.
8328
8329 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8330 for lisp objects in X event structure data field, when lisp
8331 objects are represented with unions.
8332 (x_scroll_bar_to_input_event): Ditto.
8333
b357b9d4
KR
83342000-06-16 Ken Raeburn <raeburn@gnu.org>
8335
8336 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8337 termination of string. Fix sense of test whether
8338 Vline_number_display_limit is an integer.
b357b9d4 8339
a871441d
GM
83402000-06-16 Gerd Moellmann <gerd@gnu.org>
8341
a9021acd
GM
8342 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8343 only if HAVE_X_WINDOWS.
8344
6344985d
GM
8345 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8346 of titles.
8347
427ec082 8348 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8349 out of bounds.
8350
228b083e
EZ
83512000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8352
8353 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8354 of its headers.
8355
c25b53a2
KH
83562000-06-15 Kenichi Handa <handa@etl.go.jp>
8357
8358 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8359 start of the while loop.
8360
a6981b11
GM
83612000-06-15 Gerd Moellmann <gerd@gnu.org>
8362
e9924e52
GM
8363 * atimer.c (alarm_signal_handler): Add forward declaration.
8364
a6981b11
GM
8365 * data.c (set_internal): Remove debug code.
8366
25fa6deb
GM
83672000-06-14 Gerd Moellmann <gerd@gnu.org>
8368
dce6b995
GM
8369 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8370
9f817ea4
GM
8371 * unexec.c (toplevel) [COFF]: Include coff.h.
8372
8373 * s/lynxos.h: New file.
8374
8375 * keymap.c (Fsingle_key_description): Enclose function key and
8376 event symbol names in angle brackets.
8377
8a4e3c0c
GM
8378 * xdisp.c (setup_echo_area_for_printing): Call
8379 message_log_maybe_newline if message_buf_print is not set.
8380
8381 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8382 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8383 function does something useful even when message_buf_print is
8384 already set.
8385
52283633
SM
8386 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8387 New variables.
25fa6deb
GM
8388 (ensure_echo_area_buffers): Initialize echo buffer's
8389 truncate lines setting to nil.
8390 (with_echo_area_buffer): Don't set the echo buffer's truncate
8391 lines setting here.
8a4e3c0c 8392 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8393 of message_truncate_lines.
8394 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8395 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8396 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8397
8398 * keyboard.c (read_char): Bind message-truncate-lines to t
8399 while displaying a help-echo.
8400
8401 * lisp.h (Qmessage_truncate_lines): External declaration.
8402
163dcff3
GM
84032000-06-13 Gerd Moellmann <gerd@gnu.org>
8404
1681ead6
GM
8405 * xdisp.c (Vline_number_display_limit): Renamed from
8406 line_number_display_limit.
8407 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8408 Extend documentation string. Initialize
8409 Vline_number_display_limit to nil meaning no limit.
8410 (decode_mode_spec): Use Vline_number_display_limit with its new
8411 meaning.
8412
163dcff3
GM
8413 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8414
18e21ce8 84152000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8416
8417 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8418
163dcff3
GM
8419 * xfns.c (x_set_frame_parameters): Comment fix.
8420
8421 * frame.c (store_frame_param): Call swap_in_global_binding if the
8422 variable's current binding was chosen based on this frame.
8423
8424 * data.c (swap_in_global_binding): New function.
8425
a704139d
EZ
84262000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8427
8428 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8429 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8430
9b6610db
EZ
84312000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8432
8433 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8434
c68833d2
JR
84352000-06-12 Jason Rumney <jasonr@gnu.org>
8436
8437 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8438
8439 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8440
8441 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8442
8443 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8444
ed1056b3
GM
84452000-06-12 Gerd Moellmann <gerd@gnu.org>
8446
8447 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8448 (syms_of_xfaces): Defsubr Sdump_colors.
8449 (x_free_colors): Don't treat b&w specially on default visual.
8450 (x_free_dpy_colors): New function.
8451 (free_face_colors): Don't check visual class; it's done
8452 in x_free_colors.
8453
8454 * xterm.c (x_frame_of_widget): New function.
8455 (x_alloc_nearest_color_for_widget): Use it.
8456 (x_copy_dpy_color): New function.
8457 (x_destroy_window): Free various colors.
8458
5050a2ef
KH
84592000-06-12 Kenichi Handa <handa@etl.go.jp>
8460
8461 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8462
8463 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8464
8465 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8466
8467 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8468
8469 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8470
fb1b041d
DL
84712000-06-11 Dave Love <fx@gnu.org>
8472
8473 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8474
ff96b5f4
EZ
84752000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8476
8477 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8478
db8eeecd
GM
84792000-06-11 Gerd Moellmann <gerd@gnu.org>
8480
ed1056b3 8481 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8482 to `XEvent *'.
8483
49b71c5f
KH
84842000-06-10 Kenichi Handa <handa@etl.go.jp>
8485
c479bd55
KH
8486 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8487 (regex_compile): Fix the code for handling the case of single byte
8488 char and multibyte char being mixed in a range within [...].
8489
ff6a65c2
KH
8490 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8491 and dst_multibyte members of coding.
8492
49b71c5f
KH
8493 * charset.c (update_charset_table): Update the table
8494 bytes_by_char_head.
8495 (init_charset_once): Initialize elements of bytes_by_char_head to
8496 1 except for leading codes for private charases.
8497
8498 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8499 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8500
9e80b57d
KR
85012000-06-09 Ken Raeburn <raeburn@gnu.org>
8502
8503 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8504 access the data it doesn't point to.
8505
f83fe4b4
GM
85062000-06-08 Gerd Moellmann <gerd@gnu.org>
8507
8508 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8509 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8510 event queue. This is necessary because Emacs otherwise won't
8511 perform a switch-frame to a new frame until some other event, for
8512 example a keystroke event, forces it to do so. This has various
8513 effects, one visible being that the cursor of a frame created with
8514 C-x 5 2 or switched to with a window manager key binding like
8515 A-TAB stays hollow because selected_window isn't on the newly
8516 focused frame until the switch-frame is performed.
8517
8518 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8519 generating a switch-frame event if necessary.
8520
8521 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8522
8523 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8524 it's an integer.
8525
0890801b
KH
85262000-06-08 Kenichi Handa <handa@etl.go.jp>
8527
52283633 8528 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8529
173cbca8
GM
85302000-06-07 Gerd Moellmann <gerd@gnu.org>
8531
3091c2a6
GM
8532 * window.c (displayed_window_lines): Take empty lines at
8533 the bottom of a window into account.
427ec082 8534
f38952fe
GM
8535 * window.c (displayed_window_lines): New function.
8536 (Fmove_to_window_line): Use displayed_window_lines to determine
8537 the number of lines to move, instead of using the window's height.
8538
8539 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8540 to stop reading, even if the form read sets point to a different
8541 value when evaluated.
8542
427ec082 8543 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8544 put the cursor.
8545
6ba6c818
KH
85462000-06-07 Kenichi Handa <handa@etl.go.jp>
8547
8548 * fileio.c (e_write): Free composition data if stored in
8549 coding->cmp_data.
8550
5f1aea9a
GM
85512000-06-06 Gerd Moellmann <gerd@gnu.org>
8552
666852af
GM
8553 * xdisp.c (display_line): Set row's and iterator's
8554 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8555 Set cursor even if row ends in the middle of a character.
8556 (dump_glyph_row): Print values of new flags.
8557 (redisplay_window) <cursor movement in unchanged window>: When
8558 point has been moved forward, and PT is at the end of the cursor
8559 row, don't place the cursor in the next row if the cursor row ends
8560 in the middle of a character or at ZV.
8561
8562 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8563 (struct glyph_row): Add starts_in_middle_of_char_p and
8564 ends_in_middle_of_char_p.
8565 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8566 ends_in_middle_of_char_p flag.
8567 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8568
d13f3e2e
GM
8569 * term.c (append_glyph): Revert change of 2000-06-06.
8570
8571 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8572 padding glyph not fitting on line as whole character not
8573 fitting on line.
8574
5f1aea9a
GM
8575 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8576 this isn't true for images with `:ascent 100'.
8577
10cda9b0
KH
85782000-06-06 Kenichi Handa <handa@etl.go.jp>
8579
ed00559d
KH
8580 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8581 as modified if it is originally unmodified.
8582
10cda9b0
KH
8583 * term.c (encode_terminal_code): Change the way to check if
8584 terminal coding does any conversion.
8585 (append_glyph): Set glyph->pixel_width correctly.
8586
8587 * xdisp.c (display_line): While checking line continuation, pay
8588 attention to a padding glyph.
8589
1969fae2
GM
85902000-06-05 Gerd Moellmann <gerd@gnu.org>
8591
8592 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8593
162ccef4
DL
85942000-06-05 Dave Love <fx@gnu.org>
8595
f19f32dd
DL
8596 * xdisp.c: Include fontset.h.
8597
8598 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8599
8600 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8601
8602 * dispnew.c: Conditionally include term.h.
8603
8604 * coding.h: Declare code_convert_string_norecord.
8605
8606 * frame.h (struct frame): Use volatile unconditionally.
8607
8608 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8609
8610 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8611
8612 * systime.h: Protect against multiple inclusion.
8613 (timezone) [USG5_4]: Define as time_t.
8614
8615 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8616 (Foptimize_char_table, make_temp_name): Declare.
8617
8618 * Makefile.in (xdisp.o): Depend on fontset.h.
8619
8620 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8621
8622 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8623 (Foptimize_char_table, make_temp_name): Declare.
8624
427ec082 8625 * s/irix4-0.h:
162ccef4
DL
8626 * s/irix5-0.h:
8627 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8628
2082fe81
DL
86292000-06-02 Dave Love <fx@gnu.org>
8630
8631 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8632
dcf671d2
GM
86332000-06-02 Gerd Moellmann <gerd@gnu.org>
8634
8635 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8636 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8637 be freed.
8638
8639 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8640 glyph, use the ASCII NUL character to determine the face.
8641
d42122a3
DL
86422000-06-02 Dave Love <fx@gnu.org>
8643
8644 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8645 (VFORK_RETURN_TYPE): Remove.
427ec082 8646
d42122a3
DL
8647 * config.in: Add NO_MATHERR.
8648
dd432f16
DL
86492000-06-01 Dave Love <fx@gnu.org>
8650
90aa4ea8
DL
8651 * cmds.c (internal_self_insert): Don't check
8652 Vbefore_change_function, Vafter_change_function.
8653
8654 * insdel.c (signal_before_change, signal_after_change): Likewise.
8655
8656 * buffer.c (Vbefore_change_function, Vafter_change_function):
8657 Variables and their initializations deleted.
8658
2330c9d4
DL
8659 * callint.c (Fcall_interactively): Doc fix.
8660
dd432f16
DL
8661 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8662
bf9e8804
DL
86632000-05-31 Dave Love <fx@gnu.org>
8664
8665 * textprop.c: Revert last change -- duplicated.
8666
3694b4ab
GM
86672000-05-31 Gerd Moellmann <gerd@gnu.org>
8668
8669 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8670 in #if 0.
8671
8672 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8673
f14156cd
JR
86742000-05-31 Jason Rumney <jasonr@gnu.org>
8675
8119aab8
JR
8676 * search.c (Fre_search_forward, Fre_search_backward)
8677 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8678
f14156cd
JR
8679 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8680
4aab9be3
JR
86812000-05-30 Jason Rumney <jasonr@gnu.org>
8682
8683 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8684 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8685
52283633 8686 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8687
8688 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8689 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8690 expand a nil default_filename.
8691
8692 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8693 pointer to glyph_to_pixel_coords, not a frame.
8694
8695 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8696 coding.h to dependencies.
8697
8698 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8699
8700 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8701 window pointer to be consistent with w32term.c and xterm.c.
8702
8703 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8704 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8705 (Qline_spacing, Qcenter): New variables.
8706 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8707 (x_set_line_spacing): New function.
52283633 8708 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8709 (x_specified_cursor_type): New function.
8710 (x_set_cursor_type): Use it.
8711 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8712 and icon strings.
8713 (validate_x_resource_name, x_get_resource_string): Measure lengths
8714 of external strings in bytes.
8715 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8716 GetTextExtentPoint32 with NULL title.
8717 (Fx_create_frame): Initialize Qline_spacing.
8718 (w32_load_system_font): Initialize font->double_byte_p.
8719 (x_to_w32_charset): Use Vw32_charset_info_alist.
8720 (Image, busy cursor, tooltip functions): Merged changes from
8721 xfns.c. Not yet functional on Windows.
8722
8723 * w32gui.h (W32FontStruct): Add double_byte_p member.
8724
8725 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8726 (emacs_button_translation): Use it.
8727 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8728 in `mask' to be set.
8729
8730 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8731 menu strings.
8732
8733 * w32term.c: Format and doc changes to bring closer to xterm.c.
8734 (w32_char_font_type): New enum.
8735 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8736 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8737 (w32_encode_char): New function.
8738 (x_encode_char): Removed.
8739 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8740 x_encode_char and w32_font_is_double_byte.
8741 (x_produce_image_glyph): Use image_ascent.
8742 (x_produce_glyphs): Use new version of w32_per_char_metric and
8743 handle NULL return value. Allow extra line spacing.
8744 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8745 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8746 w32_font_type member of glyph instead.
8747 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8748 (fast_find_position): Make sure not to consider rows not visible
8749 in the window.
8750 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8751 w32_menu_display_help with input blocked, as it can abort.
8752 (x_display_and_set_cursor): Choose cursor depending
8753 on buffer-local value of cursor_type.
8754 (x_draw_bar_cursor): Add parameter WIDTH.
8755
8756 * w32term.h (CP_DEFAULT): Define.
8757 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8758
10fc3187
GM
87592000-05-30 Gerd Moellmann <gerd@gnu.org>
8760
8761 * search.c (Fre_search_forward, Fre_search_backward)
8762 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8763
d0555360
KH
87642000-05-30 Kenichi Handa <handa@etl.go.jp>
8765
8766 * coding.c (detect_coding_iso2022): Fix code for checking
8767 CODING_CATEGORY_MASK_ISO_8_2.
8768
f1ad044f
SM
87692000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8770
8771 * regex.c (PREFETCH_NOLIMIT): New function.
8772 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8773
84ec3b4b
GM
87742000-05-29 Gerd Moellmann <gerd@gnu.org>
8775
66254a13
GM
8776 * syntax.c (find_defun_start): Move test for
8777 open_paren_in_column_0_is_defun_start outside of the loop.
8778
49e70dec
GM
8779 * xdisp.c (redisplay_window): Really switch buffers when
8780 displaying mode lines, and temporarily set selected_frame to the
8781 frame of the window that's redisplayed.
8782
84ec3b4b
GM
8783 * xfaces.c (free_realized_faces): Block/unblock input.
8784 (free_realized_multibyte_face): Ditto.
8785
869a3a14
DL
87862000-05-29 Dave Love <fx@gnu.org>
8787
8788 * textprop.c (Qkeymap): New variable.
8789 (syms_of_textprop): Intern it.
8790
8791 * keymap.c: Include intervals.h.
8792 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8793
8794 * Makefile.in (keymap.o): Depend on intervals.h.
8795
8796 * keyboard.c (menu_bar_items, tool_bar_items)
8797 (Fexecute_extended_command): Deal with `keymap' property.
8798 (read_key_sequence): Track map from `keymap' property as well as
8799 `local_map'.
8800
8801 * intervals.c (get_local_map): Extra arg to allow looking for
8802 `keymap' too.
8803
8804 * intervals.h (map_property): New enum.
8805 (get_local_map): Extra arg using it.
8806 (Qkeymap): Declare.
8807
84ec3b4b 8808 * lisp.h (get_local_map): Don't declare here.
869a3a14 8809
89d0c844
KH
88102000-05-29 Kenichi Handa <handa@etl.go.jp>
8811
8812 * Makefile.in (callproc.o): Depend on composite.h.
8813
8814 * callproc.c: Include composite.h.
8815 (Fcall_process): Handle composition correctly.
8816
8817 * coding.h (coding_allocate_composition_data): Extern it.
8818 (coding_restore_composition): Likewise.
8819
8820 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8821 yet allocated, finish decoding with result
8822 CODING_FINISH_INSUFFICIENT_CMP.
8823 (coding_allocate_composition_data): Make it non-static.
8824 (coding_restore_composition): Likewise.
8825
797a084a
EZ
88262000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8827
8828 * charset.c (syms_of_charset): Revert last change.
8829
cf872af5
EZ
88302000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8831
8832 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8833 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8834 Handa.
cf872af5 8835
5b1ae051
EZ
88362000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8837
8838 * charset.c (syms_of_charset): Set width of character sets
8839 eight-bit-control and eight-bit-graphic to 1 column.
8840
34ec9ebe
GM
88412000-05-26 Gerd Moellmann <gerd@gnu.org>
8842
8843 * config.in (HAVE_SPEED_T): New define.
8844
8845 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8846 `extern speed_t'.
8847
dd854dc2
DL
88482000-05-26 Dave Love <fx@gnu.org>
8849
8850 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8851
8852 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8853 (Fsubr_arity): New function.
8854 (syms_of_data): Install them.
8855
ba9f8f95
KH
88562000-05-26 Kenichi Handa <handa@etl.go.jp>
8857
0f3e0672
KH
8858 * charset.c (init_charset_once): Set the table bytes_by_char_head
8859 correctly.
8860
cebefb44
KH
8861 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8862 the default fontset to what Emacs uses by default.
0f3e0672
KH
8863 (check_registry_encoding): This function deleted.
8864 (Fset_fontset_font): Remove the adhoc condition for the default
8865 fontset. Allow cons in FONTNAME.
cebefb44 8866
0f3e0672
KH
8867 * fns.c (map_char_table): Ignore char-table entries for
8868 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8869
7a18af49
KR
88702000-05-25 Ken Raeburn <raeburn@gnu.org>
8871
8872 * emacs.c (main): Initialize keyboard syms before initializing
8873 window code, so face names are available.
8874
d2af47df
SM
88752000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8876
8877 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8878 of an anchor at the beginning of a shy-group.
8879
fc6a6a4e
GM
88802000-05-25 Gerd Moellmann <gerd@gnu.org>
8881
8882 * xdisp.c (handle_invisible_prop): Don't try to skip over
8883 invisible text if end of text is already reached.
8884
005f0d35
DL
88852000-05-25 Dave Love <fx@gnu.org>
8886
02513cdd
DL
8887 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8888
005f0d35
DL
8889 * coding.c (encode_eol): Add null statement after label.
8890
89f6ca4e
EZ
88912000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8892
8893 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8894 2000-05-20.
8895
a4e1759e
KH
88962000-05-25 Kenichi Handa <handa@etl.go.jp>
8897
8898 * ccl.c (ccl_driver): Fix previous change.
8899
eacfd7fe
KH
89002000-05-25 Kenichi Handa <handa@etl.go.jp>
8901
46ab33a9
KH
8902 * coding.c (run_pre_post_conversion_on_str): Set point to the
8903 beginning of buffer before calling coding->post_read_conversion.
8904 (decode_coding_string): Give correct args to
8905 run_pre_post_conversion_on_str.
8906 (encode_coding_string): Likewise.
8907
eacfd7fe
KH
8908 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8909 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8910 eight-bit-graphic correctly.
8911
f8569325
DL
89122000-05-24 Kenichi HANDA <handa@etl.go.jp>
8913
8914 * fileio.c (Finsert_file_contents): Even if a file is not found,
8915 execute codes for setting up coding system. Call
8916 after-insert-file-functions unconditionally.
8917
04545643
GM
89182000-05-24 Gerd Moellmann <gerd@gnu.org>
8919
8920 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8921 BSD_PGRPS are not defined.
8922
747d90ea
KH
89232000-05-24 Kenichi Handa <handa@etl.go.jp>
8924
8925 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8926 DESCRIPTION.
8927 (syms_of_charset): Avoid building same strings.
8928
716e3b88
GM
89292000-05-23 Gerd Moellmann <gerd@gnu.org>
8930
8931 * lread.c (Fload): Add a comment about the meaning of
8932 Vuser_init_file being t.
8933
8934 * puresize.h (BASE_PURESIZE): Increase to 675000.
8935
8936 * s/gnu-linux.h (setpgrp): Don't define it here because this
8937 prevents compilation on GNU/Linux systems with glib 2.2.
8938
8939 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8940 as setpgid.
427ec082 8941
9aeb39fa
EZ
89422000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8943
8944 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8945 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8946 version.
8947 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8948
29ced61b
KH
89492000-05-23 Kenichi Handa <handa@etl.go.jp>
8950
52283633 8951 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8952
3d80f24d
KH
8953 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8954
52283633 8955 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8956
29ced61b
KH
8957 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8958
d7e00792
KH
89592000-05-22 Kenichi Handa <handa@etl.go.jp>
8960
c9d80d38
KH
8961 * keyboard.c (read_char): Allow character codes 128..255 to be
8962 handled by input-method-function.
8963
d7e00792
KH
8964 * insdel.c (adjust_markers_for_replace): Fix previous change.
8965 (adjust_after_replace): If PREV_TEXT is nil, call
8966 adjust_markers_for_insert, not adjust_markers_for_replace.
8967
087121cc 89682000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8969
087121cc
GM
8970 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8971 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8972 [HAVE_GRANDPT]: Define.
8973 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8974
8975 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8976 like SYSV_PTYS.
8977
8978 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8979
8980 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8981
c9671f81
KH
89822000-05-20 Kenichi Handa <handa@etl.go.jp>
8983
8984 The following changes are to handle 8-bit characters in a
8985 multibyte buffer/string without facing with byte combining
8986 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8987 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8988
8989 * Makefile.in (fns.o): Depend on charset.h.
8990
8991 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8992 convert it to unibyte.
8993 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8994
8995 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8996 apparent char boundary.
8997 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8998 0x80..0x9F to/from multibyte form.
8999
9000 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9001 to unibyte.
9002
9003 * callproc.c (Fcall_process): Always encode an argument string if
9004 it is multibyte. Setup src_multibyte and dst_multibyte members of
9005 process_coding properly.
ce75fd23 9006
c9671f81
KH
9007 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9008 SPLIT_NON_ASCII_CHAR.
9009
9010 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9011 as is.
9012 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9013
52283633 9014 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9015 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9016 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9017 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9018 and eight-bit-graphic.
9019 (char_to_string): Likewise. Signal an error for too large
9020 character code.
9021 (char_printable_p): Return 0 for 8-bit characters.
9022 (update_charset_table): Update iso_charset_table only when a final
9023 character is non-negative.
9024 (find_charset_in_text): Renamed from find_charset_in_str.
9025 Arguments and return value changed. Callers changed.
9026 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9027 be -1 if CHARSET is used only internally.
9028 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9029 eight-bit-graphic.
9030 (Fcharset_after): Simplified.
9031 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9032 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9033 (multibyte_chars_in_text): Simplified by assuming there's no
9034 invalid multibyte sequence.
52283633
SM
9035 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9036 (str_as_unibyte): New functions.
9037 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9038 (init_charset_once): Initialization for
9039 LEADING_CODE_8_BIT_CONTROL.
9040 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9041 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9042 eight-bit-control and eight-bit-graphic.
9043
52283633
SM
9044 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9045 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9046 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9047 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9048 (CHARSET_REVERSE_CHARSET): Likewise.
9049 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9050 eight-bit-graphic.
9051 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9052 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9053 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9054 encounter an invalid multibyte sequence.
9055 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9056 sequence is always valid.
9057 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9058 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9059 (CHAR_STRING): For 8-bit characters, call char_to_string.
9060 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9061 multibyte sequence is always valid.
9062 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9063 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9064 (str_as_unibyte): Extern them.
c9671f81 9065 (BCOPY_SHORT): Fix a bug.
52283633 9066 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9067 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9068 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9069 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9070
bd4bde7f 9071 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9072 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9073 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9074 (EMIT_BYTES): New macros.
9075 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9076 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9077 macros deleted.
9078 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9079 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9080 check the validity of multibyte sequence.
9081 (decode_coding_emacs_mule): New function.
9082 (encode_coding_emacs_mule): New macro.
9083 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9084 the source.
9085 (DECODE_ISO_CHARACTER): Just return a character code.
9086 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9087 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9088 EMIT_CHAR to produced decoded characters. Exit the loop only by
9089 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9090 block here.
9091 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9092 only position codes for an invalid character.
9093 (encode_designation_at_bol): Return new destination pointer. 5th
9094 arg DSTP is changed to DST.
9095 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9096 from the source by ONE_MORE_CHAR. Don't handle the case of last
9097 block here.
9098 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9099 macros deleted.
52283633
SM
9100 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9101 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9102 TWO_MORE_BYTES to fetch a byte from the source.
9103 (encode_eol): Pay attention to coding->src_multibyte.
9104 (detect_coding, detect_eol): Preserve members src_multibyte and
9105 dst_multibyte.
9106 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9107 (encoding_buffer_size): Set magnification to 3 for all coding
9108 systems that require encoding.
9109 (ccl_coding_driver): For decoding, be sure that the result is
9110 valid multibyte sequence.
9111 (decode_coding): Initialize coding->errors and coding->result.
9112 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9113 and raw-text, always call decode_eol. Handle the case of last
9114 block here. If not coding->dst_multibyte, convert the resulting
9115 sequence to unibyte.
9116 (encode_coding): Initialize coding->errors and coding->result.
9117 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9118 and raw-text, always call encode_eol. Handle the case of last
9119 block here.
9120 (shrink_decoding_region, shrink_encoding_region): Detect cases
9121 that we can't skip data more rigidly.
9122 (code_convert_region): Setup src_multibyte and dst_multibyte
9123 members of coding. For decoding, if the buffer is multibyte,
9124 convert the source sequence to unibyte in advance. For encoding,
9125 if the buffer is multibyte, convert the resulting sequence to
9126 multibyte afterward.
9127 (run_pre_post_conversion_on_str): New function.
9128 (code_convert_string): Deleted and divided into the following two.
9129 (decode_coding_string, encode_coding_string): New functions.
9130 (code_convert_string1, code_convert_string_norecord): Call one of
9131 above.
9132 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9133 MAKE_NON_ASCII_CHAR.
52283633
SM
9134 (Fset_terminal_coding_system_internal)
9135 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9136 and dst_multibyte members.
9137 (init_coding_once): Initialize iso_code_class with new enum
9138 ISO_control_0 and ISO_control_1.
9139
9140 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9141 devided into ISO_control_0 and ISO_control_1.
9142 (struct coding_system): New members src_multibyte, dst_multibyte,
9143 errors, and result. Delete member fake_multibyte.
9144 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9145 nonzero.
9146 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9147 nonzero.
9148
9149 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9150 (Faset): Likewise.
9151
9152 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9153 multibyte form.
9154 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9155 combining occurs.
9156 (Ftranspose_region): Delete codes for handling byte combining.
9157
9158 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9159 dst_multibyte members of coding. On handling REPLACE on unibyte
9160 buffer, convert the result of decode_coding to unibyte. On
9161 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9162 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9163 multibyteness of the source (buffer or string).
9164
9165 * fns.c (concat): Handle 8-bit characters correctly.
9166 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9167 unibyte in the result.
9168 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9169 valid multibyte form in the result.
9170 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9171 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9172 return -1, signal an error.
9173 (base64_encode_1): New arg MULTIBYTE. Get each character by
9174 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9175 character is found, return -1.
9176 (Fbase64_decode_region): Delete codes for handling byte-combining.
9177 Treat each decoded byte as a unibyte character.
9178 (Fbase64_decode_string): Return unibyte string.
9179 (Fcompare_strings, concat, string_byte_to_char): Use
9180 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9181 FETCH_STRING_CHAR_ADVANCE.
9182 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9183 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9184
9185 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9186 SPLIT_NON_ASCII_CHAR.
9187 (fontset_ref_via_base, fontset_set): Likewise
9188
9189 * insdel.c (adjust_markers_for_record_delete): Deleted.
9190 (adjust_markers_for_insert): Argument changed. Caller changed.
9191 (adjust_markers_for_replace): Likewise.
52283633
SM
9192 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9193 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9194 (copy_text): Delete unused local varialbe c_save. For converting
9195 to multibyte, be sure to make all 8-bit characters in valid
9196 multibyte form.
9197 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9198 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9199 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9200 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9201 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9202 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9203 handling byte combining.
9204 (adjust_before_replace): Deleted.
427ec082 9205
c9671f81
KH
9206 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9207 SPLIT_NON_ASCII_CHAR.
9208 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9209 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9210 (Fkey_description): Likewise.
9211
9212 * lread.c (read1): On reading multibyte string, be sure to make
9213 all 8-bit chararacters in valid multibyte form.
9214 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9215
9216 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9217 unconditionally.
9218
9219 * process.c (Fstart_process): GCPRO current_dir before calling
9220 Ffind_operation_coding_system. Encode arguments here.
9221 (create_process): Don't encode arguments here. Setup
9222 src_multibyte and dst_multibyte members of struct coding.
9223 (read_process_output): Setup src_multibyte and dst_multibyte
9224 members of struct coding. If the output is to multibyte buffer,
9225 always decode the output of the process. Adjust the
52283633 9226 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9227 (send_process): Setup coding->src_multibyte according to the
9228 multibyteness of the source.
9229
52283633 9230 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9231 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9232 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9233
52283633 9234 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9235
9236 * w16select.c (Fw16_set_clipboard_data): Setup members
9237 src_multibyte and dst_multibyte of coding. Adjusted for the
9238 change for find_charset_in_str.
9239 (Fw16_get_clipboard_data): Likewise.
9240
9241 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9242 dst_multibyte of coding.
9243 (x_to_w32_font): Likewise.
9244
9245 * w32select.c (Fw32_set_clipboard_data): Setup members
9246 src_multibyte and dst_multibyte of coding. Adjusted for the
9247 change for find_charset_in_str.
9248 (Fw32_get_clipboard_data): Likewise.
9249
9250 * xdisp.c (get_next_display_element): Handle 8-bit characters
9251 correctly.
52283633
SM
9252 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9253 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9254
9255 * xselect.c (selection_data_to_lisp_data): Setup members
9256 src_multibyte and dst_multibyte of coding. Adjusted for the
9257 change for find_charset_in_str.
9258 (lisp_data_to_selection_data): Likewise.
9259
5f64c9e0
GM
92602000-05-19 Gerd Moellmann <gerd@gnu.org>
9261
52283633 9262 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9263
5f64c9e0
GM
9264 * dispextern.h (Vimage_types): Add extern declaration.
9265
9266 * xdisp.c (Vimage_types): Moved here from xfns.c.
9267 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9268
9269 * xfns.c (Vimages_types): Moved to xdisp.c.
9270 (syms_of_xfns): Move `image-types' to xdisp.c.
9271
9272 * w32fns.c (Vimage_types): Removed.
9273 (syms_of_w32fns): Remove `image-types'.
9274
813086ea
KH
92752000-05-18 Kenichi Handa <handa@etl.go.jp>
9276
9277 * fns.c (map_char_table): Pay attention to character number of
9278 charset. Check the validity of charset at the first level. For
9279 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9280 the default value.
9281
9282 * fontset.c: Include "buffer.h".
9283 (fs_load_font): If the face has fontset, record the face ID in
9284 that fontset.
9285 (Finternal_char_font): New function.
9286 (accumulate_font_info): New function.
9287 (Ffontset_info): Rewritten for the new fontset implementation.
9288 (syms_of_fontset): Register Vdefault_fontset in the first element
9289 of Vfontset_table. Include Vdefault_fontset in
9290 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9291 function.
9292
bdaebbf0
DL
92932000-05-16 Dave Love <fx@gnu.org>
9294
9295 * m/iris5d.h: Deleted -- unused.
9296
cb613bb8
GM
92972000-05-16 Gerd Moellmann <gerd@gnu.org>
9298
b15f3b77
GM
9299 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9300 `invalid' instead of `illegal'.
9301
9302 * indent.c (Fmove_to_column): When ending within a tab, insert
9303 spaces first so that markers at the end of the tab get adjusted.
9304
835c1b36
GM
9305 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9306 buffer list that wasn't selected in that frame.
9307
cb613bb8
GM
9308 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9309 is needed on mescaline, use a 2 char prefix, and call
9310 make_temp_name with second arg non-zero.
9311
9312 * fileio.c (make_temp_name): New function, extracted from
9313 Fmake_temp_name.
9314 (Fmake_temp_name): Use it.
9315
f685bea9
EZ
93162000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9317
52283633 9318 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9319
a1b8d58b
GM
93202000-05-15 Gerd Moellmann <gerd@gnu.org>
9321
9322 * Makefile.in (lisp): Add env.elc.
9323
9324 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9325
a265079f
GM
93262000-05-12 Gerd Moellmann <gerd@gnu.org>
9327
9328 * search.c (Freplace_match): Handle case of `\N' in the
9329 replacement when there's no group N.
9330
da4496b6
GM
93312000-05-11 Gerd Moellmann <gerd@gnu.org>
9332
0ace421a
GM
9333 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9334 of the message to message_dolog.
9335
1172eb8d
GM
9336 * keyboard.c (read_char): Don't clear current message for help
9337 events; let the code handling help events handle this. Change
9338 code detecting help events that should be ignored.
9339
da4496b6
GM
9340 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9341 we're interating over a string.
9342
0623e40f
DL
93432000-05-09 Dave Love <fx@gnu.org>
9344
9345 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9346 that offset before writing. Move gcpro region past call of
9347 Ffile_regular_p.
9348
bae2503b
DL
93492000-05-04 Dave Love <fx@gnu.org>
9350
9351 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9352
ec82fb2f
GM
93532000-05-04 Gerd Moellmann <gerd@gnu.org>
9354
9355 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9356 of inserted characters when BUF equals the current buffer, and PT
9357 is in front of or equal to FROM.
9358
cbf18892
GM
93592000-05-03 Gerd Moellmann <gerd@gnu.org>
9360
4ff40dd0
GM
9361 * xdisp.c (handle_single_display_prop): If display property value
9362 is invalid, or something not supported on the frame, restore
9363 iterator's position to what it was initially. Make sure to return
9364 0 for invalid and unsupported property values.
9365
cbf18892
GM
9366 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9367 that x_per_char_metric returns null.
9368
1b0672c3
GM
93692000-05-02 Gerd Moellmann <gerd@gnu.org>
9370
576da55d
GM
9371 * xterm.h (struct face): Add forward declaration.
9372 (struct image): Ditto.
9373 (image_ascent): Add prototype.
9374
9375 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9376 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9377 image_ascent instead of using IMAGE_ASCENT.
9378
9379 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9380 (IMAGE_ASCENT): Removed.
9381
9382 * xfns.c (Qcenter): New variable.
9383 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9384 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9385 (image_ascent): New function.
9386 (lookup_image): Recognize `:ascent center'.
9387 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9388 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9389 (xbm_load): Don't set image's ascent here.
9390 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9391 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9392 check ascent values here.
9393 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9394 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9395 (syms_of_xfns): Initialize Qcenter.
9396
1b0672c3
GM
9397 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9398 to the limits, increase the limits.
9399
0d7811ed
KH
94002000-05-01 Kenichi Handa <handa@etl.go.jp>
9401
9402 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9403 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9404
a943a5ca
GM
94052000-04-28 Gerd Moellmann <gerd@gnu.org>
9406
9407 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9408 taller than the window.
9409
5dba1e29
KH
94102000-04-28 Kenichi Handa <handa@etl.go.jp>
9411
9412 * xfaces.c (realize_x_face): Fix the argument of the second
9413 xassert. BASE_FACE may not be a face for ASCII.
9414
353964e3
GM
94152000-04-27 Gerd Moellmann <gerd@gnu.org>
9416
c76e04a8
GM
9417 * print.c (print_object): Treat print-length < 0 as nil.
9418
9419 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9420
9421 * s/freebsd.h (TERMCAP_OBJ): Removed.
9422 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9423
9424 * lread.c (read1): Don't treat period followed by certain
9425 characters as symbol start.
9426
9427 * xfns.c (slurp_file): New function.
9428 (xbm_image_p): Handle case of in-memory XBM files.
9429 (xbm_scan): Rewritten to work on memory buffers instead of files.
9430 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9431 Work on memory buffers instead of files. If DATA is null test
9432 if buffer looks like an in-memory XBM file.
9433 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9434 memory buffers instead of files.
9435 (xbm_file_p): New function.
9436 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9437
353964e3
GM
9438 * lread.c (end_of_file_error): New function.
9439 (read1): Call it instead of signaling `end-of-file' directly.
9440
427ec082 9441 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9442 with Fprinc instead of Fprin1.
9443
24d744ac
KR
94442000-04-26 Ken Raeburn <raeburn@gnu.org>
9445
9446 * window.c (freeze_window_start): Check that minibuffer scroll
9447 window isn't nil before extracting the window structure pointer
9448 from it.
9449
9450 * undo.c (record_delete): If we hit the end of the undo list, stop
9451 picking elements apart.
9452
7464346d
GM
94532000-04-26 Gerd Moellmann <gerd@gnu.org>
9454
9455 * xdisp.c (display_line): If lines are continued, restore
9456 iterator's ascent/descent information to the values before the
9457 first glyph not fitting on the line.
9458
612839b6
GM
94592000-04-25 Gerd Moellmann <gerd@gnu.org>
9460
9461 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9462 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9463
9464 * dispnew.c (increment_matrix_positions): Renamed from
9465 increment_glyph_matrix_buffer_positions.
9466 (increment_row_positions): Renamed from
9467 increment_glyph_row_buffer_positions.
9468
9469 * dispextern.h: Change names of renamed functions from dispnew.c
9470 in prototypes.
9471
cc181e95
GM
94722000-04-24 Gerd Moellmann <gerd@gnu.org>
9473
abfcc168
GM
9474 * fileio.c (Fdo_auto_save): Create directories for auto-save
9475 list file if necessary.
9476
cc181e95
GM
9477 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9478 from buffer or frame.
9479 (automatic_hscrolling_p): New variable.
9480 (hscroll_windows): Scroll windows horizontally only if automatic
9481 hscrolling is allowed.
9482 (syms_of_xdisp): New variable `automatic-hscrolling'.
9483
9484 * frame.h (struct frame): Add member extra_line_spacing.
9485
9486 * xfns.c (x_set_line_spacing): New function.
9487 (Fx_create_frame): Set line spacing from resources.
9488 (Qline_spacing): New variable.
9489 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9490
cc181e95
GM
9491 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9492
9493 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9494 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9495 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9496 extra_line_spacing from default value.
9497 (init_buffer_once): Initialize default value of extra_line_spacing.
9498
9499 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9500 and extra3.
9501
9502 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9503 prompt_width. Add extra line spacing.
9504
9505 * term.c (produce_glyphs): Remove reference to struct it's
9506 prompt_width.
9507
9508 * dispextern.h (struct it): Remove member prompt_width, add
9509 extra_line_spacing.
9510
58827478
GM
95112000-04-22 Gerd Moellmann <gerd@gnu.org>
9512
9513 * dispnew.c (update_frame_line): When writing a whole line, make
9514 sure cursor is in the right row afterwards, otherwise a use of
9515 capability `ch' in cmgoto might leave the cursor in the row below.
9516
25a87f42
GM
95172000-04-21 Gerd Moellmann <gerd@gnu.org>
9518
9519 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9520
9521 * keyboard.c (timer_check): Fix typo in comment.
9522
54edf5c2
KH
95232000-04-21 Kenichi Handa <handa@etl.go.jp>
9524
9525 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9526 name change: ch -> character.
9527
3a64eef5
GM
95282000-04-20 Gerd Moellmann <gerd@gnu.org>
9529
9530 * keyboard.c (echo_message_buffer): New variable.
9531 (echo_now): Set echo_message_buffer to the echo area buffer used
9532 to display the echo.
9533 (cancel_echoing): Reset echo_message_buffer to nil.
9534 (read_char): Code rewritten that handles canceling an echo or
9535 echoing a dash, respectively.
9536
9537 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9538 directory doesn't exist.
9539
6142fdcb
DL
95402000-04-19 Dave Love <fx@gnu.org>
9541
9542 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9543 (concat): Don't allow numeric args.
9544 (Fconcat): Doc change.
6142fdcb 9545
ac6b5352
SM
95462000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9547
9548 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9549 instead define end_match(1|2) more carefully.
9550 Use GET_CHAR_BEFORE_2 for `begline'.
9551
cb9215e4
GM
95522000-04-19 Gerd Moellmann <gerd@gnu.org>
9553
5e3dac3f
GM
9554 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9555 on 64-bit systems where NULL is defined as `0'.
9556
9557 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9558 the `variable argument list' to make it work on Alpha.
9559
cb9215e4
GM
9560 * m/alpha.h (_LP64) [!_LP64]: Define.
9561 (ORDINARY_LINK): Define for NetBSD.
9562
9563 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9564
f532dca0
DL
95652000-04-19 Dave Love <fx@gnu.org>
9566
c750667e
DL
9567 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9568 change.
9569
9570 * Makefile.in (LIBS): Don't use.
9571 (GETLOADAVG_OBJ): Define again.
9572 (otherobj): Add GETLOADAVG_OBJ.
9573
f532dca0
DL
9574 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9575
1c7e22fd
GM
95762000-04-18 Gerd Moellmann <gerd@gnu.org>
9577
f6d3257b
GM
9578 * lread.c (read_filtered_event): Cancel and start busy cursor.
9579
427ec082 9580 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9581 that the per-character metrics may be null.
9582
e10f64e7
GM
95832000-04-17 Gerd Moellmann <gerd@gnu.org>
9584
0daee095
GM
9585 * buffer.c (clone_per_buffer_values): New function.
9586 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9587 clone_per_buffer_values if CLONE is not nil.
9588
e10f64e7
GM
9589 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9590
38687d43
DL
95912000-04-16 Dave Love <fx@gnu.org>
9592
9593 * Makefile.in: Remove obsolete localcpp stuff.
9594 (GETLOADAVG_OBJ): Don't define.
9595 (obj): Move LIBOBJS...
9596 (otherobj): ... to here.
9597 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9598 whitespace-only lines after the continuation (Irix).
9599
c21c7262
GM
96002000-04-14 Gerd Moellmann <gerd@gnu.org>
9601
9602 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9603
9604 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9605
314767c0
DL
96062000-04-14 Dave Love <fx@gnu.org>
9607
9608 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9609 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9610 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9611 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9612 NLIST_STRUCT.
9613
9614 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9615 autoconfiscated HAVE_GETLOADAVG.
9616
9617 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9618 BROKEN_MKTIME.
9619
a2522dca
GM
96202000-04-14 Gerd Moellmann <gerd@gnu.org>
9621
9622 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9623 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9624
33744b5d
DL
96252000-04-14 Dave Love <fx@gnu.org>
9626
c21c7262 9627 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9628 (INTERVAL_SRC): Convert to make variable.
9629 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9630 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9631 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9632 add LIBOBJS.
9633 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9634 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9635 (shortlisp): Add facemenu, float-sup, frame.
9636 (SOME_MACHINE_LISP): Remove them from here.
9637 (LIBES): Change unused LDLIBS to autoconf LIBS.
9638
9639 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9640
9d3d5916
KH
96412000-04-14 Kenichi Handa <handa@etl.go.jp>
9642
9643 * composite.c (update_compositions): If FROM and TO are not in a
9644 valid range, do nothing.
9645
198e3c7a
GM
96462000-04-13 Gerd Moellmann <gerd@gnu.org>
9647
52283633 9648 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9649
52283633 9650 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9651
9652 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9653 as TERMCAP_OBJ.
9654
055a28c9
EZ
96552000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9656
9657 * fileio.c (a_write): Remove redundant semi-colons.
9658 (e_write): Return -1 if failed to write all the data.
9659 This fixes the changes made at 1999-12-15.
9660
f5c75033
DL
96612000-04-12 Dave Love <fx@gnu.org>
9662
9663 * fns.c (mapcar1): Test for null vals to support mapc.
9664 (Fmapc): New function.
9665
0c3cfc51
EZ
96662000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9667
9668 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9669 (IT_frame_up_to_date): Support the buffer local value of
9670 cursor-type, if defined.
9671
33465a31
DL
96722000-04-10 Dave Love <fx@gnu.org>
9673
9674 * editfns.c (preceding-char, following-char): Doc fix.
9675
6ed56568
KR
96762000-04-10 Ken Raeburn <raeburn@gnu.org>
9677
9678 * Makefile.in (temacs): Revert 2000-03-12 change.
9679
7cf80d4e
JR
96802000-04-10 Jason Rumney <jasonr@gnu.org>
9681
9682 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9683
34f3f342
GM
96842000-04-10 Gerd Moellmann <gerd@gnu.org>
9685
1a1b1895
GM
9686 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9687 area buffer, if it's not set up yet.
9688
34f3f342
GM
9689 * indent.c (compute_motion): Set immediate_quit.
9690
be0dbdab
GM
96912000-04-09 Gerd Moellmann <gerd@gnu.org>
9692
52283633 9693 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9694 (realize_tty_face): Suppress boldness if colors are the inverse of
9695 the default colors, and tty_suppress_bold_inverse_default_colors_p
9696 is set.
9697 (Ftty_suppress_bold_inverse_default_colors): New function.
9698 (syms_of_xfaces): Defsubr it.
9699
be0dbdab
GM
9700 * buffer.c (Frestore_buffer_modified_p): New function.
9701 (syms_of_buffer): Defsubr it.
9702
e8413c3b
KR
97032000-04-08 Ken Raeburn <raeburn@gnu.org>
9704
87f67317
KR
9705 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9706 charset id (int) argument, not a charset (Lisp_Object).
9707
e8413c3b
KR
9708 * coding.h (code_convert_string): Declare.
9709 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9710 object, as the fourth argument to code_convert_string.
9711
52283633 9712 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9713 (Fset_fontset_font): Use EQ to compare lisp objects.
9714
7c752c80
KR
97152000-04-05 Ken Raeburn <raeburn@gnu.org>
9716
c0333abc
KR
9717 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9718 a pointer that looks like a lisp object.
9719 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9720 zero, instead see whether it's an integer object, since they can't
9721 have intervals.
9722 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9723
52283633
SM
9724 * dispnew.c (allocate_matrices_for_frame_redisplay)
9725 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9726 to convert between (unsigned) int values and lisp integers.
9727 * keyboard.c (read_key_sequence): Likewise.
9728 * lread.c (substitute_object_recurse): Likewise.
9729 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9730 * minibuf.c (do_completion, Fminibuffer_complete_word)
9731 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9732 * term.c (produce_special_glyphs): Likewise.
9733
9734 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9735 * print.c (print_preprocess, print_object): Likewise.
9736
9737 * search.c (compile_pattern): Use NILP when checking for nil.
9738
74e49b38
KR
9739 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9740 __OPTIMIZE__]: Provide a GNU C macro version that handles
9741 lisp-object unions.
9742 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9743 field, to better cope with ENABLE_CHECKING and calls that modify a
9744 Lisp_Object using its old value.
9745
685e5ed2
GM
97462000-04-04 Gerd Moellmann <gerd@gnu.org>
9747
c407c570
GM
9748 * window.c (compare_window_configurations): Signal an error
9749 if parameters C1 or C2 aren't window configurations.
9750
685e5ed2
GM
9751 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9752 AFTER_POTENTIAL_GC calls around calls to functions that can
9753 signal an error and thus invoke the debugger.
9754
587a49ab
GM
97552000-04-03 Gerd Moellmann <gerd@gnu.org>
9756
62f20204
GM
9757 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9758 an error if decoding fails.
9759
587a49ab
GM
9760 * keyboard.c (lispy_mouse_names): Variable removed.
9761 (Vlispy_mouse_stem): New variable.
9762 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9763 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9764 for any mouse button number. Increase size of mouse_syms and
9765 button_down_location as needed. Call modify_event_symbol with
9766 different arguments.
9767 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9768 Call modify_event_symbol with different arguments.
9769 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9770 for any button number. Call modify_event_symbol with different
9771 arguments.
9772 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9773 Accept a string for NAME_ALIST_OR_STEM.
9774
9775 * lisp.h (larger_vector): Add prototype.
9776
9777 * fns.c (larger_vector): Make externally visible.
9778
9779 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9780
2d1675e4
SM
97812000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9782
9783 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9784 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9785 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9786 we are between str1 and str2.
9787 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9788 (PATFETCH): Use `TRANSLATE'.
9789 (PATFETCH_RAW): Fetch multibyte char if applicable.
9790 (PATUNFETCH): Remove.
9791 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9792 When writing a char, write it directly into the pattern buffer rather
9793 than going needlessly through a temp char-array.
9794 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9795 multibyte magic and remove the useless `#ifdef emacs'.
9796 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9797 buffer.
9798
9799 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9800 conditional on `emacs'.
9801
9802 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9803
cc2d8c6b
KR
98042000-04-01 Ken Raeburn <raeburn@gnu.org>
9805
9806 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9807 non-union-type versions of XMARK and friends here, because XMARK
9808 and friends won't work on an integer field if NO_UNION_TYPE is not
9809 defined.
52283633 9810 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9811
52283633 9812 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9813 (syms_of_composite): Delete local var NARGS, pass an int as first
9814 argument to Fmake_hash_table.
9815
2387b382
KR
9816 * editfns.c (text_property_stickiness): Use NILP to test
9817 Lisp_Object boolean value.
9818 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9819 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9820 problems reading from and changing the same lisp value in an
9821 XSETSTRING call.
9822
27660e89
GM
98232000-04-01 Gerd Moellmann <gerd@gnu.org>
9824
9825 * term.c (TN_no_color_video): New variable.
9826 (term_init): Intitialize TN_no_color_video.
9827 (enum no_color_bit): New enumeration.
9828 (MAY_USE_WITH_COLORS_P): New macro.
9829 (turn_on_face): Use it to determine if attributes may be used
9830 combined with colors.
9831
3578db3c
KR
98322000-04-01 Ken Raeburn <raeburn@gnu.org>
9833
9834 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9835 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9836 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9837 proper accessor macros.
9838 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9839 (grow_mini_window): Fix typo getting int value of root->height.
9840
6fc556fd
KR
9841 * xdisp.c (compute_string_pos): Fix order of arguments to
9842 string_pos_nchars_ahead.
9843 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9844 count arg to variable-arg routines like Frun_hook_with_args and
9845 Fformat.
587a49ab
GM
9846 (back_to_previous_visible_line_start)
9847 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9848 fixed-arg routines like Fget_char_property and Fmake_string.
9849 (reconsider_clip_changes): Use XINT when comparing integer lisp
9850 objects, or passing them as int arguments.
587a49ab
GM
9851 (mark_window_display_accurate, insert_left_trunc_glyphs)
9852 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9853 storing or passing integer values as lisp objects.
9854 (set_cursor_from_row, highlight_trailing_whitespace): Use
9855 INTEGERP, not implicit test against zero, for glyph object.
9856 (try_window_id): Don't use make_number when we want an int value.
9857
9858 * xfaces.c (xlfd_symbolic_value): Make last argument a
9859 Lisp_Object, to be consistent with callers.
9860 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9861 (lface_hash): Apply XFASTINT to lisp values before folding in.
9862
9863 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9864 fill in window width and height. Pass an int, not a lisp object,
9865 as first arg to Finsert.
9866
6e7b2457
GM
98672000-04-01 Gerd Moellmann <gerd@gnu.org>
9868
610d841e
GM
9869 * xfaces.c (realize_basic_faces): Block input while realizing
9870 the faces.
9871
6e7b2457
GM
9872 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9873
9874 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9875
aa110c0c
GM
98762000-03-31 Gerd Moellmann <gerd@gnu.org>
9877
9878 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9879 or ASCII, handle case that per-char metric is null.
aa110c0c 9880
8801a864
KR
98812000-03-30 Ken Raeburn <raeburn@gnu.org>
9882
c6129d7e
KR
9883 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9884
52283633
SM
9885 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9886 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9887 pointer, using eassert.
9888 * frame.h (XFRAME): Likewise.
9889
52283633
SM
9890 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9891 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9892 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9893 * data.c (set_internal): Likewise.
52283633
SM
9894 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9895 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9896 * fileio.c (auto_save_1): Likewise.
9897 * insdel.c (check_markers): Likewise.
9898 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9899 * undo.c (record_insert): Likewise.
9900 * vmsproc.c (child_sig): Likewise.
9901 * window.c (unshow_buffer, window_loop): Likewise.
9902 * xterm.c (x_erase_phys_cursor): Likewise.
9903
8e7af858
GM
99042000-03-30 Gerd Moellmann <gerd@gnu.org>
9905
9906 * xfns.c (free_image_cache): Free the cache structure itself
9907 last, after all its members have been freed.
9908
9909 * lisp.h (xstrdup): Add prototype.
9910
9911 * alloc.c (xstrdup): Moved here from xfaces.c.
9912 (allocating_for_lisp): Variable removed.
52283633 9913 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9914
9915 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9916 of Fsymbol_value.
9917 (xstrdup): Moved to alloc.c.
9918
e0b8c689
KR
99192000-03-29 Ken Raeburn <raeburn@gnu.org>
9920
b96f9fb7
KR
9921 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9922
9923 * emacs.c (main): Fix sense of no-loadup test.
9924
e0b8c689
KR
9925 * config.in (ENABLE_CHECKING): Undef.
9926
9927 * lisp.h (struct interval): Replace "parent" field with a union of
9928 interval pointer and Lisp_Object; add new bitfield to use as
9929 discriminant. Change other flag fields to bitfields.
9930 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9931 is defined and the supplied test fails, print a message and abort.
9932 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9933
9934 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9935 pointers; abort if the value looks like a lisp object.
52283633
SM
9936 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9937 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9938 Modify for new interval parent definition.
9939
52283633
SM
9940 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9941 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9942 addressable lisp object in the interval structure.
9943 (die): New function.
9944 (suppress_checking): New variable.
9945
9946 * intervals.c (interval_start_pos): Just return 0 if there's no
9947 parent object.
9948
f83c5440
GM
99492000-03-29 Gerd Moellmann <gerd@gnu.org>
9950
9951 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9952 and earlier Emacs versions.
9953
9954 * keyboard.c (Ftop_level): Cancel busy-cursor.
9955
9956 * eval.c (call_debugger): Cancel busy-cursor.
9957
fdce64ff
KH
99582000-03-29 Kenichi Handa <handa@etl.go.jp>
9959
9960 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9961 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9962
f6a3f532
SM
99632000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9964
9965 * regex.c (analyse_first): New function obtained by ripping out most
9966 of re_compile_fastmap and generalizing it a little bit so that it
9967 can also just return whether a given (sub)pattern can match the empty
9968 string or not.
9969 (regex_compile): Use `analyse_first' to decide whether the loop-check
9970 needs to be done or not for *, +, *? and +? (the loop check is costly
9971 for non-greedy repetition).
9972 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9973
e9b309ac
DL
99742000-03-28 Dave Love <fx@gnu.org>
9975
52283633 9976 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9977
e9b309ac
DL
9978 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9979
ed0767d8
SM
99802000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9981
9982 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9983 an expression.
9984 (enum re_opcode_t): Update description of succeed_n.
9985 (PATFETCH): Always define.
9986 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9987 operators, char classes, shy-groups and intervals).
9988 Optimize special cases of intervals so as to only use succeed_n and
9989 jump_n when really needed.
9990 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9991 that we don't have to handle the special cases any more.
9992 Simplify on_failure_jump handling as well.
9993
e11e7e46
JR
99942000-03-28 Jason Rumney <jasonr@gnu.org>
9995
9996 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9997
88faab89
GM
99982000-03-27 Gerd Moellmann <gerd@gnu.org>
9999
182ff242
GM
10000 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10001
10002 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10003
182ff242
GM
10004 * alloc.c (mark_maybe_object): New function.
10005 (mark_memory): Use it.
10006 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10007 (setjmp_tested_p, longjmp_done): New variables.
10008 (test_setjmp): New function.
10009 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10010 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10011
c1005d06
GM
10012 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10013 to DEC_TEXT_POS and INC_TEXT_POS.
10014
10015 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10016 with parameter MULTIBYTE_P.
10017
52283633 10018 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10019
7439e5b9 10020 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10021 buffers because it looks for multibyte character byte sequences
10022 which don't exist in unibyte text.
7439e5b9 10023
d9c545da
GM
10024 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10025
11fd416e 10026 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10027 [DEBUG_X_COLORS]: New functions.
10028 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10029
10030 * xfns.c (x_set_cursor_color): Get color reference counts right.
10031
10032 * xterm.c (x_copy_color): New function.
10033 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10034
10035 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10036 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10037 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10038 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10039 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10040 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10041 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10042 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10043 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10044 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10045
11fd416e
GM
10046 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10047 names for handling per-buffer variables.
d9c545da
GM
10048
10049 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10050 instead of MAX_BUFFER_LOCAL_VARS.
10051 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10052
10053 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10054
88faab89
GM
10055 * xfns.c (x_specified_cursor_type): New function.
10056 (x_set_cursor_type): Use it.
10057
10058 * buffer.h (struct buffer): Add cursor_type.
10059
d80f42b7
SM
100602000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10061
10062 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10063 (print_partial_compiled_pattern, re_compile_fastmap):
10064 Handle new opcode.
d80f42b7
SM
10065 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10066 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10067 executing it as well as when popping it off the stack to find infinite
10068 loops in non-greedy repetition operators.
10069
89e80928
GM
100702000-03-26 Gerd Moellmann <gerd@gnu.org>
10071
3d4ff2dd
GM
10072 * doc.c (Qfunction_documentation): New variable.
10073 (syms_of_doc): Initialize Qfunction_documentation.
10074 (Fdocumentation): If FUNCTION is a symbol with non-nil
10075 `function-documentation' property, return a documentation derived
10076 from that.
10077
bd96bd79
GM
10078 * buffer.c (syms_of_buffer): Add default-cursor-type.
10079 (init_buffer_once): Don't let cursor_type have a local value
10080 in every buffer.
10081
19d1bc27
GM
10082 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10083 on buffer-local value of cursor_type.
10084 (x_draw_bar_cursor): Add parameter WIDTH.
10085
10086 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10087 (init_buffer_once): Set default cursor_type value to t.
10088 Mark cursor_type as local everywhere.
10089 (syms_of_buffer): New per-buffer variable cursor-type.
10090
89e80928
GM
10091 * buffer.h (struct buffer): Remove member local_var_flags,
10092 add local_flags.
10093 (MAX_BUFFER_LOCAL_VARS): New macro.
10094 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10095 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10096 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10097 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10098
52283633 10099 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10100
10101 * category.c (Fset_category_table): Use new macros for per-buffer
10102 variables.
10103
10104 * buffer.c (buffer_permanent_local_flags): Make a char array.
10105 (max_buffer_local_idx): New variable.
10106 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10107 for new handling of per-buffer variables.
10108 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10109 (init_buffer_once): Initialize per-buffer vars differently.
10110 Set max_buffer_local_idx.
10111
10112 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10113 variables.
10114
52283633 10115 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10116
10117 * data.c (do_symval_forwarding, store_symval_forwarding)
10118 (find_symbol_value, set_internal, default_value, Fset_default)
10119 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10120 per-buffer variables.
10121
10122 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10123
9a0dd3dc
GM
101242000-03-24 Gerd Moellmann <gerd@gnu.org>
10125
b68c375f
GM
10126 * xterm.c (x_term_init): Unblock input around call1 of
10127 Qvendor_specific_keysyms.
10128
9a0dd3dc
GM
10129 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10130 (find_defun_start): Consider an open parenthesis in column 0
10131 a defun start only if open_paren_in_column_0_is_defun_start is set.
10132 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10133
7973e637
SM
101342000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10135
10136 * eval.c (Fautoload): Add entry in load-history (if after dump).
10137 * lread.c (load-history): Update docstring.
10138
39210e90
GM
101392000-03-24 Gerd Moellmann <gerd@gnu.org>
10140
10141 * indent.c (Fvertical_motion): Always use the current buffer.
10142 Temporarily change the window's buffer, if necessary.
10143
72db3ab5
GM
101442000-03-23 Gerd Moellmann <gerd@gnu.org>
10145
10146 * xterm.c (fast_find_position): Make sure not to consider rows
10147 not visible in the window.
10148
990b2375
SM
101492000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10150
10151 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10152 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10153
ff4df011
JR
101542000-03-22 Jason Rumney <jasonr@gnu.org>
10155
10156 * w32menu.c (single_submenu): Set help string to NULL if none.
10157 (w32_menu_show): Set help string correctly.
10158 (add-menu-item): Set help string in MIIM_DATA for menu item.
10159 Load SetMenuItemInfoA explicitly.
10160 (w32_menu_display_help): New function.
427ec082 10161
ff4df011
JR
10162 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10163 (QCdata): Moved to xdisp.c.
10164
10165 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10166 (Vw32_charset_to_codepage_alist): Removed.
10167 (Vw32_charset_info_alist): New variable.
52283633
SM
10168 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10169 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10170 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10171 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10172 with TODO comment.
10173 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10174 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10175 Define Vw32_charset_info_alist and w32_charset symbols.
10176
101772000-03-22 Jason Rumney <jasonr@gnu.org>
10178
10179 * makefile.nt (w32bdf.obj): Update dependencies.
10180
10181 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10182
10183 * w32fns.c: Include fontset.h after dispextern.h.
10184 (Fx_create_frame): Do not create fontset.
10185 (w32_load_system_font): Doc fix.
10186 (Fx_close_connection): Free full_name if it is not shared.
10187
10188 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10189 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10190 Callers updated.
ff4df011
JR
10191 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10192 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10193 (w32_font_is_double_byte): New function, needs body.
10194 (x_append_glyph): Set glyph->glyph_not_available_p.
10195 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10196 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10197 character, convert it to a unibyte character.
10198 (struct glyph_string): Delete member `charset'.
10199 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10200 calculating it is found.
10201 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10202 the case that per char metric is not available correctly.
10203 (x_fill_glyph_string): Handle the case that the specific glyph is
10204 not available correctly.
10205 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10206 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10207 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10208 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10209 fontset. Don't call FS_LOAD_FONT.
10210
439d5cb4
KR
102112000-03-22 Ken Raeburn <raeburn@gnu.org>
10212
10213 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10214 (INT_LISPLIKE): New macro.
10215 (NULL_INTERVAL_P): Use it.
52283633
SM
10216 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10217 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10218 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10219
10220 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10221 explicit references to "parent" field of struct interval and
10222 associated unclean type conversions.
52283633
SM
10223 * intervals.c (create_root_interval, root_interval, rotate_right)
10224 (rotate_left, balance_possible_root_interval, split_interval_right)
10225 (split_interval_left, interval_start_pos, find_interval)
10226 (next_interval, previous_interval, update_interval)
10227 (adjust_intervals_for_insertion, delete_node, delete_interval)
10228 (adjust_intervals_for_deletion, merge_interval_right)
10229 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10230 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10231 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10232 Likewise.
10233 * syntax.c (update_syntax_table): Likewise.
10234
10235 * intervals.c (reproduce_tree_obj): New function, like
10236 reproduce_tree but takes a Lisp_Object for the parent. Declare
10237 with prototype.
10238 (graft_intervals_into_buffer): Use it when appropriate.
10239 (reproduce_tree): Declare with prototype.
10240 (balance_possible_root_interval): Check that the parent is a lisp
10241 object before trying to examine its type.
10242
ee1c5b21
GM
102432000-03-22 Gerd Moellmann <gerd@gnu.org>
10244
10245 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10246 as strings only if both are known to be strings.
10247
10248 * s/openbsd.h (LIBS_TERMCAP): Undef.
10249
1fb352e0
SM
102502000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10251
10252 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10253 definitions for non-Emacs compilation.
10254 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10255 outside of `#ifdef emacs'.
10256 (print_partial_compiled_pattern): Update.
10257 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10258 (re_compile_fastmap): Merge handling of charset and charset_not (for
10259 emacs and non-emacs compilation as well).
10260 Similarly for (not)categoryspec and (not)syntaxspec.
10261 Don't use the fastmap when reaching `anychar' since the added
10262 complexity is not justified.
10263 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10264 and (not)syntaxspec. Merge (not)categoryspec.
10265
fdaa1f77
KH
102662000-03-22 Kenichi Handa <handa@etl.go.jp>
10267
52283633
SM
10268 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10269 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10270 --without-x.
fdaa1f77 10271
d152fb46
DL
102722000-03-21 Dave Love <fx@gnu.org>
10273
10274 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10275 doc string.
10276
d2cafc8c
GM
102772000-03-21 Gerd Moellmann <gerd@gnu.org>
10278
10279 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10280 (lface_fully_specified_p): Don't check contents of
10281 LFACE_FONT_INDEX because that attribute is optional.
10282 (realize_x_face): Remove now unwarranted xassert.
10283
9111d4b5
KH
102842000-03-21 Kenichi HANDA <handa@etl.go.jp>
10285
10286 The following changes are to make font selection based on
10287 characters, not charset. In addition, they recover fontset
10288 facilities while utilizing the new font selection mechanism.
10289
6c4bfdc0
KH
10290 * Makefile.in (fontset.o): Depend on dispextern.h.
10291
10292 * alloc.c (mark_face_cache): Don't mark face->registry.
10293
9111d4b5
KH
10294 * dispextern.h (struct glyph): New member glyph_not_available_p.
10295 Use 22 bits for face_id.
10296 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10297 (struct face): Delete member registry, new member ascii_face.
10298 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10299 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10300 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10301 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10302
10303 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10304 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10305 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10306 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10307 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10308 (fs_free_face_fontset, fontset_font_pattern)
10309 (face_suitable_for_char_p, face_for_char)
10310 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10311 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10312 (FS_LOAD_FACE_FONT): New macro.
10313
10314 * fontset.c: All codes rewritten or adjusted for the change of
10315 fontset implementation. Now fontset is represented by char table.
52283633
SM
10316 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10317 Variables removed.
9111d4b5 10318 (my_strcasecmp): Function removed.
52283633 10319 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10320 (AREF, ASIZE): New macros.
52283633
SM
10321 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10322 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10323 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10324 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10325 (fontset_id_valid_p, font_family_registry, fontset_name)
10326 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10327 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10328 New functions.
10329 (fs_load_font): New arg FACE. Caller changed.
10330 (fs_query_fontset): Argument changed. Caller changed.
10331 (Fquery_fontset): call fs_query_fontset.
10332 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10333 Functions removed.
52283633
SM
10334 (clear_fontset_elements, check_registry_encoding)
10335 (check_fontset_name): New functions.
9111d4b5
KH
10336 (syms_of_fontset): Set char-table-extra-slots property of fontset
10337 to 3. Staticpro and initialize Vfontset_table and
10338 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10339
10340 * frame.h (struct frame): Member `fontset_data' removed.
10341 (FRAME_FONTSET_DATA): Macro removed.
10342
10343 * frame.c (make_frame): Don't allocate f->fontset_data.
10344 (Fdelete_frame): Don't free f->fontset_data.
10345
6c4bfdc0
KH
10346 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10347
9111d4b5
KH
10348 * xdisp.c (charset_at_position): Function removed.
10349 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10350 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10351 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10352 Likewise.
10353 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10354 FACE_FOR_CHARSET.
52283633
SM
10355 (get_next_display_element, append_space)
10356 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10357
10358 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10359 Variables removed.
10360 (clear_font_table, frame_update_line_height, load_face_font):
10361 Adjusted for the change of fontset implementation.
10362 (load_face_fontset_font): Function removed.
10363 (pixel_point_size): New function.
10364 (font_list): Argument type changed. Caller changed.
10365 (LFACE_FONT): New macro.
10366 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10367 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10368 Lisp_Object. Determine the font name by actually loading a font
10369 by the specified pattern. Set LFACE_FONT (lface) to the specified
10370 pattern. Even if a font is not found, don't try alternatives.
10371 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10372 (set_font_frame_param): If `font' is specified in lface, use it.
10373 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10374 (lface_same_font_attributes_p): Likewise.
10375 (make_realized_face): Arguent changed. Caller changed. Set
10376 face->ascii_face to face itself.
10377 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10378 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10379 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10380 (free_realized_multibyte_face): New function.
10381 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10382 changed. Caller changed.
10383 (try_font_list): Argument type changed.
10384 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10385 (choose_face_font): Argument changed. Handle fontset properly.
10386 (choose_face_fontset_font): Function removed.
10387 (realize_default_face, realize_named_face): Don't remove the
10388 former face here.
10389 (realize_face): Argument changed. Caller changed. Remove face
52283633 10390 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10391 (realize_x_face): Argument changed. Caller changed. For a
10392 multibyte character, share fontset with base_face. For a single
52283633 10393 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10394 (realize_tty_face): Argument changed. Caller changed.
10395 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10396 (face_at_buffer_position): Don't check multibyte_p for returning
10397 DEFAULT_FACE_ID.
10398 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10399 FACE_SUITABLE_FOR_CHARSET_P.
10400 (syms_of_xfaces): Remove code for Qx_charset_registry and
10401 Vface_default_registry.
10402
6c4bfdc0
KH
10403 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10404 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10405 (x_per_char_metric): Don't try FONT->default_char. Even if
10406 pcm->width is zero, glyph bits may exist.
10407 (x_encode_char): Always initialize char2b->byte1.
10408 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10409 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10410 (x_append_glyph): Set glyph->glyph_not_available_p.
10411 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10412 it->charset. Handle the case that per char metric is not
10413 available. If it->multibyte_p is zero and it->c is a multibyte
10414 character, convert it to a unibyte character.
10415 (struct glyph_string): Delete member `charset'.
10416 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10417 the case that per char metric is not available correctly.
10418 (x_fill_glyph_string): Handle the case that the specific glyph is
10419 not available correctly.
10420 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10421 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10422 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10423 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10424 fontset. Don't call FS_LOAD_FONT.
10425
10426 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10427 (x_create_tip_frame): Likewise.
10428 (Fx_close_connection): Free full_name of font_info.
10429
10430 * fns.c (optimize_sub_char_table): New function.
10431 (Foptimize_char_table): New function.
10432 (syms_of_fns): Defsubr Soptimize_char_table.
10433
b33dd3b0
GM
104342000-03-20 Gerd Moellmann <gerd@gnu.org>
10435
10436 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10437 only if buffer is displayed in some window.
10438
10439 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10440 (try_window_reusing_current_matrix): Don't call scroll run
10441 function if run's current and desired position are the same;
10442 this prevents cursor flickering.
10443
4e8a9132
SM
104442000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10445
10446 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10447
10448 * regex.c (RE_STRING_CHAR): New macro.
10449 (GET_CHAR_AFER_2): Remove.
10450 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10451 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10452 (print_partial_compiled_pattern, re_compile_fastmap)
10453 (re_match_2_internal): Remove on_failure_jump_exclusive.
10454 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10455 optimization only need to work for * (ie. can use of_keep_string_jump).
10456 Remove the special case for .*\n since it is now covered by the general
10457 optimization.
10458 (re_search_2): Don't bother with `room'.
10459 (skip_one_char): New function.
10460 (skip_noops): Simplify since `memory' is not needed any more.
10461 (mutually_exclusive_p): Restructure slightly to use `switch' and
10462 add handling for "all" remaining cases.
10463 (re_match_2_internal): Change on_failure_jump_smart to use
10464 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10465 rather than on_failure_jump_exclusive.
10466
2136fdd4
GM
104672000-03-19 Gerd Moellmann <gerd@gnu.org>
10468
10469 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10470 number of bits per RGB because it's everywhere used as the depth
10471 of the visual.
10472
10473 * term.c (calculate_costs): Remove code dealing with X frames.
10474
18e21ce8 104752000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10476
10477 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10478
d7b511c4
GM
104792000-03-18 Gerd Moellmann <gerd@gnu.org>
10480
10481 * lread.c (read_integer): Unread the last char not consumed.
10482
16b5d424
GM
104832000-03-17 Gerd Moellmann <gerd@gnu.org>
10484
10485 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10486 which are in the process of being deleted.
16b5d424 10487
1fa28578
GM
104882000-03-16 Gerd Moellmann <gerd@gnu.org>
10489
83488cce
GM
10490 * Makefile.in (mostlyclean): Add `*.core'.
10491 (clean): Add `bootstrap-emacs'.
10492
1fa28578
GM
10493 * lread.c (read_integer): New function.
10494 (read1): Support read syntax #o, #x, #b, #r.
10495
99633e97
SM
104962000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10497
1fa28578
GM
10498 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10499 make sure POINTER_TO_OFFSET gives the same value before and after
10500 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10501 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10502 (debug): Now only active if > 0 rather than if != 0.
10503 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10504 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10505 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10506 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10507 (store_op1, store_op2, insert_op1, insert_op2)
10508 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10509 (group_in_compile_stack): Move to after its arg's types are
10510 declared and add a prototype.
99633e97 10511 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10512 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10513 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10514 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10515 indentation of the greedy-op and shy-group code.
99633e97
SM
10516 (at_(beg|end)line_loc_p): Fix argument's types.
10517 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10518 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10519 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10520 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10521 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10522 QUIT unconditionally.
99633e97 10523
699238d9
GM
105242000-03-15 Gerd Moellmann <gerd@gnu.org>
10525
10526 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10527 a sole completion.
10528
10529 * process.c (send_process): Add a hint that the function
10530 can call Lisp code to its comment.
10531
10532 * lread.c (load_dangerous_libraries): New variable.
10533 (Vbytecomp_version_regexp): New variable.
10534 (safe_to_load_p): New function.
10535 (Fload): Handle files not compiled with Emacs specially.
10536 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10537
34e23e5a
GM
105382000-03-14 Gerd Moellmann <gerd@gnu.org>
10539
9c763cca
GM
10540 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10541
10542 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10543 support functions only if HAVE_X11R6_XIM is defined.
10544 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10545
10546 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10547
10548 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10549 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10550 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10551
10552 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10553 (HAVE_X11R6_XIM): Define.
10554
10555 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10556
34e23e5a
GM
10557 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10558 If set, call XSynchronize.
10559
66f0296e
SM
105602000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10561
34e23e5a
GM
10562 * regex.c: Declare a new type `re_char' used throughout the code
10563 for the string char type. It's `const unsigned char' to match the
10564 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10565 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10566 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10567 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10568 code duplication.
66f0296e
SM
10569
10570 * charset.h (GET_CHAR_AFTER_2): Remove.
10571 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10572
854a025c
KR
105732000-03-12 Ken Raeburn <raeburn@gnu.org>
10574
10575 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10576 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10577 of them try to use backquotes.
10578
b9d2c7e2
DL
105792000-03-12 Dave Love <fx@gnu.org>
10580
10581 * unexelf.c: Restore changes of 1999-10-19.
10582 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10583 fix its type and alignment; copy it from current process.
10584
5e5dff44
GM
105852000-03-12 Gerd Moellmann <gerd@gnu.org>
10586
9b2f3c38
GM
10587 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10588 has been found. Fix bug not computing timer's predecessor.
10589
427ec082 10590 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10591 file name.
10592
e1cff360
GM
10593 * window.c (Fsave_window_excursion): Doc fix.
10594
52283633 10595 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10596
e411ce4b
EZ
105972000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10598
10599 * msdos.c (vga_installed): New function, code moved from
10600 dos_set_window_size.
10601 (Qbar, Qcursor_type, outside_cursor): New variables.
10602 (syms_of_msdos): Intern and staticpro them.
10603 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10604 shape used outside Emacs when called for the first time.
10605 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10606 cursor shape used outside Emacs.
10607 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10608 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10609 type has changed.
10610 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10611 parameters specify the cursor. Make qreverse a global
10612 variable (renamed to Qreverse).
10613
80460654
GM
106142000-03-09 Gerd Moellmann <gerd@gnu.org>
10615
10616 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10617
95cd4c40
SM
106182000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10619
10620 This is a big redesign of failure-stack and register handling, prompted
10621 by bugs revealed when trying to add shy-groups. Overall, what happened
10622 is that loops are now structured a little differently, groups can be
10623 shy and the code is a little simpler.
10624
10625 * regex.h: Update the copyright.
10626 (RE_SHY_GROUPS): New value.
10627 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10628 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10629
80460654
GM
10630 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10631 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10632 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10633 for (start|stop)_memory since they now only take one argument (the
10634 second has becomes unnecessary).
52283633 10635 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10636 (print_compiled_pattern): Use %ld to printf long ints and flush to
10637 make debugging a little easier.
95cd4c40
SM
10638 (union fail_stack_elt): Make the integer unsigned.
10639 (struct fail_stack_type): Add a `frame' element.
10640 (INIT_FAIL_STACK): Init `frame' as well.
10641 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10642 (DEBUG_PUSH, DEBUG_POP): Remove.
10643 (NUM_REG_ITEMS): Remove.
10644 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10645 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10646 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10647 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10648 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10649 New macros.
80460654
GM
10650 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10651 address pushed is not the destination of the jump but the source
10652 of it instead.
95cd4c40
SM
10653 (NUM_FAILURE_ITEMS): Remove.
10654 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10655 registers before the actual failure point). Don't hardcode any
10656 meaning for str==NULL anymore.
95cd4c40 10657 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10658 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10659 Remove.
95cd4c40
SM
10660 (REG_UNSET_VALUE): Use NULL (why not?).
10661 (compile_range): Remove declaration since it doesn't exist.
10662 (struct compile_stack_elt_t): Remove inner_group_offset.
10663 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10664 (regex_grow_registers): Remove dead code.
10665 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10666 (regex_compile): Add shy-groups Change loops to use
10667 on_failure_jump_smart&jump instead of
10668 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10669 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10670 variable to me). Use `jump' instead of `jump_past_alt' and don't
10671 bother with push_dummy_failure in alternatives since it is now
10672 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10673 emacs' for (re)allocating the stack.
10674 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10675 from loop when bufp->can_be_null rather than jumping to `done'.
10676 Avoid jumping backwards so as to ensure termination. Use
10677 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10678 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10679 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10680 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10681 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10682 (lowest_active_reg, highest_active_reg)
10683 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10684 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10685 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10686 variables. Push register (in `start_memory') on the stack rather
10687 than storing it in old_reg(start|end). Remove the cycle detection
10688 from `stop_memory', replaced by the use of on_failure_jump_loop
10689 for greedy loops. Add code for the new on_failure_jump_<foo>.
10690 Remove ad-hoc code in `on_failure_jump' to push more registers in
10691 the case of a loop. Take out code from `maybe_pop_jump' into
10692 separate functions and adapt it to the semantics of
10693 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10694 and push_dummy_failure. Remove dummy_failure handling and
10695 handling of `failures to jump to on_failure_jump' (this last one
10696 was already dead code, it seems).
10697 (group_match_null_string_p, alt_match_null_string_p)
10698 (common_op_match_null_string_p): Remove.
95cd4c40 10699
7397acc4
DL
107002000-03-08 Dave Love <fx@gnu.org>
10701
10702 * config.in: Don't depend on __STDC__ for volatile.
10703 Add POINTER_TYPE, PTR, PROTOTYPES.
10704
10705 * hftctl.c, strftime.c: Use PROTOTYPES.
10706 * eval.c (find_handler_clause): Likewise.
10707
10708 * mem-limits.h: Use POINTER_TYPE.
10709
10710 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10711 (memory_warnings): Declare using POINTER_TYPE.
10712
5e91ff9e
GM
107132000-03-08 Gerd Moellmann <gerd@gnu.org>
10714
feab4fba
GM
10715 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10716
52283633 10717 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10718
5e91ff9e
GM
10719 * xfns.c: Remove obsolete code in #if 0.
10720 (Fx_focus_frame): New function.
10721
a735b7e1
KH
107222000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10723
10724 * coding.c (coding_category_name): Add coding-category-utf-8,
10725 coding-category-utf-16-be, coding-category-utf-16-le.
10726 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10727 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10728 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10729 (detect_coding_utf_8): New function.
10730 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10731 UTF_16_LOW_SURROGATE_P): New macros.
10732 (detect_coding_utf_16): New function
10733 (detect_coding_mask): When priorities are specified, skip any
10734 categories that have `nil' coding-system. Fix bug of returning
10735 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10736 returns a mask not set in PRIORITIES.
10737 (detect_eol_type_in_2_octet_form): New function.
10738 (detect_eol): selects detect_eol_type_XXX to call according to
10739 cooding->category_idx.
10740 (detect_coding_system): Remove `nil' coding-system in the result.
10741 (Fupdate_coding_systems_internal): Update all coding-categories.
10742
52283633
SM
10743 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10744 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10745 New macros.
10746 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10747 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10748 (CODING_CATEGORY_IDX_UTF_16_LE)
10749 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10750 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10751 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10752 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10753
9994cc69
GM
107542000-03-07 Gerd Moellmann <gerd@gnu.org>
10755
e9b4e5ff
GM
10756 * doc.c (Fdocumentation_property): If value is not a string,
10757 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10758
f7daf1e1
GM
10759 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10760 close the display with XtCloseDisplay. This caused a bus error
10761 on OpenWindows.
10762
9994cc69
GM
10763 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10764 complete but not unique.
10765
4336c705
GM
107662000-03-06 Gerd Moellmann <gerd@gnu.org>
10767
18bb0684
GM
10768 * process.c (send_process): Remove local variable `procname' that
10769 might become invalid when a GC happens. Instead, access the
10770 process name slot directly.
10771
4336c705
GM
10772 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10773 orig_height if set.
10774
10775 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10776 orig_height if set.
10777
515d0d0e
EZ
107782000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10779
10780 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10781 glyph matrices have been freed.
10782
100b3cbb
GM
107832000-03-05 Gerd Moellmann <gerd@gnu.org>
10784
50df5e5a 10785 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10786 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10787
10788 * xfns.c (QCdata): Moved to xdisp.c.
10789
10790 * xdisp.c (QCdata): Moved here from xfns.c.
10791 (syms_of_xdisp): Initialize QCdata.
10792
10793 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10794
10795 * window.c (coordinates_in_window): Use
10796 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10797 FRAME_INTERNAL_BORDER_WIDTH.
10798
100b3cbb 10799 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10800 it is obviously invalid.
100b3cbb
GM
10801
10802 * xterm.c (x_term_init): Create a colormap if not using the
10803 default visual.
10804
10805 * xterm.h (select_visual): Change prototype.
10806
10807 * xfns.c (select_visual): Rewritten. Recognize user-specified
10808 visual classes.
10809 (visual_classes): New variable.
10810
64d739c4
GM
108112000-03-04 Gerd Moellmann <gerd@gnu.org>
10812
10813 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10814 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10815 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10816 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10817 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10818 XtNcolormap resources.
10819 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10820 (Fx_create_frame): Initialize color members of x_output structure.
10821 (xpm_load): Pass colormap to XPM lib.
10822
10823 * xfaces.c (x_free_colors): Access colormap of frame using
10824 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10825 when default colormap is used.
10826
10827 * xterm.c (x_term_init): Set Colormap member of x_display_info
10828 structure. Copy colormap if resource `privateColormap' is
10829 specified (PseudoColor only).
10830 (x_setup_relief_color): Access colormap of frame using
10831 FRAME_X_COLORMAP.
10832
10833 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10834 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10835
c3cee013
JR
108362000-03-04 Jason Rumney <jasonr@gnu.org>
10837
10838 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10839 other non-platform-specific equivalents.
64d739c4 10840 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10841 specific functions and macros as their w32 equivalents where
10842 non-platform-specifics are not available.
10843 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10844 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10845 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10846 (frame_update_line_height): Use macros to access f->output_data.
10847 (defined_color): Remove FIXME comments; fixed.
10848 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10849 into #ifdef blocks. Add WINDOWSNT blocks.
10850 (Fx_list_fonts): Use macros for accessing font data.
10851 (set_lface_from_font_name): Different default fonts for X and
10852 WINDOWSNT.
10853 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10854 scalable for backward compatibility.
64d739c4 10855 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10856 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10857
64d739c4 10858 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10859 syms_of_w32faces.
10860
10861 * makefile.nt (w32faces.obj): Remove.
10862 (xfaces.obj): Add.
10863
807cc41c
JR
108642000-03-03 Jason Rumney <jasonr@gnu.org>
10865
10866 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10867 correct parameters.
10868
0007072a
KR
108692000-03-03 Ken Raeburn <raeburn@gnu.org>
10870
10871 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10872 standard ELF definitions here if the system header does not.
10873
71a6ba55
GM
108742000-03-03 Gerd Moellmann <gerd@gnu.org>
10875
10876 * xterm.c (PER_CHAR_METRIC): Removed.
10877 (x_per_char_metric_1, x_default_char): New functions.
10878 (x_per_char_metric): If font's default char is invalid, return
10879 metrics of a suitably chosen usable default char.
10880 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10881 char, replace occurrences of unprintable chars with a suitably
10882 chosen usable default char.
71a6ba55 10883
900fa1f1
GM
108842000-03-02 Gerd Moellmann <gerd@gnu.org>
10885
42f55fe0
GM
10886 * xterm.c (note_mouse_highlight): Return quickly if frame's
10887 glyph matrices have been freed.
10888
10889 * dispnew.c (free_glyphs): Block input while freeing matrices.
10890
900fa1f1
GM
10891 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10892
52283633
SM
10893 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10894 Use x_free_colors.
900fa1f1
GM
10895
10896 * dispextern.h (x_free_colors): Add prototype.
10897
10898 * xfaces.c (x_free_colors): New function.
10899 (unload_color, free_face_colors): Use it.
10900
2f950292
EZ
109012000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10902
10903 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10904
10905 * window.c [MSDOS]: Include msdos.h.
10906
54d04320
DL
109072000-03-02 Dave Love <fx@gnu.org>
10908
10909 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10910
10911 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10912 set C_OPTIMIZE_SWITCH for gcc.
10913
0ba93ac4
KH
109142000-03-02 Kenichi Handa <handa@etl.go.jp>
10915
10916 * coding.c (coding_save_composition): Be sure to allocate
10917 composition data area in coding even if there's no composition in
10918 the current run.
10919
a2bc11d4
JR
109202000-03-01 Jason Rumney <jasonr@gnu.org>
10921
10922 * w32term.c: Equivalent changes to those made to xterm.c on
10923 2000-02-25 and 2000-02-24.
10924
10925 * w32fns.c: Equivalent changes to those made to xfns.c on
10926 2000-02-25 and 2000-02-21.
10927
10928 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10929 correct line-end convention is followed.
10930
10931 * w32menu.c [HAVE_BOXES]: Remove #undef.
10932 (single_keymap_panes): Remove code for simulating checkmarks.
10933 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10934 Remove code for drawing simulated checkmarks.
10935 (w32_menu_show): make unibyte help string correctly.
10936 (add_menu_item): draw standard Windows checkmarks. Draw radio
10937 buttons as radio buttons if possible.
10938
72d19d75
GM
109392000-03-01 Gerd Moellmann <gerd@gnu.org>
10940
2df636f4
GM
10941 * sysdep.c (start_of_text): Don't define this function for NetBSD
10942 with ELF.
10943
427ec082 10944 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10945 Don't define.
10946 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10947 (LINKER): Don't undef if __NetBSD__ is defined.
10948
10949 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10950
10951 * fileio.c [__NetBSD__]: Define `unix'.
10952
72d19d75
GM
10953 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10954
ed4d0512
GM
109552000-02-29 Gerd Moellmann <gerd@gnu.org>
10956
50b1039f
GM
10957 * atimer.c (start_atimer): Don't abort when timers are stopped.
10958 (append_atimer_lists): New function.
10959 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10960 arbitrary lists of stopped and running atimers.
10961
ed4d0512
GM
10962 * atimer.c (cancel_atimer): Handle canceling an atimer when
10963 some timers are stopped.
10964
10965 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10966 after canceling it.
10967
10968 * fns.c (maybe_resize_hash_table): Handle case of new size
10969 coming out as being the same as old size.
10970
387023ee
JR
109712000-02-27 Jason Rumney <jasonr@gnu.org>
10972
10973 * makefile.nt: Add atimer.h to dependencies.
10974 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10975 * w32console.c: Only disable window system features for dispextern.h
10976 (initialize_w32_display): Build a display info for the console.
10977 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10978 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10979 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10980 as 2 button mice.
10981 * w32gui.h (struct W32FontStruct): Revert last change after change
10982 to xdisp.c.
10983 * w32menu.c (single_submenu): Set up help string.
10984 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10985 (w32_dialog_show): Set up help string.
10986 * w32term.c (w32_display_info_for_display): Remove unused function.
10987 (w32_draw_bitmap): Use pre-built bitmaps.
10988 (w32_initialize_display_info): New function to initialize parts of
10989 display info that are common to both GUI and console frames.
10990 (w32_term_init): Use w32_initialize_display_info. Do not set
10991 Vw32_num_mouse_buttons here, as it is not called for console
10992 frames. Build bitmaps for indicating truncated lines etc.
10993 (x_delete_display): Destroy pre-built bitmaps.
10994 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10995 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10996
4516715a
DL
109972000-02-27 Dave Love <fx@gnu.org>
10998
10999 * lisp.h: Add a bunch of prototypes.
11000
171ca836
KH
110012000-02-26 Kenichi Handa <handa@etl.go.jp>
11002
11003 * keyboard.c (read_char): Set `usec' correctly.
11004
4013921d
KH
110052000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11006
11007 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11008 `lambda', set reg[RRR] to the map index.
11009 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11010 reg[RRR] to 0. Otherwise, set it to -1.
11011
9244a058
GM
110122000-02-25 Gerd Moellmann <gerd@gnu.org>
11013
2df636f4 11014 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11015
18e21ce8 110162000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11017
f43d79c1
GM
11018 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11019 and contains a `:', prepend `/:'.
11020
11021 * window.c (select_window_1): If selected_window is nil,
11022 don't "swap out" the buffer's point.
11023 (Fset_window_configuration): Set selected_window to nil
11024 before calling Fselect_window.
11025 (unshow_buffer): Don't set point in buffer from window's point
11026 if another more recently selected window also shows the buffer.
11027
bed0c171
GM
110282000-02-25 Gerd Moellmann <gerd@gnu.org>
11029
449c3c52
GM
11030 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11031
f5b58615
GM
11032 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11033 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11034 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11035 New variables.
f5b58615
GM
11036 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11037 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11038 (hide_busy_cursor): New functions.
11039 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11040
11041 * minibuf.c (read_minibuf): Cancel busy-cursor.
11042
11043 * keyboard.c (command_loop_1): Call start_busy_cursor before
11044 Fcommand_execute and cancel_busy_cursor after it.
11045 (timer_check): Remove busy-cursor code.
11046 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11047 cursor timer.
11048
11049 * process.c (wait_reading_process_input): Remove busy-cursor code.
11050
11051 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11052 Fx_hide_busy_cursor.
11053
11054 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11055 Remove prototyoes.
11056 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11057
11058 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11059
11060 * xterm.c (XTread_socket): Remove busy-cursor code.
11061
4eb8436f
GM
11062 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11063 (build_frame_matrix_from_leaf_window): Put code handling
11064 glyph row's not being a slice of a frame row in #if 0.
11065 (sync_window_with_frame_matrix_rows): New function.
11066 (frame_row_to_window): New function.
11067 (mirror_line_dance): Handle copies between windows.
11068
3cb65b0e
GM
11069 * lread.c (Fload): Use `xfree' instead of `free'.
11070 (init_obarray): Use `xmalloc' instead of `malloc'.
11071
bed0c171
GM
11072 * window.c (Fset_window_buffer): Set WINDOW to the window
11073 after decoding.
2add4349
GM
11074 (coordinates_in_window): Take frame's internal border width
11075 into account.
bed0c171 11076
42088c12
GM
110772000-02-24 Gerd Moellmann <gerd@gnu.org>
11078
11079 * xterm.c (x_display_and_set_cursor): Display cursor of
11080 non-selected windows depending on the setting of
11081 cursor_in_non_selected_windows.
11082
11083 * xdisp.c (cursor_in_non_selected_windows): New variable.
11084 (syms_of_xdisp): DEFVAR_BOOL it.
11085
d1e103b2
GM
110862000-02-23 Gerd Moellmann <gerd@gnu.org>
11087
723e779c
GM
11088 * data.c (Fstring_to_number): If number is greater than what
11089 fits into an integer, return a float.
11090
d1e103b2
GM
11091 * eval.c (specbind): Remove references to
11092 keyword_symbols_constant_flag.
11093
11094 * data.c (keyword_symbols_constant_flag): Removed.
11095 (Fmakunbound, set_internal, syms_of_data): Remove references to
11096 keyword_symbols_constant_flag.
11097
11098 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11099
214f877f
KH
111002000-02-23 Kenichi Handa <handa@etl.go.jp>
11101
11102 * syntax.c (multibyte_syntax_as_symbol): New variable.
11103 (syms_of_syntax): Declare it as a Lisp variable.
11104 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11105 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11106 nonzero, treat all multibyte characters as symbol.
52283633 11107 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11108
130adcb7
EZ
111092000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11110
3cb65b0e 11111 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11112 a deleted frame.
130adcb7 11113
17cbbf95
GM
111142000-02-21 Gerd Moellmann <gerd@gnu.org>
11115
11116 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11117
11118 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11119 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11120
beb0bc36
DL
111212000-02-21 Dave Love <fx@gnu.org>
11122
11123 * frame.c (Vmouse_position_function): New variable.
11124 (Fmouse_position): Use it.
11125 (syms_of_frame): Install it.
11126
11127 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11128
1d92afcd
GM
111292000-02-20 Gerd Moellmann <gerd@gnu.org>
11130
11131 * fileio.c (Finsert_file_contents): Unbind the binding of
11132 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11133
11134 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11135 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11136 (specbind, unbind_to): Handle most common case of non-constant
11137 symbol with trivial value specially.
11138
11139 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11140
18e21ce8 111412000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11142
11143 * data.c (Fmake_variable_buffer_local): Doc fix.
11144 Init found_for_buffer to 0.
11145 (Fmake_variable_frame_local): If the variable has already
11146 been buffer-local, set the check_frame field.
11147
1d4311c3
EZ
111482000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11149
11150 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11151 produced for CODING_MODE_LAST_BLOCK requires.
11152
2dc95ddd
DL
111532000-02-18 Dave Love <fx@gnu.org>
11154
11155 * keyboard.c (echo_keystrokes): Remove declaration.
11156 (Vecho_keystrokes) New variable.
11157 (read_char, record_menu_key, read_key_sequence): Use it to allow
11158 use of float value.
11159 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11160
11161 * lread.c: Undef feature selection macros before defining.
11162
f0930f35
GM
111632000-02-18 Gerd Moellmann <gerd@gnu.org>
11164
11165 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11166 for symbols other than the symbol in question.
11167
e3d4de90
DL
111682000-02-17 Dave Love <fx@gnu.org>
11169
11170 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11171
0b378936
GM
111722000-02-17 Gerd Moellmann <gerd@gnu.org>
11173
d621caf7
GM
11174 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11175
0b378936
GM
11176 * alloc.c (enum mem_type): Compile unconditionally.
11177
3b451f74
EZ
111782000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11179
11180 * xfaces.c (tty_defined_color): Don't return faulire indication
11181 for unspecified-fg and unspecified-bg pseudo-colors.
11182
10689a01
GM
111832000-02-17 Gerd Moellmann <gerd@gnu.org>
11184
1216f5e4
GM
11185 * alloc.c (mark_object): Don't mark symbol names in pure space.
11186 (gc_sweep): Don't unmark symbol names in pure space.
11187
11188 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11189 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11190 [GC_MARK_STACK]: New defines.
427ec082 11191 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11192 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11193
11194 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11195
11196 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11197 allocate_buffer instead of xmalloc.
11198
11199 * alloc.c (toplevel): Include setjmp.h.
11200 (PURE_POINTER_P): New define.
11201 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11202 (Vdead) [GC_MARK_STACK]: New variable.
11203 (lisp_malloc): Add parameter TYPE, call mem_insert if
11204 GC_MARK_STACK is defined.
11205 (allocate_buffer): New function.
427ec082 11206 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11207 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11208 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11209 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11210 (MEM_NIL) [GC_MARK_STACK]: New define.
11211 (struct mem_node) [GC_MARK_STACK]: New structure.
11212 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11213 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11214 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11215 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11216 (mark_stack) [GC_MARK_STACK]: New functions.
11217 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11218 (clear_marks): Removed.
11219 (gc_sweep): Set free conses' car, free floats' type, free
11220 symbols' function to Vdead. Use lisp_free to free buffers.
11221 (init_alloc_once): Initialize Vdead.
11222 (survives_gc_p): Return non-zero for pure objects.
11223
11224 * alloc.c: Add comments throughout the file.
11225
2503c8b1
GM
11226 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11227 that unblocks alarms.
11228
8389e1e2
GM
11229 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11230 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11231 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11232
10689a01 11233 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11234
bfc17d18
KH
112352000-02-17 Kenichi Handa <handa@etl.go.jp>
11236
4a09dee0
KH
11237 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11238 avoid infinite error signaling. Allocate sufficient memory for
11239 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11240
2b927d02
SM
112412000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11242
11243 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11244 depends on the previous behavior.
11245
b49cb764
GM
112462000-02-16 Gerd Moellmann <gerd@gnu.org>
11247
11248 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11249
99e95407
GM
112502000-02-15 Gerd Moellmann <gerd@gnu.org>
11251
11252 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11253
11254 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11255 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11256 write(2).
11257
6ffd3cf7
RS
112582000-02-15 Richard M. Stallman <rms@gnu.org>
11259
11260 * data.c (set_internal): Don't make variable buffer-local
11261 if within a let-binding for the same buffer.
11262 (let_shadows_buffer_binding_p): New function.
11263
11264 * eval.c (specbind): For buffer-local value,
11265 record the current buffer also.
11266 (unbind_to): Cope with that change.
11267
cad53475
GM
112682000-02-15 Gerd Moellmann <gerd@gnu.org>
11269
11270 * window.c (Fsave_window_excursion): Doc fix.
11271
1aa963c8
SM
112722000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11273
11274 * syntax.c (back_comment): Make sure we only consider comment-starters
11275 of the relevant style and return -1 in case of a failure to find the
11276 beginning of the comment.
11277 (Fforward_comment): If back_comment fails, go back to the position just
11278 after the comment-end.
11279 (scan_lists): Add comment describing a very minor bug.
11280
b9b84fd3
SM
112812000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11282
11283 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11284 `completion-regexp-list' in the docstring.
11285
3a28db80
DL
112862000-02-14 Dave Love <fx@gnu.org>
11287
11288 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11289
fb4a568d
SM
112902000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11291
11292 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11293 to Emacs' syntax. Also fix the comment about set/not-set meanings
11294 since Emacs syntax is not the value 0 any more.
11295 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11296 since it's now part of RE_SYNTAX_EMACS.
11297
1063ebb5
DL
112982000-02-12 Dave Love <fx@gnu.org>
11299
52283633 11300 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11301
fb07a302
GM
113022000-02-12 Gerd Moellmann <gerd@gnu.org>
11303
11304 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11305
aaf2320c
DL
113062000-02-12 Dave Love <fx@gnu.org>
11307
11308 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11309
11310 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11311 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11312 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11313
11314 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11315
11316 * s/nextstep.h: Don't define HAVE_ALLOCA.
11317
11318 * config.in: Add vfork bits.
11319
eedf8bde
GM
113202000-02-12 Gerd Moellmann <gerd@gnu.org>
11321
11322 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11323 unwind function to undo the effect of stopping atimers.
11324
52283633 11325 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11326
11327 * atimer.c (stopped_atimers): New variable.
11328 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11329 New functions.
11330
11331 * atimer.h (stop_other_atimers, run_all_atimers)
11332 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11333
eedf8bde
GM
11334 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11335
8476c2f8
KR
113362000-02-11 Ken Raeburn <raeburn@gnu.org>
11337
11338 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11339 library may depend on jpeg.
11340 (atimer.o): Depends on atimer.c.
11341
0e85e4a3
KH
113422000-02-11 Kenichi Handa <handa@etl.go.jp>
11343
11344 * insdel.c (del_range_1): Call update_compositions.
11345 (del_range_both): Call update_compositions just once..
11346
97fa0cc8
DL
113472000-02-10 Dave Love <fx@gnu.org>
11348
11349 * xfns.c (create_frame_xic): Fix initialization of automatic
11350 aggregates for pcc.
11351
25566a3c
KH
113522000-02-09 Kenichi Handa <handa@etl.go.jp>
11353
11354 * ccl.c (CCL_MAKE_CHAR): New macro.
11355 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11356 registers by CCL_MAKE_CHAR before calling translate_char.
11357 <CCL_TranslateCharacterConstTbl> Likewise.
11358
69da54ba
DL
113592000-02-08 Dave Love <fx@gnu.org>
11360
11361 * lread.c (__EXTENSIONS__): Define.
11362
f7136ee8
GM
113632000-02-08 Gerd Moellmann <gerd@gnu.org>
11364
11365 * puresize.h (BASE_PURESIZE): Increase to 650000.
11366
7768790b
EZ
113672000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11368
11369 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11370 the help message.
11371
38fd211b
EZ
113722000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11373
11374 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11375 md, mh, mb, mr, and me to the fake termcap entry.
11376
66e4690f
KR
113772000-02-06 Ken Raeburn <raeburn@gnu.org>
11378
11379 * sound.c (sound_cleanup): Don't call device close routine if the
11380 function pointer is null.
11381
a75dfea0
AI
113822000-02-06 Andrew Innes <andrewi@gnu.org>
11383
11384 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11385 around image definitions and prototypes.
11386 (gamma_correct) [WINDOWSNT]: New prototype.
11387
11388 * w32term.c (x_make_frame_visible): Replace call to
11389 input_poll_signal with poll_for_input.
11390
11391 * window.c [WINDOWSNT]: Include w32term.h.
11392
11393 * xdisp.c [WINDOWSNT]: Include w32term.h.
11394
11395 * makefile.nt: Add dependencies on w32gui.h.
11396 (OBJ1): Include atimer.obj.
11397 ($(BLD)\atimer.obj): New dependency rule.
11398
11399 * w32.c (sigmask): New function (does nothing).
11400 (sigunblock): Ditto.
11401
11402 * frame.c [WINDOWSNT]: Include w32term.h.
11403
11404 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11405
11406 * lread.c (syms_of_lread): Fix literal newlines.
11407
11408 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11409 the string constant limit (2048 bytes) in MSVC.
11410 (main): Ditto.
11411
59ddecde
GM
114122000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11413
52283633 11414 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11415 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11416 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11417 dispatch the event.
11418
07590973
DL
114192000-02-04 Dave Love <fx@gnu.org>
11420
11421 * fileio.c: Remove some unused vars.
11422 (_GNU_SOURCE): Define (for euidaccess).
11423
11424 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11425
11426 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11427 gcpro1, gcpro2.
11428 (read_minibuf): Deal with allow_props correctly.
11429
649351f9
EZ
114302000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11431
11432 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11433
66e4690f 114342000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11435
11436 * search.c (compile_pattern): If a cache entry has a nil regexp,
11437 fill in that entry instead of clobbering a previously cached
11438 string regexp.
11439
66e4690f 114402000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11441
11442 * puresize.h (BASE_PURESIZE): Increase to 610000.
11443
d240a249
GM
114442000-02-02 Gerd Moellmann <gerd@gnu.org>
11445
11446 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11447 can GC.
11448
ca91fb26
KH
114492000-02-02 Kenichi Handa <handa@etl.go.jp>
11450
25660570
KH
11451 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11452 instead of incrementing ic directly.
11453 <CCL_WriteExprConst> Likewise.
11454 <ccl_set_expr>: Set ic to jump_address.
11455
ca91fb26
KH
11456 * fileio.c (e_write): Fix the handling of
11457 CODING_FINISH_INSUFFICIENT_SRC.
11458
2ede9689
DL
114592000-02-01 Dave Love <fx@gnu.org>
11460
11461 * editfns.c (Fpropertize): Doc fix.
11462
11463 * process.c (Fstart_process): Doc fix.
11464
11465 * eval.c: Fix various doc strings not to duplicate information
11466 from help-manyarg-func-alist.
11467
52283633 11468 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11469
11470 * doc.c (Vhelp_manyarg_func_alist): New variable.
11471 (Fdocumentation): Use it.
11472 (syms_of_doc): Define it.
11473
b6680a0e
GM
114742000-01-31 Gerd Moellmann <gerd@gnu.org>
11475
2cb750ba
GM
11476 * xterm.c (xim_open_dpy): Remove unused local variable.
11477
52283633 11478 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11479
11480 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11481 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11482
b6680a0e
GM
11483 * fns.c (sweep_weak_table): New function.
11484 (sweep_weak_hash_tables): Use it. Keep on marking until there
11485 is no more change.
11486
994c5afe
GM
114872000-01-30 Gerd Moellmann <gerd@gnu.org>
11488
11489 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11490 that XTread_socket does not crash by trying to call XNoOp on a
11491 closed display.
427ec082 11492
f00276e3
JR
114932000-01-30 Jason Rumney <jasonr@gnu.org>
11494
11495 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11496 Change selected_frame to SELECTED_FRAME ().
11497 (w32_console_mouse_position): Remove #ifndef MULE from around
11498 `insist' parameter.
11499
11500 * makefile.nt: Remove dosfns.obj.
11501
11502 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11503
11504 * w32fns.c (w32_defined_color): Check for valid frame before
11505 applying gamma correction. Eliminate dependency on frame elsewhere.
11506 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11507 (w32_to_x_font): Use resx and resy not height_in and width_in.
11508 (x_to_w32_font): Doc fix.
11509 (xlfd_strip_height): New function to strip and return font height.
11510 (w32_font_match): Compare height separately from rest of xlfd
11511 spec, using xlfd_strip_height.
11512
11513 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11514 width_in. Use w32_defined_color in place of defined_color.
11515
11516 * w32faces.c: Merge more of DOS and X specifics in preparation for
11517 merge with xfaces.c.
11518 (defined_color): Remove FIXME comment.
11519 (tty_color_name): Provide w32-specific function.
11520 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11521
11522 * w32console.c (turn_on_face, turn_off_face): Removed.
11523 (w32_face_attributes): New function.
11524 (Global_variables): Reduce scope where possible.
11525 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11526 fill attribute.
11527 (hl_mode): Don't modify text attributes.
11528 (write_glyphs): Don't do anything if len <= 0. Use
11529 w32_face_attributes to get attributes for drawing. Write
11530 terminating codes using char_attr_normal.
11531 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11532 (update_begin, update_end): Likewise.
11533 (vga_stdcolor_name): New function.
11534 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11535 (Fset_screen_color): Remove char_attr_reverse.
11536
b08e8bb2
GM
115372000-01-29 Gerd Moellmann <gerd@gnu.org>
11538
11539 * xfns.c (xic_set_preeditarea): Take window parameter and
11540 window-relative pixel-positions.
11541
11542 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11543 is its frame's selected window.
11544 (xim_instantiate_callback): Likewise.
11545
11546 * xfns.c (x_create_im): Removed.
11547 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11548 (supported_xim_styles): Renamed from supported_styles.
11549 (best_xim_style): Renamed from best_style.
11550 (create_frame_xic): Renamed from xic_create_frame.
11551 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11552
b08e8bb2
GM
115532000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11554
11555 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11556 our frames, call XFilterEvent with 2nd parameter `None'.
11557 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11558 returning XBufferOverflow.
52283633 11559 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11560 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11561 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11562 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11563 (xim_initialize, xim_close)
11564 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11565 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11566 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11567 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11568
11569 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11570 and `xim_styles'.
11571 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11572 `xic_style' and `xic_xfs'.
11573 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11574 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11575 (FRAME_XIM): Removed.
11576
11577 * xfns.c (supported_styles): New variable.
11578 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11579 (xic_create_xfontset, best_style, xic_create_frame)
11580 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11581 (xic_set_xfontset): New functions.
11582
142e109c
DL
115832000-01-28 Dave Love <fx@gnu.org>
11584
11585 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11586
11587 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11588
b02786f9
GM
115892000-01-28 Gerd Moellmann <gerd@gnu.org>
11590
d060bc9f
GM
11591 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11592 for *scratch* if it already existed.
11593
b02786f9
GM
11594 * emacs.c (USAGE): New macro.
11595 (main): Use it to display usage information.
11596
2c52d7e4
EZ
115972000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11598
11599 Support for the menu-help feature:
11600
52283633 11601 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11602
11603 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11604 part of the line to the termscript file.
11605 (IT_clear_to_end): Clear the entire line, not just its beginning.
11606 (menu_help_message, prev_menu_help_message): New variables.
11607 (IT_menu_make_room): Make room for the help_text member.
11608 (IT_menu_display): New argument disp_help; all callers changed.
11609 If disp_help is non-zero, store the help text of the active menu
11610 item in menu_help_message.
11611 (XMenuAddPane): Initialize the help_text member to NULL.
11612 (XMenuAddSelection): New argument help_text. Store it in the
11613 XMenu structure.
11614 (XMenuActivate): New argument help_callback. If the value of
11615 menu_help_message has changed since the last time, display the
11616 menu help message text while waiting for the mouse to move. Clear
11617 the echo area before exiting.
11618 (XMenuDestroy): Free the help_text member.
11619
ffe0bcd1
GM
116202000-01-27 Gerd Moellmann <gerd@gnu.org>
11621
11622 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11623 XMenuAddSelection. Pass help callback to XMenuActivate.
11624 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11625
50dbd23f
EZ
116262000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11627
11628 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11629 and EMACS_SET_USECS.
11630
f5941bf8
GM
116312000-01-26 Dave Love <fx@gnu.org>
11632
6c67ddee
DL
11633 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11634
f5941bf8
GM
11635 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11636 an error may be signalled.
11637
9e49c990
GM
116382000-01-26 Gerd Moellmann <gerd@gnu.org>
11639
fc3cb460
GM
11640 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11641 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11642
9e49c990
GM
11643 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11644
d0c037d8
GM
116452000-01-25 Gerd Moellmann <gerd@gnu.org>
11646
11647 * charset.c (Fstring): If there is a multibyte char among
11648 the args, always return a multibyte string.
11649
e12489f9
GM
116502000-01-25 Gerd Moellmann <gerd@gnu.org>
11651
11652 * sysdep.c (sys_select): Turn atimers off and on instead of
11653 recording and restoring old alarm handler
11654
11655 * process.c (toplevel): Include atimer.h.
11656 (create_process_1): Rewritten.
11657 (create_process): Use atimers instead of alarm.
11658 (wait_reading_process_input) [hpux]: Turn atimers off instead
11659 of turning off SIGALRM.
11660 (wait_reading_process_input): Turn off atimers instead off
11661 calling stop_polling.
11662
11663 * emacs.c (main): Call init_atimer.
11664
11665 * keyboard.c (toplevel): Include systime.h and atimer.h.
11666 (polling_for_input): Removed because unused.
11667 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11668 (poll_timer): New variable.
11669 (poll_for_input, poll_for_input_1): New functions.
11670 (start_polling, stop_polling): Rewritten.
11671
11672 * keyboard.h (polling_for_input): Removed.
427ec082 11673
e12489f9
GM
11674 * atimer.h, atimer.c: New files.
11675
11676 * Makefile.in (obj): Add atimer.o.
11677 (atimer.o): New target.
11678
11679 * blockinput.h (pending_atimers): Add extern declaration.
11680 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11681
11682 * lisp.h (popup_activated_flag): Add extern declaration.
11683
11684 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11685 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11686 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11687
11688 * xterm.c (toplevel): Include atimer.h.
11689 (toolkit_scroll_bar_interaction): New variable.
11690 (Fxt_process_timeouts): Removed.
11691 (x_process_timeouts): New function.
11692 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11693 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11694 (x_make_frame_visible): Call poll_for_input_1 instead of
11695 input_poll_signal. Don't call alarm.
11696 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11697
1e5279b9
DL
116982000-01-24 Dave Love <fx@gnu.org>
11699
6c67ddee 11700 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11701 Don't use -cckr -- apparently not now necessary.
11702
edf6aeb8
EZ
117032000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11704
11705 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11706 screen boundary.
11707
9badad41
JR
117082000-01-23 Jason Rumney <jasonr@gnu.org>
11709
11710 * w32fns.c (w32_defined_color): Apply gamma correction before
11711 trying to map to the palette.
11712 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11713 to w32_clear_rect.
11714
11715 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11716 here. Callers changed to always pass real device context.
11717 (w32_draw_bitmap): Likewise.
11718 (w32_get_glyph_overhangs): Likewise.
52283633 11719 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11720 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11721 pfnSetScrollInfo and SetScrollRange.
11722 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11723 back into MULE characters after decoding them.
11724 (x_get_glyph_face_and_encoding): Likewise.
11725 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11726 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11727 (x_produce_glyphs): Calculate per char metrics for a character
11728 that we know exists in default font when font_not_found_p is true.
11729
63bd786b
JR
117302000-01-22 Jason Rumney <jasonr@gnu.org>
11731
11732 * makefile.nt (intervals.obj, composite.obj): New modules.
11733 (composite.h): Added as dependency where appropriate.
11734
11735 * w32gui.h (XGCValue): New struct for emulating X GCs.
11736
11737 * w32term.h (XCharStruct): New struct for emulating X.
11738
11739 * w32console.c (turn_on_face, turn_off_face): New functions.
11740 (change_line_highlight): New prototype for new redisplay.
11741 (write_glyphs): Support multibyte text. Support faces.
11742
52283633 11743 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11744
11745 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11746 throughout. struct frame * in place of FRAME_PTR.
11747 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11748 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11749 (w32_get_arg): Renamed from x_get_arg.
11750 (Fx_file_dialog): New function.
11751 (w32_list_fonts): Check cache before asking system.
11752 (Vw32_enable_synthesized_fonts): New variable.
11753 (Vw32_enable_italics): Obsolete, removed.
11754
11755 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11756 Use SELECTED_FRAME macro.
11757
11758 * w32menu.c: Add skeleton support for help strings on menus.
11759 (add_menu_item): Native checkbox and radio support added, but not
11760 yet enabled due to bugs.
11761 (push_menu_item): Add parameters type, selection and help.
11762 Callers updated.
11763 Formatting changes to reduce unnecessary diffs with xmenu.c.
11764
11765 * w32select.c (Fw32_set_clipboard_data): Update call to
11766 find_charset_in_str.
11767
11768 * w32term.c: Complete rewrite for new redisplay based on new
11769 xterm.c with necessary sections merged back in from old w32term.c.
11770
6ffd3cf7 117712000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11772
11773 * data.c (set_internal): Further fix in same criterion.
11774
6ffd3cf7 117752000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11776
11777 * data.c (set_internal): Fix the criteria for whether
11778 to swap out the old cached binding.
11779
60af03f1
DL
117802000-01-19 Dave Love <fx@gnu.org>
11781
11782 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11783
f9be074f
KH
117842000-01-18 Kenichi Handa <handa@etl.go.jp>
11785
11786 * regex.c (re_compile_fastmap): While checking a range table for
11787 `charset', skip flag bits for a character class correctly.
11788
52b8dbf9
GM
117892000-01-17 Gerd Moellmann <gerd@gnu.org>
11790
d36100c9
GM
11791 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11792
52283633 11793 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11794
11795 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11796 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11797
11798 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11799 MENU_ITEMS_ITEM_.*.
11800 (MENU_ITEMS_ITEM_HELP): New enumerator.
11801 (push_menu_item): Add parameter HELP. Record help in menu_items.
11802 (single_menu_item, single_submenu, list_of_items): Call
11803 push_menu_item with new parameter.
11804 (single_submenu): Set help string in widget value.
11805 (menu_highlight_callback): New function.
11806 (set_frame_menubar): Call lw_create_widget with new
11807 parameter list.
11808 (xmenu_show, xdialog_show): Ditto.
11809
3139018f
GM
118102000-01-13 Gerd Moellmann <gerd@gnu.org>
11811
11812 * sound.c (Fplay_sound): Improve doc string.
11813
83c8f461
RS
118142000-01-11 Richard M. Stallman <rms@gnu.org>
11815
11816 * lisp.h (set_internal): Enter the new arg.
11817
11818 * eval.c (specbind): Record buffer-local variables specially,
11819 indicating which buffer's binding was saved.
11820 (unbind_to): Restore buffer-local variables specially
11821 in the proper buffer.
11822
11823 * data.c (set_internal): New arg BUF.
427ec082 11824
83c8f461
RS
11825 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11826 * data.c (Fset): Pass new arg to set_internal.
11827 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11828
1fab1775
GM
118292000-01-11 Gerd Moellmann <gerd@gnu.org>
11830
52283633 11831 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11832
83c8f461 118332000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11834
11835 * minibuf.c (Ftry_completion): Doc fix.
11836
7a85e4df
GM
118372000-01-11 Gerd Moellmann <gerd@gnu.org>
11838
11839 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11840 vector, too.
11841
a970dae4
AS
118422000-01-11 Andreas Schwab <schwab@suse.de>
11843
11844 * coding.c (code_convert_region): Initialize total_skip.
11845
c65d14ee
DL
118462000-01-08 Dave Love <fx@gnu.org>
11847
11848 * eval.c (Fuser_variable_p): Check customizability too.
11849
834938d2
GM
118502000-01-07 Gerd Moellmann <gerd@gnu.org>
11851
11852 * minibuf.c (Fcompleting_read): Doc fix.
11853
e0303cd6
GM
118542000-01-05 Gerd Moellmann <gerd@gnu.org>
11855
8a26744b
GM
11856 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11857 -L /usr/local/lib.
11858
e0303cd6
GM
11859 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11860 Check that input style is supported before trying to create an
11861 IC for it.
11862 (x_window): Call x_create_im.
427ec082 11863
2e471eb5
GM
118642000-01-04 Gerd Moellmann <gerd@gnu.org>
11865
560a7bd2
GM
11866 * xfns.c (current_gif_memory_src): New variable.
11867 (gif_load): Record the address of the current memory source
11868 in current_gif_memory_src.
11869 (gif_read_from_memory): Use current_gif_memory_src.
11870
f9ee84a3
GM
11871 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11872 macros statement form.
11873
d1299cde
GM
11874 * sound.c (struct sound): Renamed from struct sound_file.
11875 (struct sound): Add members `data' and `header_size'.
11876 (enum sound_attr): Add SOUND_DATA.
11877 (current_sound, current_sound_device): Variables renamed from
11878 sound_file and sound_device.
11879 (parse_sound): Parse :data.
11880 (parse_sound): Handle sound data in strings.
11881 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11882 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11883 needed header size.
11884 (wav_play, au_play): Play sounds from string data.
11885
2e471eb5
GM
11886 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11887
11888 * lisp.h: Add prototype for allocate_string_data.
11889
52283633 11890 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11891
11892 * alloc.c (mark_buffer): Remove code in #if 0.
11893 (gc_sweep): Ditto.
11894 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11895 (strings_consed): New variable.
11896 (allocate_string): Set it.
11897 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11898 (Fmemory_use_counts): Return strings_consed. Use Flist.
11899
11900 * alloc.c: General cleanup in comments etc. Remove conditional
11901 compilation for `standalone'.
11902
11903 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11904
11905 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11906 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11907 (DONT_COPY_FLAG): Removed.
11908 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11909 (struct sdata, struct sblock): New
11910 (struct string_block): Rewritten.
11911 (STRINGS_IN_STRING_BLOCK): New macro.
11912 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11913 (large_sblocks, string_blocks, string_free_list): New variables.
11914 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11915 (init_strings): Rewritten.
11916 (allocate_string, allocate_string_data, compact_small_strings)
11917 (free_large_strings, sweep_strings): New functions.
11918 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11919 (struct string_block_head, current_string_block)
11920 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11921 (STRING_PAD): Removed.
11922 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11923 (Fgarbage_collect): Don't set mark bit in large strings.
11924 (mark_object): Mark strings differently. Mark symbol names
11925 differently.
11926 (survives_gc_p): Test marked strings differently.
427ec082 11927 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11928 symbol names.
11929 (compact_strings): Removed.
11930
42608ba8
EZ
119312000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11932
11933 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11934 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11935
e0a09e1a
KH
119362000-01-04 Kenichi Handa <handa@etl.go.jp>
11937
dd9f0750 11938 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11939 in a non-empty buffer.
dd9f0750 11940
3c0f3b15 11941 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11942
44cd3ae5
GM
119432000-01-03 Gerd Moellmann <gerd@gnu.org>
11944
11945 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11946 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11947
11948 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11949
c182a70f
EZ
119502000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11951
11952 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11953 need to test for MSDOS frames.
11954
24480d5b
EZ
119552000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11956
11957 * dosfns.c (unspecified_colors): Remove.
11958 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11959 unspecified_bg.
11960 (msdos_stdcolor_name): Return strings for unspecified fore- and
11961 back-ground colors.
11962
11963 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11964 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11965 (tty_color_name): Return Lisp strings for unspecified fore- and
11966 back-ground colors.
11967 (Finternal_set_lisp_face_attribute): Remove the special treatment
11968 for Qunspecified_{f,b}g.
52283633 11969 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11970
047f434a
GM
119712000-01-03 Gerd Moellmann <gerd@gnu.org>
11972
11973 * xdisp.c (reseat_at_next_visible_line_start): Position before
11974 newline only if ending up on a newline.
11975 (next_element_from_ellipsis): Return success. Handle case of
52283633 11976 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11977 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11978 returns 0.
11979
d684c676
EZ
119802000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11981
11982 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11983 (Fcolor_supported_p): Renamed from face-color-supported-p.
11984
5fe1d139
EZ
119852000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11986
11987 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11988 list of colors renamed to tty-defined-color-alist.
11989 (tty_color_name): Pass the frame to tty-color-by-index.
11990 (realize_tty_face): tty-color-alist is now a function which
11991 accepts the frame as argument.
11992
52283633 11993 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11994
816be8b8
EZ
119952000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11996
11997 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11998 encode_terminal_code.
11999
b635321e
EZ
120002000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12001
12002 * dispnew.c (mode_line_string): Support termcap frames as well.
12003
9b784e96
GM
120042000-01-01 Gerd Moellmann <gerd@gnu.org>
12005
27189709
GM
12006 * syntax.c (Fforward_word): Undo previous change.
12007
12008 * editfns.c (Fconstrain_to_field): Don't constrain if
12009 inhibit-field-text-motion is non-nil.
12010 (Fline_beginning_position): Undo previous change.
12011 (Fline_end_position): Ditto.
12012
12013 * syntax.c (Fforward_word): Notice field boundaries only if
12014 inhibit-field-text-motion is nil.
12015
12016 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12017
12018 * editfns.c (Vinhibit_field_text_motion): New variable.
12019 (inhibit-field-text-motion): New DEFVAR_LISP.
12020 (Fline_beginning_position, Fline_end_position): Notice field
12021 boundaries only if inhibit-field-text-motion is nil.
12022
45158a91
GM
12023 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12024 All calls adjusted.
12025 (x_build_heuristic_mask): Likewise.
12026 (xbm_load_image_from_file): Change error output.
12027 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12028 (gif_load, gs_load, x_kill_gs_process): Ditto.
12029
9b784e96
GM
12030 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12031 color indices when accessing raster pixels.
63cec32f
GM
12032 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12033 one of :file or :data.
12034 (enum pbm_keyword_index): Add PBM_DATA.
12035 (pbm_format): Add :data.
12036 (pbm_image_p): Allow either :file or :data.
12037 (pbm_read_file): New function.
12038 (pbm_scan_number): Rewritten to read from string.
12039 (pbm_load): Support :data.
9b784e96 12040
2cb085db 12041See ChangeLog.8 for earlier changes.
6922b018
KH
12042
12043;; Local Variables:
49b3bd82 12044;; coding: iso-2022-7bit
6922b018 12045;; End: