(expose_window_tree, expose_window, expose_line): Return
[bpt/emacs.git] / src / ChangeLog
CommitLineData
93aba6fc
GM
12001-08-15 Gerd Moellmann <gerd@gnu.org>
2
82f053ab
GM
3 * xterm.c (expose_window_tree, expose_window, expose_line): Return
4 1 when overwriting mouse-face.
5 (expose_frame): If mouse-face was overwritten, redo it.
6
93aba6fc
GM
7 * xfaces.c (x_update_menu_appearance): Don't call
8 set_frame_menubar, let the next redisplay do it.
9
858a55c1
AI
102001-08-14 Andrew Innes <andrewi@gnu.org>
11
12 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
13 drawing glyph string.
14
3a990b67
EZ
152001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
16
17 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
18 running HI-UX/MPP.
19
04386463
GM
202001-08-14 Gerd Moellmann <gerd@gnu.org>
21
22 * xfaces.c (x_update_menu_appearance): Save and restore value of
23 interrupt_input_blocked.
24
3e6385a4
GM
252001-08-13 Gerd Moellmann <gerd@gnu.org>
26
b0e619b4
GM
27 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
28 a line start, move back to the line start.
29
0de73d5a
GM
30 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
31 exactly when a mini-buffer is active.
32
3e6385a4
GM
33 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
34 in units of 1/8 character on non window-system frames.
35 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
36
d1b5f629
EZ
372001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
38
39 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
40 a doc string.
41
eaa2319f
GM
422001-08-09 Gerd Moellmann <gerd@gnu.org>
43
8e3189f0
GM
44 * keyboard.c (Vpre_help_message): New variable.
45 (syms_of_keyboard): Initialize and staticpro it.
46 (show_help_echo): Record current message before displaying a
47 help-echo, and restore that message when clearing the help.
48
eaa2319f
GM
49 * xfns.c (x_create_im): Remove prototype.
50
51 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
52
53 * dispnew.c (adjust_glyph_matrix): Undo last change.
54
552001-08-08 Gerd Moellmann <gerd@gnu.org>
56
57 * dispnew.c (adjust_glyph_matrix): In the optimization for
58 windows whose height has changed, disable partially visible
59 lines.
60
17fdcfc8
GM
612001-08-07 Gerd Moellmann <gerd@gnu.org>
62
22d01aed
GM
63 * window.c (Frecenter): If ARG < 0, and on a window system
64 frame, count in some empty lines when we can't move -ARG lines
65 down.
66
17fdcfc8
GM
67 * xdisp.c (start_display): Don't try to determine the continuation
68 lines width if lines are truncated. It's superfluous and leads to
69 incorrect results if POS is not visible in the window after
70 reseating the iterator at the previous line start.
71
8e3fe78e
GM
722001-08-06 Gerd Moellmann <gerd@gnu.org>
73
74 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
75
98a8938c
GM
762001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
77
78 * alloc.c (init_stack): Remove declaration.
79
18f9986a
GM
802001-08-03 Gerd Moellmann <gerd@gnu.org>
81
5e1f85e0
GM
82 * keyboard.c (read_key_sequence): Check that key is an integer
83 before comparing it with quit_char.
84 (add_command_key): Use larger_vector.
85 (read_char_x_menu_prompt): Instead of converting symbol and
86 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 87 which cannot be confused with valid events.
5e1f85e0
GM
88 (read_char): When reading from Vunread_command_events, check for
89 events of the form (EVENT . disabled) instead of
90 (EVENT . nil).
91
18f9986a
GM
92 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
93 a float, determine the max height from the frame's height.
94
fbc7f2a6
GM
952001-08-02 Gerd Moellmann <gerd@gnu.org>
96
97 * xdisp.c (redisplay_internal): Take message_cleared_p into
98 account only if minibuf_level == 0.
99
81b1a79d
GM
1002001-08-01 Gerd Moellmann <gerd@gnu.org>
101
e5c60873
GM
102 * xdisp.c (redisplay_internal): Add a check for the last
103 displayed message.
104
6e019995
GM
105 * xdisp.c (message_cleared_p): New variable.
106 (clear_message): Set message_cleared_p when clearing the current
107 message.
108 (redisplay_internal): Look at message_cleared_p to capture
109 the case that the echo area should be cleared.
110
308a74d8
GM
111 * keyboard.c (command_loop_1): Fix spelling of
112 resize_echo_area_exactly.
113
114 * dispextern.h (resize_echo_area_exactly): Fix typo in function
115 name.
116
117 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
118
81b1a79d
GM
119 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
120 current matrix when the window gets smaller.
121
ada329e6
EZ
1222001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
123
124 * print.c (strout): Cast the character passed to insert_char to
125 unsigned char, to avoid sign extension when it is promoted to int.
126
ed86208c
GM
1272001-07-31 Gerd Moellmann <gerd@gnu.org>
128
129 * fileio.c (Finsert_file_contents): Don't treat a return value
130 of 0 from emacs_read as an IO error.
131
6594ac22
GM
1322001-07-30 Gerd Moellmann <gerd@gnu.org>
133
cef68af5
GM
134 * keyboard.c (abs): New macro.
135 (double_click_fuzz): New variable.
136 (make_lispy_event): Use it to determine what makes a double-click.
137 (syms_of_keyboard): DEFVAR_INT it.
138
6594ac22
GM
139 * xmenu.c (set_frame_menubar): Take into account that
140 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
141 <raeburn@gnu.org>.
142
75c5350a
GM
1432001-07-27 Gerd Moellmann <gerd@gnu.org>
144
145 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
146
147 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
148 of row's visible height.
149
150 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
151 deal with the first overlay string having an image `display'
152 property.
153 (try_window_reusing_current_matrix, compute_line_metrics): Fix
154 computation of row's visible height for the case that part of the
155 row is invisible above and part of the row is at the same time
156 invisible below the window.
157
ac49effe
GM
1582001-07-26 Gerd Moellmann <gerd@gnu.org>
159
160 * xfns.c (x-show-tip): Doc fix.
161
162 * xfns.c (Vx_max_tooltip_size): New variable.
163 (syms_of_xfns): DEFVAR_LISP it.
164 (Fx_show_tip): Set frame's window_width to the width of the
165 window. Use a maximum tooltip size specified by
166 Vx_max_tooltip_size, if that has valid contents.
167 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
168
8c3b00cb
AI
1692001-07-26 Andrew Innes <andrewi@gnu.org>
170
171 * w32term.c (x_display_list): New variable.
172 (w32_term_init): Set it.
173
174 * w32term.h (x_display_list): New extern.
175
16098288
GM
1762001-07-26 Gerd Moellmann <gerd@gnu.org>
177
178 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
179 is non-nil, instead of when redisplaying_p is non-zero. See
180 comment there.
181 (mark_window_display_accurate_1): Add an assertion.
182
64c5be50
GM
1832001-07-25 Gerd Moellmann <gerd@gnu.org>
184
e743f599
GM
185 * dispextern.h (struct it): Increase size of ctl_chars to 16.
186
563b384d
GM
187 * xfns.c (Fx_file_dialog): Block/unblock input while processing
188 events so that we get a chance of processing expose events.
189
64c5be50
GM
190 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
191
296808a5
GM
1922001-07-24 Gerd Moellmann <gerd@gnu.org>
193
194 * xfns.c (valid_image_p): Protect better against invalid image
195 specifications. Previous code could signal an error.
196
5247262a
GM
1972001-07-23 Gerd Moellmann <gerd@gnu.org>
198
f1004faf
GM
199 * indent.c (current_column): Fix column computation in the
200 presence of display table entries.
201 (current_column_1, Fmove_to_column, compute_motion): Likewise.
202
dd42b31a
GM
203 * dispnew.c (adjust_glyph_matrix): In the optimization for
204 windows whose height has changed, use the new window height
205 to compute which rows to invalidate.
206
9e5a7f2a
GM
207 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
208 (MAX_10_EXP): New macro.
209 (Fformat): Use it.
210
5247262a
GM
211 * coding.c (code_convert_region): Handle the multibyte case if
212 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
213
177ab8ce
GM
2142001-07-20 Gerd Moellmann <gerd@gnu.org>
215
6e07c0a5
GM
216 * dispextern.h (struct face): Change type of `stipple' to
217 int; it's an ID.
218
177ab8ce
GM
219 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
220
b5b80599
GM
2212001-07-19 Gerd Moellmann <gerd@gnu.org>
222
4e2a256b
GM
223 * dispnew.c (update_window): Don't set the cursor at the end
224 of the update if display update has been paused.
225
b5b80599
GM
226 * composite.h (syms_of_composite): Renamed from
227 syms_of_composition.
228
c1fd9232
KR
2292001-07-18 Ken Raeburn <raeburn@gnu.org>
230
231 * fns.c (Fset_char_table_default): Check that a charset is defined
232 before checking its dimension.
233
928a85c1
KR
2342001-07-17 Ken Raeburn <raeburn@gnu.org>
235
236 * coding.c (setup_coding_system): Don't do any designation based
237 on reg_bits if charset is not yet defined.
238
232e274c
KR
239 * lisp.h (XVECTOR): Verify correct object type before returning a
240 pointer, using eassert.
241
de11c1ea
GM
2422001-07-17 Gerd Moellmann <gerd@gnu.org>
243
244 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]: Increase
245 to 4096 because of paste problems reported on GNU/Linux.
246
467f1209
GM
2472001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
248
249 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
250
c3d6be34
GM
2512001-07-16 Gerd Moellmann <gerd@gnu.org>
252
c1d61a7d
GM
253 * fileio.c (unwind_read): Function removed.
254 (read_non_regular, read_non_regular_quit): New functions.
255 (Finsert_file_contents): When reading from non-regular files,
256 arrange to catch a `quit' and terminate the loop. Rearrange
257 code so that a `quit' when reading from a regular file doesn't
258 insert text in the buffer.
259
c3d6be34
GM
260 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
261 Clear faces afterwards.
262 (clear_font_table): Take a x_display_info parameter. Don't free
263 fonts being the default font of any frame on the given display.
264
e06aa1f9
GM
2652001-07-13 Gerd Moellmann <gerd@gnu.org>
266
267 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
268 instead of CHAR_STRING which can signal an error.
269
270 * charset.c (char_to_string_1): Extracted from char_to_string.
271 Return -1 instead of signaling an error.
272 (char_to_string): Use it.
273
274 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
275
176c92e6
SM
2762001-07-12 Stefan Monnier <monnier@cs.yale.edu>
277
278 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
279 is t, don't try to append anything to it.
280
1c56232f
EZ
2812001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
282
283 * dired.c (file_name_completion): Pass dp->d_name to
284 Fstring_match, not elt, which is always nil here.
285
1d2b2268
GM
2862001-07-12 Gerd Moellmann <gerd@gnu.org>
287
288 * xselect.c (x_decline_selection_request): Handle errors
289 caused by receivers that have vanished.
290
291 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
292 ignoring events on foreign windows in #if 0. Always dispatch
293 the event after checking it with x_handle_property_notify.
294
295 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
296 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
297 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
298 (toplevel): Add prototypes for file-local functions.
299 (x_atom_to_symbol): Remove DPYINFO parameter.
300
fe5a0162
SM
3012001-07-11 Stefan Monnier <monnier@cs.yale.edu>
302
303 * w32menu.c (menubar_selection_callback, w32_menu_show):
304 Initialize `entry' to nil.
305 (w32_dialog_show): Remove unused `save_wv' variable.
306 (name_is_separator): Recognize "--:foo" and "--foo-bar".
307
a777242c
GM
3082001-07-11 Gerd Moellmann <gerd@gnu.org>
309
8ee5b6a3
GM
310 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
311
d0e2444e
GM
312 * fileio.c (unwind_read): Print a message when discarding inserted
313 text or switching the buffer to unibyte. Change parameter.
314 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 315
a777242c
GM
316 * fileio.c (unwind_read): New function.
317 (Finsert_file_contents): Record it as unwind-function for
318 the case that reading is interrupted by C-g.
319
ae794295
GM
3202001-07-10 Gerd Moellmann <gerd@gnu.org>
321
fe5a0162 322 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
323 update when scrolling_window returns 0.
324
6b05fae3
GM
325 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
326
327 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 328 for the case that x_decode_color signals an error.
6b05fae3 329
ae794295
GM
330 * xdisp.c (add_to_log): Do nothing if called asynchronously.
331
bb6e8cee
GM
3322001-07-09 Gerd Moellmann <gerd@gnu.org>
333
334 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
335 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
336 around ioctls.
337
36b40a8a
EZ
3382001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
339
24b97d4b
EZ
340 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
341 doc string line for dos-timezone-offset.
342
36b40a8a
EZ
343 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
344 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
345 (syms_of_msdos): Add \n\ at the end of a line in the doc string
346 line for dos-unsupported-char-glyph.
36b40a8a
EZ
347
348 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
349
0967b4b0
GM
3502001-07-05 Gerd Moellmann <gerd@gnu.org>
351
f25cfe53
GM
352 * sound.c: Include Emacs' header files with #include "...".
353
0967b4b0
GM
354 * eval.c (specbind): Additionally record the buffer that was
355 current when a buffer-local or frame-local variable was bound.
356
c347a1c3
GM
3572001-07-04 Gerd Moellmann <gerd@gnu.org>
358
359 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
360 to unibyte characters in unibyte buffers.
361
6332ca8a
GM
3622001-07-03 Gerd Moellmann <gerd@gnu.org>
363
38472d44
GM
364 * eval.c (specbind): If SYMBOL has a frame-local binding, record
365 the frame on the binding stack. Change format of entries for
366 local bindings on the binding stack to '(SYMBOL . WHERE)'.
367 (unbind_to): Handle unbinding a frame-local variable.
368
6332ca8a 369 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 370 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
371 (dump_glyph_row): Print row's continuation_lines_width.
372 (try_window_id): Take the shortcut if ZV is visible in the
373 window, but there are actually no changes at ZV.
374
63d1b174
GM
3752001-07-02 Gerd Moellmann <gerd@gnu.org>
376
4c175203
GM
377 * xterm.h (x_free_dpy_colors): Add prototype.
378
379 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
380 right number of arguments.
381
0b54ce28
GM
382 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
383 ($(lwlibdir)TAGS): New target.
4c175203 384 (TAGS): Fix dependency list.
0b54ce28 385
63d1b174
GM
386 * xterm.c (x_list_fonts): Make sure XFreeFont is called
387 with input blocked.
388
d827466c
GM
3892001-06-30 Gerd Moellmann <gerd@gnu.org>
390
391 * emacs.c (main): Remove extern declaration for sys_nerr, which
392 isn't used and causes a compilation error with GCC 3.0 on
393 FreeBSD 4.3.
394
b5cb1ada
GM
3952001-06-27 Gerd Moellmann <gerd@gnu.org>
396
a5d3ec3f
GM
397 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
398 SIGIO around the code where Xt might wait for a
399 ConfigureNotifyEvent.
400 (toplevel): Include <signal.h> and syssignal.h.
401
b5cb1ada
GM
402 * sound.c (vox_configure, vox_close): Turn off atimers
403 around ioctls.
404
d9bad487
GM
4052001-06-26 Gerd Moellmann <gerd@gnu.org>
406
fdbb67fe
GM
407 * keyboard.c (read_char) <non_reread>: Record the previous idle
408 start time before calling timer_stop_idle.
409 (read_char) <reread_first>: After processing a help-echo event,
410 restore the previous idle start time.
411
d9bad487
GM
412 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
413 the start of invisible text.
414 (setup_for_ellipsis): New function.
415 (next_overlay_string): After all overlay strings have been
416 processed, display an ellipsis if necessary.
417 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
418 (push_it): Initialize display_ellipsis_p on the iterator's stack.
419
420 * dispextern.h (struct iterator_stack_entry): Add member
421 display_ellipsis_p.
422
2b9c25e0
GM
4232001-06-25 Gerd Moellmann <gerd@gnu.org>
424
80de57df
GM
425 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
426 on the value of the wait-for-wm frame parameter.
427
428 * xterm.h (struct x_output): Add member wait_for_wm.
429
430 * xfns.c (Qwait_for_wm): New variable.
431 (x_frame_parms): Add entry for `wait-for-wm".
432 (x_set_wait_for_wm): New function.
433 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
434 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
435
2b9c25e0
GM
436 * xdisp.c (try_window_id) <all changes below window end>: Don't
437 take this shortcut if ZV is visible in the window.
438 (try_window_id): When checking for window start being in changed
439 text, don't check that the buffer's size has changed.
440
f772775c
RS
4412001-06-23 Richard M. Stallman <rms@gnu.org>
442
443 * minibuf.c (Fcompleting_read): Doc fix.
444
fa9090b8
GM
4452001-06-19 Gerd Moellmann <gerd@gnu.org>
446
447 * composite.c (Ffind_composition_internal): Accept ZV
448 and a string's end position as POS.
449
f6f1beba
GM
4502001-06-18 Gerd Moellmann <gerd@gnu.org>
451
452 * composite.c (Ffind_composition_internal): Check POS
453 for validity.
454
0ae83348
EZ
4552001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
456
457 * editfns.c (Fmessage_box): If the frame is not under a window
458 system, output the message in the echo area.
459
e4cdc335
RS
4602001-06-14 Richard M. Stallman <rms@gnu.org>
461
462 * xdisp.c (try_window_id): When EOB is visible, don't treat
463 insertion at EOB as if it were "off the bottom of the screen."
464
a55a5f3c
AI
4652001-06-11 Andrew Innes <andrewi@gnu.org>
466
467 * w32proc.c (create_child): Add new parameter is_gui_app.
468 (w32_executable_type): Add new parameter is_gui_app.
469 (sys_spawnve): Use it.
470 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
471 SIGQUIT. This matches better how the signals are interpreted by
472 MSVC compiled programs.
473 (syms_of_ntproc): Update docstring.
474
1b85dc1c
SM
4752001-06-02 Stefan Monnier <monnier@cs.yale.edu>
476
477 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
478 well otherwise note_mouse_highlight might optimize away highlighting
479 if we pass over that same overlay again.
480
b75f8eab
EZ
4812001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
482
483 * lread.c (Fload): Document that the argument is run via
484 substitute-in-file-name.
485
94843cc1
GM
4862001-05-31 Gerd Moellmann <gerd@gnu.org>
487
b14659e6
GM
488 * Makefile.in (bootstrap-doc): New target.
489 (bootstrap-emacs): Depend on it.
490
0894672f
GM
491 * fileio.c (Fdo_auto_save): Don't try to create the directory of
492 auto-save-list-file-name when shutting down Emacs, because
493 creating the directory might signal an error, and leaves
494 Emacs in a strange state.
495
94843cc1
GM
496 * term.c: (tty_cursor_hidden): New variable.
497 (update_begin): Don't call tty_hide_cursor. Clean up.
498 (update_end, set_terminal_window, set_scroll_region): Clean up.
499 (ring_bell, reset_terminal_modes): Clean up.
500 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
501 on tty_cursor_hidden.
502 (write_glyphs): Call tty_hide_cursor.
503
db3a49a6
SM
5042001-05-30 Stefan Monnier <monnier@cs.yale.edu>
505
506 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
507
8bd189fb
GM
5082001-05-30 Gerd Moellmann <gerd@gnu.org>
509
6f1be3b9
GM
510 * xfns.c (enum image_value_type): New enumerator
511 IMAGE_STRING_OR_NIL_VALUE.
512 (parse_image_spec): Handle it.
513 (xbm_format, pbm_format): Use it for :foreground and :background.
514 (xbm_load, pbm_load): Check for nil color names.
515
8bd189fb
GM
516 * xterm.c (note_mouse_highlight): If an overlapping overlay
517 exists, but we find that we highlight the same overlay as before,
518 don't do the highlighting again.
519
7bdba03c
GM
5202001-05-29 Gerd Moellmann <gerd@gnu.org>
521
4c329aa8
GM
522 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
523 Protect unibyte strings created by replacing their multibyte
524 equivalents in menu_items.
525
e15e2828
GM
526 * keymap.c (Fsingle_key_description): NUL-terminate the string
527 buffer before calling build_string.
528
7bdba03c
GM
529 * callproc.c (Fcall_process): Deal with decode_coding returning
530 CODING_FINISH_INCONSISTENT_EOL.
531
89c8dc6c
GM
5322001-05-28 Gerd Moellmann <gerd@gnu.org>
533
db3a49a6 534 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
535 an item's name with its key description in case the description
536 is a multibyte string.
537
538 * keymap.c (Fsingle_key_description): Create a multibyte string
539 only if necessary.
540
eb04d6cd
GM
541 * macros.c (Fstart_kbd_macro): Doc fix.
542
8bd6307f
GM
543 * xterm.c (cursor_in_mouse_face_p): New function.
544 (x_draw_stretch_glyph_string): Use it to choose a different GC
545 when drawing a cursor within highlighted text.
546
e26c4089
GM
547 * editfns.c (char_property_eq): Put in #if 0.
548
549 * indent.c (string_display_width): Put in #if 0.
550
551 * lread.c (Fload): Remove unused label.
552
89c8dc6c
GM
553 * termcap.c (speeds): Put in #if 0.
554
9a1211f2
GM
5552001-05-18 Gerd Moellmann <gerd@gnu.org>
556
29148a3f
GM
557 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
558
9a1211f2
GM
559 * xfaces.c (xlfd_point_size): Don't divide pixel size from
560 transformation matrix by 10.
561
09393d07
GM
5622001-05-16 Gerd Moellmann <gerd@gnu.org>
563
564 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
565 only if it's equal to the former foreground pixel color.
db3a49a6 566 (x_set_foreground_color, x_set_background_color)
09393d07
GM
567 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
568
460e6bae
GM
5692001-05-16 Dave Love <fx@gnu.org>
570
571 * insdel.c (signal_before_change, signal_after_change): Consider a
572 local change hook which changes the buffer.
99c78ce8
GM
573
574 * process.c (read_process_output): Don't call signal_after_change
575 and update_compositions after insert_from_string_before_markers.
576
dbcf3c03
GM
5772001-05-16 Gerd Moellmann <gerd@gnu.org>
578
a90b3d3c
GM
579 * xfaces.c (split_font_name): Use the right field when
580 checking for `[...]' syntax.
581
1b7818b4
GM
582 * buffer.c (copy_overlays): New function.
583 (clone_per_buffer_values): Use it.
584
585 * buffer.h (OVERLAY_PLIST): New macro.
586
9bae8781
GM
587 * keymap.c (Fsingle_key_description): Replace a build_string with
588 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
589
dbcf3c03
GM
590 * fontset.c (Ffontset_info): Check that face is non-null
591 before accessing its fields.
592
8a1ae4dd
GM
5932001-05-15 Gerd Moellmann <gerd@gnu.org>
594
18a0a39e
GM
595 * keyboard.c (read_key_sequence): Prevent generating a fake
596 prefix key twice.
597
e335b66a
GM
598 * xfaces.c (split_font_name): Handle `[...]' for the right
599 font name fields.
600
8a1ae4dd
GM
601 * ccl.c (ccl_driver): Don't copy remaining bytes in case
602 of CCL_STAT_INVALID_CMD.
603
3cf80731
SM
6042001-05-14 Stefan Monnier <monnier@cs.yale.edu>
605
33568849
SM
606 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
607 in <var> has no default value yet.
608
3cf80731
SM
609 * xfaces.c (try_alternative_families): First try the FAMILY.
610 And if nothing is found in the end, try again with scalable fonts.
611 (try_font_list): Let try_alternative_families do a bit more of
612 the work. Only use FAMILY if it is not nil.
613 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
614
933b0249
GM
6152001-05-14 Gerd Moellmann <gerd@gnu.org>
616
58e5af83
GM
617 * xterm.c (note_mouse_highlight): Avoid changing the mouse
618 pointer shape when show_mouse_face has already done it.
33568849 619
58e5af83 620 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
621 full-width rows.
622
7b16a6bf
GM
623 * xfaces.c (split_font_name): Make sure to leave the loop
624 with the right value of `i'.
3cf80731 625
933b0249
GM
626 * xfaces.c (split_font_name): Handle matrix transformations
627 in the pixel and point size fields of XLFD font names.
628 (xlfd_point_size): Likewise.
629
dddcbf00
EZ
6302001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
631
3cf80731 632 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
633 (x_to_w32_font): Add prototype.
634
7689ef0b
EZ
635 * regex.c (malloc, realloc, free) [emacs]: Undefine before
636 redefining, to avoid compiler warnings.
637
e7c15bba
EZ
638 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
639
dddcbf00
EZ
640 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
641 (w32_get_bdf_glyph): Cast between unsigned char and char when
642 passing arguments to subroutines, to shut up compiler warnings.
643 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
644 GET_HEX_VAL.
645
646 * xfaces.c: Include keyboard.h before frame.h, not after it.
647
648 * widget.c: Include keyboard.h before frame.h.
649
650 * w32term.h (struct image, struct face): Forward declaration, to
651 avoid compiler warnings.
652
7bd2d083
GM
6532001-05-11 Gerd Moellmann <gerd@gnu.org>
654
47e72862
GM
655 * keyboard.c (read_key_sequence): Don't modify events when
656 generating fake prefix keys (mode-line, scroll-bar, ...) since
657 this prevents proper processing of such events when pushed back
658 into unread-command-events.
659
dd5f324b
GM
660 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
661 actually redrawn. Make the function static.
662 (note_mouse_highlight): Fix a case where the mouse cursor
663 was changed back to the text cursor.
664
665 * xterm.h (clear_mouse_face): Remove prototype.
666
d88a79d4
GM
667 * xdisp.c (try_window_id): Fix the fix and set the right
668 window_end_vpos.
669
670 * xdisp.c (try_window_id): Fix computation of window end in the
671 case that lines were deleted at the end of the window. Add some
672 more debug_method_adds.
0416532f 673
7bd2d083
GM
674 * xfaces.c (try_alternative_families): New function.
675 (try_font_list): Use it. If ATTRS specifies a family, check
676 fonts from that family first.
677 (choose_face_font): Remove code setting the family part of
678 the pattern to nil.
679
23fca891
GM
6802001-05-10 Gerd Moellmann <gerd@gnu.org>
681
ff9aa2ca
GM
682 * xdisp.c (try_window_id): Fix case of all changes before
683 the window start.
7b2654b5 684
23fca891
GM
685 * xdisp.c (try_window_id): Add some xasserts.
686
e9726794
GM
6872001-05-09 Gerd Moellmann <gerd@gnu.org>
688
689 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
690
9e53a675
GM
6912001-05-09 Dave Love <fx@gnu.org>
692
693 * xdisp.c (GIVE_UP): Fix for K&R C.
694
0d487c52
GM
6952001-05-09 Gerd Moellmann <gerd@gnu.org>
696
fe88d421
GM
697 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
698
0d487c52
GM
699 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
700 back to the text cursor shape without need.
701
1e9fc92e
GM
7022001-05-07 Gerd Moellmann <gerd@gnu.org>
703
a2a6232e
GM
704 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
705
706 * dispextern.h (inverse_video): Declare extern.
707
1e9fc92e
GM
708 * keyboard.c (delete_kboard): Handle the case that selected_frame
709 has been deleted in the course of x_connection_closed.
710
12949a7f
EZ
7112001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
712
7b2654b5
SM
713 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
714 Fix the change from 2001-04-30.
12949a7f 715
2fa2f461
GM
7162001-05-03 Gerd Moellmann <gerd@gnu.org>
717
a779d213
GM
718 * xfns.c (file_dialog_unmap_cb): New function.
719 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
720 where a dialog is closed via the window manager.
721
7b2654b5 722 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
723 the window start or all below the window end mostly rewritten.
724 (redisplay_window): Move the tests if try_window_id is
725 applicable to try_window_id.
726 (GIVE_UP): New macro.
727
3356df63
GM
7282001-05-02 Gerd Moellmann <gerd@gnu.org>
729
a39202f6 730 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
731 currently being updated, mark the frame garbaged.
732 Fix computation of rows intersecting the exposed rectangle.
a39202f6 733 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 734
3356df63
GM
735 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
736 again if it has already been drawn.
737
a9d2fd1d
SM
7382001-05-01 Stefan Monnier <monnier@cs.yale.edu>
739
740 * syntax.c (update_syntax_table): Check that oldi has the same
741 properties as old_prop before deciding not to invalidate.
742
c95fc5f1
GM
7432001-04-30 Gerd Moellmann <gerd@gnu.org>
744
a9793e45
GM
745 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
746 read-only text that is so because of text properties.
747
c95fc5f1 748 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 749 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
750 windows that are components of a Lucid menu bar.
751
5a5d9185
GM
7522001-04-27 Gerd Moellmann <gerd@gnu.org>
753
754 * term.c (turn_on_face): Fix reverse video handling on terminals
755 that don't support colors.
756
ba973f7a
GM
7572001-04-26 Gerd Moellmann <gerd@gnu.org>
758
759 * editfns.c (save_excursion_restore): Don't use XBUFFER on
760 a non-buffer.
761
8c56a983
GM
7622001-04-25 Gerd Moellmann <gerd@gnu.org>
763
a728644c
GM
764 * term.c (toggle_highlight): New function.
765 (turn_on_face): Change handling of reverse video.
766
7b2654b5
SM
767 * process.c (wait_reading_process_input):
768 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 769
bfd8410f
GM
770 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
771 of the number of overlays to check.
772
be2488ca
GM
773 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
774
8c56a983
GM
775 * xdisp.c (try_window_id): Fix a case where window_end_pos
776 and window_end_bytepos were not adjusted.
777
522d42f7
GM
7782001-04-23 Gerd Moellmann <gerd@gnu.org>
779
780 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
781 zero instead of -1.
782
78c1afb6
EZ
7832001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
784
a9d2fd1d
SM
785 * process.c (wait_reading_process_input) [!subprocesses]:
786 Don't reference waiting_for_user_input_p, it's not defined in the
787 branch without async subprocesses support.
78c1afb6 788
a2fab450
GM
7892001-04-19 Gerd Moellmann <gerd@gnu.org>
790
a122a38e
GM
791 * keyboard.c (delete_kboard): Prevent a dangling reference
792 from current_kboard to KB, which is freed.
793
a9d2fd1d
SM
794 * process.c (wait_reading_process_input):
795 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
796 read_key_sequence aware of buffer changes from under it.
797
0f8d6dc7
GM
7982001-04-18 Gerd Moellmann <gerd@gnu.org>
799
eeffb293
GM
800 * xfaces.c (Qscalable_fonts_allowed): New variable.
801 (realizing_basic_faces_p): Removed.
2fa2f461
GM
802 (x_face_list_fonts): Special handling for realizing_basic_faces_p
803 removed.
eeffb293 804 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
805 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
806 for scalable-fonts-allowed to t.
eeffb293 807
0f8d6dc7
GM
808 * fileio.c (Finsert_file_contents): If the file size returned from
809 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 810 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 811
eec2d1de
EZ
8122001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
813
814 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
815 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
816 (__memalign_hook): Make the two prototypes consistent.
817
f4f480bd
GM
8182001-04-17 Gerd Moellmann <gerd@gnu.org>
819
820 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
821 matrix of mini-windows.
822
52283633
SM
8232001-04-12 Stefan Monnier <monnier@cs.yale.edu>
824
825 * intervals.c (find_interval): Don't rebalance during signal handling.
826
ec2423c9
GM
8272001-04-11 Gerd Moellmann <gerd@gnu.org>
828
30cb0001 829 * fns.c: Include blockinput.h.
52283633 830
ec2423c9
GM
831 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
832
719d83ad
GM
8332001-04-10 Gerd Moellmann <gerd@gnu.org>
834
60f8d735
GM
835 * fns.c (Fcompare_strings): Fix return values.
836
afffeb57
GM
837 * window.c (window_scroll): Change the meaning of N to mean
838 N screen-fulls or N lines.
839 (window_scroll_pixel_based, window_scroll_line_based)
840 (scroll_command, Fscroll_other_window): Change accordingly.
841
52283633
SM
842 * window.c (window_scroll_pixel_based, Frecenter):
843 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
844 height of the window.
845
846 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
847 instead of using it.last_visible_y for the height of the window.
52283633 848
719d83ad 849 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 850 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
851
852 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
853 able to write to hidden and system files. From Dan Holmsand
854 <dan@eyebee.com>.
719d83ad 855
8ddf3ee1
GM
856 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
857 Holmsand <dan@eyebee.com>.
719d83ad 858
522ed7fb
GM
8592001-04-09 Gerd Moellmann <gerd@gnu.org>
860
9170e5d4
GM
861 * fns.c (Fplist_get, Fplist_put): Add QUITs.
862
522ed7fb
GM
863 * window.c (window_internal_height): Return 1 less if the
864 window has a header line.
865
866 * xdisp.c (try_window_id): When scrolling on a terminal, take
867 the change of window_internal_height into account.
868
ceeb3d7d
EZ
8692001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
870
871 * gmalloc.c (align): If the argument SIZE would overflow
872 __malloc_ptrdiff_t, fail right away.
873
63685b9d
GM
8742001-04-06 Gerd Moellmann <gerd@gnu.org>
875
876 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
877 Make sure the tooltip is completely visible.
878 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
879
880 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
881
882 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
883
3ffb33bb
DL
8842001-04-06 Dave Love <fx@gnu.org>
885
52283633
SM
886 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
887 Fix test of `from'.
3ffb33bb 888
869fb12c
GM
8892001-04-06 Gerd Moellmann <gerd@gnu.org>
890
52283633 891 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 892
869fb12c
GM
893 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
894
441bf856
GM
8952001-04-05 Gerd Moellmann <gerd@gnu.org>
896
4d664b04
GM
897 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
898
52283633 899 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 900
30ca89f5
GM
901 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
902 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
903
904 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
905 shell widget's position only if it is non-null.
906
52283633
SM
907 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
908 Set f->output_data.x->widget to null after destroying it.
30ca89f5 909
81a81c0f
GM
910 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
911 FILENAME to bring it in synch with the documentation.
912
441bf856
GM
913 * xfaces.c (realizing_basic_faces_p): Renamed from
914 realize_default_face_p.
915 (realize_basic_faces): Set/clear realizing_basic_faces_p.
916 (realize_default_face): Don't set the flag.
917
702a1e8e
GM
9182001-04-04 Gerd Moellmann <gerd@gnu.org>
919
1013f4e3
GM
920 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
921
52283633
SM
922 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
923
1013f4e3
GM
924 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
925 the buffer that was used for echoing.
926
702a1e8e
GM
927 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
928 (first_font_matching): Removed unused function.
929 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
930 (may_use_scalable_font_p): Remove parameter FONT; rename
931 parameter NAME to FONT.
932 (x_face_list_fonts): Fix missing bounds check.
933 (realizing_default_face_p): New variable.
934 (realize_default_face): Set and clear that flag.
935 (x_face_list_fonts): When called during the realization of the
936 default face, and no matching fonts are found when ignoring
937 scalable fonts and fonts matching a regexp from
938 face-ignored-fonts, try without ignoring fonts.
939
f9dbcda4
GM
9402001-04-03 Gerd Moellmann <gerd@gnu.org>
941
ad18ffb1
GM
942 * xfns.c (postprocess_image): New function.
943 (lookup_image): Call it for all image types except PostScript.
944 (x_kill_gs_process): Call postprocess_image.
945
f9dbcda4
GM
946 * xterm.c (x_use_underline_position_properties): New variable.
947 (x_draw_glyph_string): Use it.
948 (syms_of_xterm): DEFVAR_BOOL it.
949
651f03b6
GM
9502001-04-02 Gerd Moellmann <gerd@gnu.org>
951
952 * xterm.c (x_alloc_nearest_color_1): New function.
953 (x_alloc_nearest_color): Use it.
954 (x_color_cells): Take a Display as argument, instead of a frame.
955 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
956 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
957 (x_initialize): Register cvt_string_to_pixel as resource converter
958 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
959
73d75a62
GM
9602001-03-30 Gerd Moellmann <gerd@gnu.org>
961
b2046df8
GM
962 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
963 (set_iterator_to_next): If a string from a display property ends,
964 consider the case that this might also be the end of an
965 overlay string having the display property.
966
52283633 967 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 968
87d8eba4
GM
969 * xdisp.c (reseat_to_string): Undo last change.
970
73d75a62
GM
971 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
972 matrix of a window when the header line changes, when
973 new rows are allocated, or when the width changes.
974
911a2406
EZ
9752001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
976
52283633 977 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 978
aea51abe
EZ
9792001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
980
981 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
982 deprecated.
983
176bc847
GM
9842001-03-29 Gerd Moellmann <gerd@gnu.org>
985
ed31fabf
GM
986 * data.c (Fsubr_interactive_form): New function.
987 (syms_of_data): Defsubr it.
988
176bc847
GM
989 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
990 (live_float_p, live_misc_p): Return 1 only if the offset of the
991 pointer in its block is >= 0.
992
e59d0e9d
GM
9932001-03-28 Paul Eggert <eggert@twinsun.com>
994
995 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
996 microseconds calcuation. Avoid double-rounding problem.
997 In doc string, warn that the result is approximate.
998
f827b862
GM
9992001-03-28 Gerd Moellmann <gerd@gnu.org>
1000
30a3f61c
GM
1001 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1002 bind `inhibit-eval-during-redisplay' to t.
1003
1004 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1005
1006 * xdisp.c (inhibit_eval_during_redisplay)
1007 (Qinhibit_eval_during_redisplay): New variables.
1008 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1009 don't eval, return nil instead.
1010 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1011 Initialize Qinhibit_eval_during_redisplay.
1012
e719f5ae
GM
1013 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1014 the iterator's multibyte_p flag.
1015
deb2613a
GM
1016 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1017 instead of setting it to zero; it's incremented for each frame
1018 where the menu face is changed.
1019
52283633
SM
1020 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1021 change bottom shadow accordingly.
1022
1023 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1024 intersections here.
1025 (expose_window): Do it here instead.
52283633 1026 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1027
f827b862
GM
1028 * bytecode.c (BYTE_CODE_QUIT): New macro.
1029 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1030
4bde0ebb
GM
10312001-03-27 Gerd Moellmann <gerd@gnu.org>
1032
607ec83c
GM
1033 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1034 Give up if matrix starts in an ellipsis.
1035 (init_from_display_pos): Do nothing if POS doesn't specify
1036 a dpvec_index but the iterator has such a position.
1037
0245398f
GM
1038 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1039
aba25348
GM
1040 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1041 x/y position is (0, 0) after destroying the menu bar, restore
1042 its original position.
1043
4bde0ebb
GM
1044 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1045 (init_from_display_pos): Use it.
1046 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1047
8cdb267e
GM
10482001-03-26 Gerd Moellmann <gerd@gnu.org>
1049
1050 * xdisp.c (try_window_id): Undo last change.
1051
9948db79
EZ
10522001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1053
1054 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1055
1056 * buffer.c (syms_of_buffer): Doc fix.
1057
2eddf899
GM
10582001-03-26 Gerd Moellmann <gerd@gnu.org>
1059
1060 * xfaces.c (x_update_menu_appearance): Use local variable
1061 popup_path for setting font resources.
1062
6c145d35
EZ
10632001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1064
6a65b1b5
EZ
1065 * frame.c (Fframe_list): Don't reference tip_frame if
1066 HAVE_WINDOW_SYSTEM is not defined.
1067
6c145d35
EZ
1068 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1069 <wl@gnu.org>.
1070
d74c1900
GM
10712001-03-25 Gerd Moellmann <gerd@gnu.org>
1072
20fbd925
GM
1073 * xdisp.c (init_from_display_pos): Test invisible property
1074 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1075
927c5b3b
GM
1076 * xdisp.c (redisplay_internal) <update one window>: Make sure
1077 last_arrow_position and last_arrow_string are set.
1078
d74c1900
GM
1079 * frame.c (Fframe_list): Don't return a tooltip frame.
1080
091f8878
GM
10812001-03-23 Gerd Moellmann <gerd@gnu.org>
1082
52283633
SM
1083 * xdisp.c (mark_window_display_accurate_1): New function,
1084 extracted from mark_window_display_accurate.
1085 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1086 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1087 (mark_window_display_accurate): Use it.
1088 (redisplay_internal): Use it for the selected window.
1089 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1090 for the selected frame.
1091
ac90c44f
GM
1092 * xdisp.c Use make_number, for readability.
1093 (try_window_id): Disable rows below the window end.
1094 (try_window_reusing_current_matrix): Use cursor_row_p.
1095 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1096 of rows.
1097 (init_from_display_pos): If POS specifies a position in a display
1098 vector, maybe get the iterator set up for that ellipsis.
43c09969 1099
091f8878
GM
1100 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1101
991786dd
EZ
11022001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1103
1104 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1105
6c29b43c
GM
11062001-03-23 Gerd Moellmann <gerd@gnu.org>
1107
1108 * xfaces.c (x_update_menu_appearance): Use a different path
1109 for Lucid popup menus.
1110
d8731202
SM
11112001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1112
1113 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1114
1115 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1116 (string_buffer_position): Use `make_number'.
1117
f61a541b
GM
11182001-03-22 Gerd Moellmann <gerd@gnu.org>
1119
3c9e997b
GM
1120 * xfaces.c (x_update_menu_appearance): Renamed from
1121 x_set_menu_face_resources. Use different resources for popups.
1122
1123 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1124 (GC_CHECK_STRING_BYTES): Don't define.
1125
364cd450
GM
1126 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1127 Removed, together with subroutines.
1128 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1129 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1130
d8731202
SM
1131 * dispextern.h (x_set_menu_resources_from_menu_face):
1132 Remove prototype.
364cd450 1133
d8731202 1134 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1135 Remove calls to x_set_menu_resources_from_menu_face.
1136
d8731202
SM
1137 * xfaces.c (xm_set_menu_resources_from_menu_face):
1138 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1139
1140 * xmenu.c: Include widget.h.
1141 (single_submenu): Return int. Some cleanup.
1142 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1143
140330de
GM
11442001-03-21 Gerd Moellmann <gerd@gnu.org>
1145
1146 * xterm.c (x_update_window_end): Handle overwritten mouse face
1147 also for tool bar windows.
1148 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1149 DRAW is DRAW_IMAGE_RAISED.
1150
1741905c
GM
11512001-03-20 Gerd Moellmann <gerd@gnu.org>
1152
fa88947e
GM
1153 * print.c (syms_of_print): Doc fixes.
1154
1741905c
GM
1155 * fns.c (Fmd5): Doc fix.
1156
ade0bee1
GM
11572001-03-19 Gerd Moellmann <gerd@gnu.org>
1158
357e7376
GM
1159 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1160 Clear area of the frame not occupied by the scroll bar.
1161
c2c097cc
GM
1162 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1163 tip frame's root window buffer to *tip* right after creating
1164 the frame.
1165
ade0bee1
GM
1166 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1167 is an integer don't have to be for space characters.
1168
88c6e37e
GM
11692001-03-16 Gerd Moellmann <gerd@gnu.org>
1170
52283633
SM
1171 * indent.c (current_column, current_column_1, Fmove_to_column)
1172 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1173
c62eed76
KH
11742001-03-15 Kenichi Handa <handa@etl.go.jp>
1175
1176 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1177 drawing glyph string.
1178
c899e7e6
GM
11792001-03-15 Gerd Moellmann <gerd@gnu.org>
1180
d0bbfc99
GM
1181 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1182 (command_loop_1): Undo last change.
1183
03d1a189
GM
1184 * xterm.c (fast_find_position): Return the correct vpos.
1185
c899e7e6 1186 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1187 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1188 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1189 Call store_symval_forwarding with BUF null.
1190 (set_internal): Call store_symval_forwarding with the BUF
1191 parameter passed to set_internal. Formerly, the value was always
1192 set in the current buffer; the buffer recorded in specbind for
1193 this case wasn't used.
1194 (arith_driver): Reindent.
1195
52283633
SM
1196 * buffer.c (swap_out_buffer_local_variables):
1197 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1198
1199 * lisp.h (store_symval_forwarding): Change prototype.
1200
1201 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1202
57ac7c81
GM
12032001-03-14 Gerd Moellmann <gerd@gnu.org>
1204
697617d9
GM
1205 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1206 FOR_DELETION. Avoid resizing the mini-window of the selected
1207 frame if FOR_DELETION is set.
1208 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1209 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1210 signature.
1211
1212 * window.c (Fset_window_configuration): Change call to
1213 do_switch_frame to new format.
1214
1215 * keyboard.c (quit_throw_to_read_char): Change call to
1216 do_switch_frame to new format.
1217
1218 * lisp.h (do_switch_frame): Change prototype.
1219
819dce0f
GM
1220 * frame.c (Fframe_parameters): In the `buffer-list' frame
1221 parameter, store the buffer list of FRAME, not the list of the
1222 selected frame.
1223
57ac7c81
GM
1224 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1225 box just because the glyph row's full_width_p flag is set.
1226
65008712
GM
12272001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1228
1229 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1230 skip the padding blanks inserted in extend_face_to_end_of_line,
1231 before checking for trailing whitespace.
1232
159cf431
GM
12332001-03-13 Gerd Moellmann <gerd@gnu.org>
1234
52283633 1235 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1236 Remove special handling for LessTif/Motif.
1237 (toplevel): Don't include Xm/Xm.h.
1238
52283633
SM
1239 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1240 Remove workaround code for LessTif; it doesn't work anymore.
1241
2564ea1b 1242 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1243 Xm/ScrollBarP.h.
afcdc0a1 1244
52283633
SM
1245 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1246 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1247 contemporary LessTif.
1248
52283633
SM
1249 * xfaces.c (xm_set_menu_resources_from_menu_face):
1250 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1251
159cf431
GM
1252 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1253 removing button grabs.
1254
c6f7429a
KH
12552001-03-13 Kenichi Handa <handa@etl.go.jp>
1256
cb82d767
KH
1257 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1258 and clip-large-size-font as obsolete.
1259
c6f7429a
KH
1260 * lread.c (read_multibyte): Check the validity of multibyte
1261 sequence. If invalid, return the first byte.
1262
760cefb5
GM
12632001-03-12 Gerd Moellmann <gerd@gnu.org>
1264
1265 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1266 before running the command; timer functions or process
1267 filters may have set it.
1268
5141f9d0
EZ
12692001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1270
1271 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1272 Doc fix.
1273
b6a15240
GM
12742001-03-12 Gerd Moellmann <gerd@gnu.org>
1275
1276 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1277 to sprintf.
1278
95522746
GM
12792001-03-09 Gerd Moellmann <gerd@gnu.org>
1280
db14cfc5
GM
1281 * dispextern.h (string_buffer_position): Add prototype.
1282
52283633 1283 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1284 (single_display_prop_string_p): New functions.
1285
1286 * xterm.c (note_mouse_highlight): If there's no help-echo on
1287 a string, look at the buffer text ``under'' it.
1288
1289 * keyboard.c (make_lispy_event): Add string info to the event,
1290 analogous to what's done on mode lines.
1291 (read_key_sequence): For a click on a string, consider `local-map'
1292 and `keymap' of that string.
1293
52283633
SM
1294 * keyboard.c (make_lispy_event, make_lispy_movement):
1295 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1296
1297 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1298
1299 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1300 POS; return void.
1301
95522746
GM
1302 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1303 flags argument to emacs_open; it seems to conflict with O_EXCL.
1304
898a399d
KH
13052001-03-09 Kenichi Handa <handa@etl.go.jp>
1306
28cd4910
KH
1307 * composite.h (struct composition): Change types of members;
1308 glyph_len to unsigned, width to unsigned short.
898a399d 1309
4cdf6a6c
AI
13102001-03-08 Andrew Innes <andrewi@gnu.org>
1311
1312 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1313 menu titles.
1314
129004d3
GM
13152001-03-08 Gerd Moellmann <gerd@gnu.org>
1316
221dd3e7
GM
1317 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1318 instead of nil.
1319
52283633 1320 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1321 help-echo in strings.
1322 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1323 (fast_find_string_pos): New function.
1324
52283633
SM
1325 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1326 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1327
1328 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1329 Handle `mouse-face'.
1330
1331 * dispextern.h (face_at_string_position): Change prototype.
1332
52283633 1333 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1334
129004d3
GM
1335 * keyboard.c (make_lispy_event): Avoid generating drag events
1336 if the mouse hasn't actually moved to another buffer position.
52283633 1337
80c8ab8c
DL
13382001-03-08 Dave Love <fx@gnu.org>
1339
129004d3 1340 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1341
989521fd
GM
13422001-03-08 Gerd Moellmann <gerd@gnu.org>
1343
1344 * process.c (Fset_process_window_size): Fix a typo.
1345
bb5c338d
KH
13462001-03-08 Kenichi Handa <handa@etl.go.jp>
1347
1348 * coding.c (detect_coding_sjis): Do more rigid check.
1349 (detect_coding_big5): Likewise.
1350 (decode_coding_sjis_big5): Likewise.
1351 (Fdetect_coding_region): Call detect_coding_system with tailing
1352 anchor byte `\0' for more rigid detection.
52283633 1353 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1354 (Fdetect_coding_string): Likewise.
1355
8b8f9197
SM
13562001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1357
1358 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1359 a string before extracting its data.
1360
3bdf2660
GM
13612001-03-07 Gerd Moellmann <gerd@gnu.org>
1362
1363 * window.c (Frecenter): Rewrite code handling negative values
1364 of ARG on graphical frames.
1365
13662001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1367
1368 * window.c (displayed_window_lines): If W->start is outside the
1369 accessible portion of the buffer, call start_display with BEGV or
1370 ZV instead of W->start.
1371
471f86b9
GM
13722001-03-07 Gerd Moellmann <gerd@gnu.org>
1373
2ab62c6c
GM
1374 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1375
471f86b9
GM
1376 * process.c (Fset_process_filter): Don't crash if the input
1377 file descriptor of PROCESS is closed.
1378 (Fset_process_window_size): Likewise.
1379
101922c3
GM
13802001-03-06 Kenichi Handa <handa@etl.go.jp>
1381
1382 * xterm.c (XTflash): Make the timeout of select shorter, and call
1383 select repeatedly until the desired time expires.
1384
45d051a7
GM
13852001-03-06 Gerd Moellmann <gerd@gnu.org>
1386
1387 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1388
1389 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1390
1391 * lisp.h (Vwindow_list): Declare extern.
1392
8f372c46
EZ
13932001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1394
1395 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1396
f16a7aa5
GM
13972001-03-06 Gerd Moellmann <gerd@gnu.org>
1398
157ae273
GM
1399 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1400 to detect a case where we have to highlight a different region
1401 despite not having left the currently highlighted region.
1402 Set mouse_face_overlay in the x_display_info.
45d051a7 1403 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1404
1405 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1406
1407 * buffer.c (mouse_face_overlay_overlaps): New function.
1408
1409 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1410 (Qmouse_face): Declare extern.
1411
f16a7aa5
GM
1412 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1413 if face_change_count is non-zero.
1414
827afcac
KH
14152001-03-06 Kenichi Handa <handa@etl.go.jp>
1416
1417 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1418 that the source is unibyte.
1419
14c7242e
DL
14202001-03-05 Dave Love <fx@gnu.org>
1421
827afcac 1422 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1423
c28b847b
GM
14242001-03-05 Gerd Moellmann <gerd@gnu.org>
1425
1426 * minibuf.c (read_minibuf): Clean up the binding stack if
1427 called noninteractively.
1428
b86644f2
KH
14292001-03-05 Kenichi Handa <handa@etl.go.jp>
1430
1431 * coding.c (syms_of_coding): Docstring modified.
1432
203682cc 14332001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1434
1435 * charset.c (char_to_string): If a single byte char has modifier
1436 bits that can't be reflected to the character code, ignore them
45d051a7 1437 instead of signaling an error.
b86644f2 1438
e30bd7b7
EZ
14392001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1440
1441 * s/msdos.h: Update copyright notice.
1442
1443 * dosfns.h: Update copyright notice.
1444
1445 * dosfns.c: Update copyright notice.
1446
1447 * msdos.c: Update copyright notice.
1448
b52b65bd
GM
14492001-03-02 Gerd Moellmann <gerd@gnu.org>
1450
1451 * xterm.c (glyph_rect): New function.
1452 (XTmouse_position): Use it to raise the threshold for mouse
1453 movement event generation.
1454
53c4b1e6
EZ
14552001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1456
1457 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1458 specifies (reverse . t), reverse the initial screen colors.
1459 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1460 but we are reversing the colors, set bg_set, not fg_set.
1461 Likewise for setting background-color and reversing: set fg_set.
1462 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1463 in effect.
1464
1465 * xfaces.c (Finternal_set_lisp_face_attribute)
1466 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1467 parameters alist.
1468
f964b4d7
GM
14692001-03-02 Gerd Moellmann <gerd@gnu.org>
1470
ef53d75e
GM
1471 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1472 to a single slash in the middle of file names.
1473
52283633 1474 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1475 Accept only alphanumeric time zone names.
1476
f964b4d7
GM
1477 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1478 or width area.
1479 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1480 a widget to zero height.
52283633 1481
c3c45f65
GM
14822001-03-01 Gerd Moellmann <gerd@gnu.org>
1483
1484 * window.c (Fwindow_end): Call move_it_past_eol only if
1485 ending up on a partially visible line.
1486
028d739a
DL
14872001-03-01 Dave Love <fx@gnu.org>
1488
1489 * ccl.c (Fccl_execute): Doc fix.
1490
57c5889c
GM
14912001-03-01 Gerd Moellmann <gerd@gnu.org>
1492
35f59f6b
GM
1493 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1494 of the tool bar before calling x_figure_window_size.
1495
f84ff02c
GM
1496 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1497 NULL after destroying it, otherwise XTread_socket can access a
1498 destroyed widget when input is unblocked.
1499
8b8f9197 1500 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1501
57c5889c
GM
1502 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1503 same name as before, although there was a change in fontsets.
1504
224227d1
KR
15052001-02-28 Ken Raeburn <raeburn@gnu.org>
1506
4560730a
KR
1507 * lisp.h (Fframe_parameter): Declare.
1508
224227d1 1509 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1510 Lisp_Object.
224227d1 1511
ece93c02
GM
15122001-02-28 Gerd Moellmann <gerd@gnu.org>
1513
11ef99b9
GM
1514 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1515 NULL instead.
1516
1517 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1518 NULL instead.
1519
ece93c02
GM
1520 * alloc.c (toplevel): Include process.h.
1521 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1522 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1523 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1524 (allocate_vector, allocate_hash_table, allocate_window)
1525 (allocate_frame, allocate_process, allocate_other_vector):
1526 New functions.
ece93c02
GM
1527 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1528 (mark_maybe_pointer): New function.
52283633 1529 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1530 remain and not Lisp_Objects.
1531 (min_heap_address, max_heap_address): New variables.
1532 (mem_find): Return MEM_NIL if START is below min_heap_address or
1533 above max_heap_address.
1534 (mem_insert): Compute min_heap_address and max_heap_address.
1535
1536 * process.c (make_process): Use allocate_process.
1537
1538 * frame.c (make_frame): Use allocate_frame.
1539
1540 * window.c (make_window, make_dummy_parent): Use allocate_window.
1541 (Fcurrent_window_configuration): Use allocate_other_vector.
1542
1543 * lisp.h (allocate_vectorlike): Remove prototype.
1544 (allocate_vector, allocate_other_vector, allocate_frame)
1545 (allocate_window, allocate_process, allocate_hash_table):
1546 Add prototypes.
1547
1548 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1549 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1550
063af457
KH
15512001-02-27 Kenichi Handa <handa@etl.go.jp>
1552
1553 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1554 treat the produced bytes as a valid multibyte sequence.
1555
1556 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1557 (ccl_driver) <CCL_WriteMultibyteChar2>:
1558 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1559 <ccl_finish>: Set ccl->eight_bit_control properly.
1560
1561 * ccl.h (struct ccl_program): New member eight_bit_control.
1562
f58c6494
SM
15632001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1564
1565 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1566 accessible_keymaps_char_table.
1567 (accessible_keymaps_char_table): Obey `is_metized'.
1568 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1569 Lisp_Object.
1570
c596c392
GM
15712001-02-26 Gerd Moellmann <gerd@gnu.org>
1572
1573 * dispnew.c: Check HAVE_TERM_H before including term.h.
1574
425de386
AI
15752001-02-24 Andrew Innes <andrewi@gnu.org>
1576
1577 * makefile.w32-in: Update copyright notice.
1578
2ba11bbd
SM
15792001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1580
1581 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1582
66c56ed1
KH
15832001-02-24 Kenichi Handa <handa@etl.go.jp>
1584
4c1593ce
KH
1585 * Makefile.in (lisp): Add international/utf-8.elc.
1586
66c56ed1
KH
1587 * fontset.c (Fnew_fontset): Fix handling of the case that an
1588 element of FONTLIST is a cons of family and registry.
1589
796ead7e
JR
15902001-02-23 Jason Rumney <jasonr@gnu.org>
1591
1592 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1593 to height unconditionally.
1594
1595 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1596 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1597 (x_insert_glyphs): Call window_box_left to obtain the left
1598 x-coordinate of the area to shift.
1599
1600 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1601 safe_run_hooks.
1602
f6839838
AI
16032001-02-22 Andrew Innes <andrewi@gnu.org>
1604
52283633 1605 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1606 ($(BLD)\dispnew.obj):
1607 ($(BLD)\editfns.obj):
1608 ($(BLD)\fileio.obj):
1609 ($(BLD)\filelock.obj):
1610 ($(BLD)\keyboard.obj):
1611 ($(BLD)\w32proc.obj):
1612 ($(BLD)\process.obj):
1613 ($(BLD)\sysdep.obj): Ditto.
1614
1615 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1616 header files.
52283633
SM
1617 ($(BLD)/dispnew.$(O)):
1618 ($(BLD)/editfns.$(O)):
1619 ($(BLD)/fileio.$(O)):
1620 ($(BLD)/filelock.$(O)):
1621 ($(BLD)/keyboard.$(O)):
1622 ($(BLD)/w32proc.$(O)):
1623 ($(BLD)/process.$(O)):
f6839838
AI
1624 ($(BLD)/sysdep.$(O)): Ditto.
1625
c224f70b
GM
16262001-02-22 Gerd Moellmann <gerd@gnu.org>
1627
51695746
GM
1628 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1629 at the start of the function, check that the \n in it->c is
1630 from the iterator's current position.
52283633 1631
a61b7058
GM
1632 * xdisp.c (handle_single_display_prop): Add parameter
1633 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1634 properties which replace the display of text with something else.
1635 (handle_display_prop): Call handle_single_display_prop with
1636 additional argument saying if we already replaced text display
1637 with something else. Use AREF.
52283633 1638 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1639 (decode_mode_spec_coding): Use AREF and ASIZE.
1640
3473f362
GM
1641 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1642 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1643 * vmstime.h: Files removed.
52283633 1644
2bb58df3
GM
1645 * unexencap.c, unexfx2800.c: Files removed.
1646
c224f70b
GM
1647 * dispnew.c (direct_output_for_insert): Give up if we are showing
1648 a message or just cleared the message because we might need to
1649 resize the echo area window or display an empty echo area.
1650
ffc9ff0c
GM
16512001-02-21 Gerd Moellmann <gerd@gnu.org>
1652
0528abe1
GM
1653 * xdisp.c (redisplay_internal): Do the
1654 mark_window_display_accurate after all windows have been
1655 redisplayed because this call resets flags in buffers which are
1656 needed for proper redisplay.
1657
52283633
SM
1658 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1659 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1660 the old names.
1661
52283633
SM
1662 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1663 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1664
1665 * msdos.h (struct x_output): Rename busy_window to
1666 hourglass_window, busy_p to hourglass_p.
1667
52283633
SM
1668 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1669 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1670
1671 * xfns.c: Rename everything containing *busy_cursor* and similar
1672 to *hourglass*.
1673 (syms_of_w32fns): Rename x-busy-pointer-shape to
1674 x-hourglass-pointer-shape, display-busy-cursor to
1675 display-hourglass, busy-cursor-delay to hourglass-delay.
1676
1677 * w32fns.c: Rename everything containing *busy_cursor* and similar
1678 to *hourglass*.
1679 (syms_of_w32fns): Rename x-busy-pointer-shape to
1680 x-hourglass-pointer-shape, display-busy-cursor to
1681 display-hourglass, busy-cursor-delay to hourglass-delay.
1682
1683 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1684 of its busy_p flag.
1685
1686 * dispextern.h (start_hourglass, cancel_hourglass)
1687 (display_hourglass_p): Renamed from *busy_cursor*.
1688
ab2c5f0a
GM
16892001-02-20 Gerd Moellmann <gerd@gnu.org>
1690
d17e49a8
GM
1691 * keyboard.c (read_char): When an event from unread-command-events
1692 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1693
fa97adf6
GM
1694 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1695 equal to the current buffer.
1696
ab2c5f0a
GM
1697 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1698 nil, otherwise we're left with truncate_lines t when a message
1699 is printed with message-truncate-lines bound to t.
1700
aeac019e
GM
17012001-02-19 Gerd Moellmann <gerd@gnu.org>
1702
c8bc6f65
GM
1703 * window.c (Fmove_to_window_line): Undo last change.
1704 (displayed_window_lines): Call line_bottom_y to determine
1705 the line's bottom position.
1706
1707 * dispextern.h (line_bottom_y): Add prototype.
1708
52283633 1709 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1710 (pos_visible_p): Use it.
1711
980a2d69
GM
1712 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1713 set redisplaying_p to 0 here instead of in Frecursive_edit.
1714 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1715 set redisplaying_p.
1716
52283633 1717 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1718 New variables.
1719 (syms_of_xdisp): Initialize new variables.
1720 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1721 Specbind `inhibit-menubar-update' when updating the menu bar.
1722
65048e97
GM
1723 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1724 safe_run_hooks.
1725
1726 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1727 safe_run_hooks.
1728
a57c4026
GM
1729 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1730 is null.
1731
aeac019e
GM
1732 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1733 to the start of the file.
1734
76846b31
GM
17352001-02-16 Gerd Moellmann <gerd@gnu.org>
1736
f3f053f3 1737 * window.c (set_window_buffer): Fix last change.
52283633 1738
f3f053f3
GM
1739 * window.c (set_window_buffer): Set window's vscroll to 0.
1740
dad75588
GM
1741 * window.c (coordinates_in_window): Increase width of area
1742 where the vertical line can be dragged.
1743
c220b753
GM
1744 * xterm.c (x_set_glyph_string_background_width): Extend the
1745 background face to the end of the drawing area in the text
1746 area, only.
1747
c56b1c1b
GM
1748 * xdisp.c (handle_single_display_prop): Set iterator's position
1749 to where the `display' property starts, like for images.
1750 (dump_glyph): New function.
1751 (dump_glyph_row): Use it. Dump info about marginal areas.
1752
1753 * dispnew.c (direct_output_for_insert): Recognize more cases where
1754 glyphs can be written instead of being inserted.
1755
1756 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1757 the left x-coordinate of the area to shift.
1758
76846b31
GM
1759 * dired.c (directory_files_internal): Set result list to nil
1760 before retrying.
1761
0fc71a77
KH
17622001-02-15 Kenichi Handa <handa@etl.go.jp>
1763
1764 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1765 invalid multibyte sequence, treat *SRC as a character of
1766 eight-bit-graphic.
1767
25078b54
EZ
17682001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1769
1770 * textprop.c (Fset_text_properties): Doc fix.
1771
8399f8a0
GM
17722001-02-15 Gerd Moellmann <gerd@gnu.org>
1773
1774 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1775
9a2a6f73
DL
17762001-02-14 Dave Love <fx@gnu.org>
1777
1778 * coding.c: Doc and message fixes.
1779
bf853fee
AI
17802001-02-14 Andrew Innes <andrewi@gnu.org>
1781
1782 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1783 Emacs frame above the screen size.
1784
78c663d8
GM
17852001-02-14 Gerd Moellmann <gerd@gnu.org>
1786
1787 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1788
7cc9f69f
GM
17892001-02-13 Gerd Moellmann <gerd@gnu.org>
1790
0a411995
GM
1791 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1792 case that TO ends up beyond ZV after running before-change-functions.
1793
5ddc1b75
GM
1794 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1795 the selected window if it is showing the buffer in question.
1796
7cc9f69f
GM
1797 * dired.c (directory_files_internal): Initialize errno.
1798 (toplevel): Include errno.h.
1799
2e6621ca
GM
18002001-02-13 Kenichi Handa <handa@etl.go.jp>
1801
1802 * xfaces.c (best_matching_font): New parameter width_ratio.
1803 Multiply avgwidth by width_ratio.
1804 (choose_face_font): Call best_matching_font with width_ratio
1805 calculated from the column width of C.
1806
60222d69
AI
18072001-02-12 Andrew Innes <andrewi@gnu.org>
1808
1809 The following changes are to draw box lines inside characters area
1810 if line-width is negative.
52283633 1811
60222d69
AI
1812 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1813 face->box_line_width is negative.
1814 (x_produce_stretch_glyph): Likewise.
1815 (x_produce_glyphs): Likewise.
1816 (x_estimate_mode_line_height): Likewise.
1817 (x_draw_glyph_string_background): Likewise.
1818 (x_draw_glyph_string_foreground): Likewise.
1819 (x_draw_composite_glyph_string_foreground): Likewise.
1820 (x_draw_glyph_string_box): Likewise.
1821 (x_draw_image_foreground): Likewise.
1822 (x_draw_image_relief): Likewise.
1823 (x_draw_image_foreground_1): Likewise.
1824 (x_draw_image_glyph_string): Likewise.
1825
9804b846
KH
18262001-02-09 Kenichi Handa <handa@etl.go.jp>
1827
1828 The following changes are to draw box lines inside characters area
1829 if line-width is negative.
52283633 1830
9804b846
KH
1831 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1832 face->box_line_width is negative.
1833 (x_produce_stretch_glyph): Likewise.
1834 (x_produce_glyphs): Likewise.
1835 (x_estimate_mode_line_height): Likewise.
1836 (x_draw_glyph_string_background): Likewise.
1837 (x_draw_glyph_string_foreground): Likewise.
1838 (x_draw_composite_glyph_string_foreground): Likewise.
1839 (x_draw_glyph_string_box): Likewise.
1840 (x_draw_image_foreground): Likewise.
1841 (x_draw_image_relief): Likewise.
1842 (x_draw_image_foreground_1): Likewise.
1843 (x_draw_image_glyph_string): Likewise.
1844
1845 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1846 and :line-width can be negative.
52283633 1847 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1848
49be9f70
JR
18492001-02-09 Jason Rumney <jasonr@gnu.org>
1850
1851 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1852 characters the same as ASCII and latin-1.
1853 (x_display_and_set_cursor): Check for the focus frame's selected
1854 window instead of selected_window.
1855 (x_after_update_window_line): Don't clear if frame's internal
1856 border width is zero.
1857 (x_new_font): Don't change a tooltip's size.
1858 (w32_initialize): Set char_ins_del_ok to 1.
1859
1860 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1861 (x_set_font): If font hasn't changed, avoid recomputing
1862 faces and other things.
52283633
SM
1863 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1864 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1865 (x_create_tip_frame): Prevent changing the tooltip's
1866 background color by specifying a color for the default font
1867 in .Xdefaults.
1868 (Qcancel_timer): New variable.
1869 (syms_of_w32fns): Initialize and staticpro it.
1870 (Fx_hide_tip, Fx_show_tip): Use it.
1871 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1872 the timer.
1873 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1874
1875 * w32.c (init_environment): Duplicate local string before putenv.
1876
555e35d2
SZ
18772001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1878
1879 * charset.c (Fstring): A typo.
1880
19c92c94
KH
18812001-02-09 Kenichi Handa <handa@etl.go.jp>
1882
e47a1c33
KH
1883 * charset.c (Fstring): If all arguments are less than 256, return
1884 a unibyte string.
1885
1886 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1887 return a unibyte string.
1888
19c92c94
KH
1889 * coding.c (code_convert_region): After detecting a coding, if
1890 nothing found, set coding->composing to COMPOSITION_NO.
1891 (decode_coding_string): Likewise.
1892
d8e675f5
SM
18932001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1894
1895 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1896 to avoid overflow.
1897
bd503487
KH
18982001-02-07 Kenichi Handa <handa@etl.go.jp>
1899
1900 * charset.c (parse_str_to_multibyte): New function.
1901
1902 * charset.h (parse_str_to_multibyte): Extern it.
1903
1904 * print.c (print_string): If we are going to print a unibyte
1905 string into a multibyte buffer, convert the string to multibyte by
1906 str_to_multibyte.
1907
a8370d72
AI
19082001-02-06 Andrew Innes <andrewi@gnu.org>
1909
1910 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1911 been created. It seems we can get sent window messages such as
1912 WM_ERASEBKGND before we properly update a frame.
1913
c363a1d6
GM
19142001-02-06 Gerd Moellmann <gerd@gnu.org>
1915
1916 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1917 Avoid some unnecessary cursor positioning.
1918
a08332c0
GM
19192001-02-05 Gerd Moellmann <gerd@gnu.org>
1920
52283633 1921 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1922 (LFACE_AVGWIDTH): New macro.
1923 (LFACEP): Use AREF.
1924 (check_lface_attrs): Check LFACE_AVGWIDTH.
1925 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1926 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1927 (merge_face_vectors): Check LFACE_AVGWIDTH.
1928 (Finternal_make_lisp_face): Use AREF.
1929 (xm_set_menu_resources_from_menu_face)
1930 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1931 (Finternal_lisp_face_empty_p): Use AREF.
1932 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1933 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1934 Compare average widths..
1935 (best_matching_font): Arrange for comparing average widths.
1936
52283633
SM
1937 * dispextern.h (enum lface_attribute_index):
1938 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1939
5cb3c8d4
DL
19402001-02-05 Dave Love <fx@gnu.org>
1941
1942 * puresize.h: Revert last change following loadup.el change.
1943
193fba87
AI
19442001-02-05 Andrew Innes <andrewi@gnu.org>
1945
1946 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1947 invocation of temacs, to work with Windows 2000.
1948 (bootstrap-emacs): Ditto.
1949
e16f52ce
GM
19502001-02-05 Gerd Moellmann <gerd@gnu.org>
1951
7a58ab59
GM
1952 * xterm.c (x_display_and_set_cursor): Check for the focus
1953 frame's selected window instead of selected_window.
1954
e89aaabd
GM
1955 * xdisp.c (try_scrolling): If point is in the line below the
1956 window, make sure to move the iterator at least a canonical
1957 char height down.
1958
52283633 1959 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1960
789ce875
KH
19612001-02-05 Kenichi Handa <handa@etl.go.jp>
1962
52283633
SM
1963 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1964 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1965 (ccl_driver): If the CCL program is terminated because of
1966 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1967 destination instead of throwing them away.
1968
20b28f82
GM
19692001-02-02 Gerd Moellmann <gerd@gnu.org>
1970
79fb38c0
GM
1971 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1972 faces and other things.
1973
20b28f82
GM
1974 * xdisp.c (get_next_display_element): Fix case of empty
1975 display table entry.
1976
5a72551e
EZ
19772001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1978
eb24d0bf
EZ
1979 * editfns.c (Fconstrain_to_field): Doc fix.
1980
6a3f48c7
EZ
1981 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1982 into `thoroughly', to make it consistent with the doc string.
1983
5a72551e
EZ
1984 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1985
01acdb05
GM
19862001-02-01 Gerd Moellmann <gerd@gnu.org>
1987
0353b28f
GM
1988 * search.c (search_buffer): Call set_search_regs with a byte
1989 position, not a character position.
1990
01acdb05
GM
1991 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1992 minibuffer-only,
1993
e86b5133
EZ
19942001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1995
1996 * frame.c (Fmodify_frame_parameters): Doc fix.
1997
7442878f
GM
19982001-01-31 Gerd Moellmann <gerd@gnu.org>
1999
01acdb05
GM
2000 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2001 identifier which is not reserved by Standard C.
52283633 2002
7442878f
GM
2003 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2004
2005 * window.c (enum window_part): New enumeration.
2006 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2007 Qright_bitmap_area.
2008 (coordinates_in_window): Return an enumerator from enum
2009 window_part. Fix handling of right scroll bar.
2010 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2011 `right-fringe' instead of `left-bitmap-area' and
2012 `right-bitmap-area'. Use enumerators from enum window_part
2013 instead of hard-coded integers.
52283633
SM
2014 (check_window_containing, window_from_coordinates):
2015 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2016 (syms_of_window): Replace Qleft_bitmap_area and
2017 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2018
7c132cba
EZ
20192001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2020
2021 * editfns.c (Fformat_time_string): Doc fix.
2022
c359dd9e
SM
20232001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2024
2025 * keymap.c (Fwhere_is_internal): Use the first valid binding
2026 if no ascii binding is found (when firstonly is t).
2027
ce070307
GM
20282001-01-31 Gerd Moellmann <gerd@gnu.org>
2029
b4f30ec5
GM
2030 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2031 instead of Finteractive_p.
2032
2033 * lisp.h (interactive_p): Add prototype.
2034
2035 * eval.c (interactive_p): New function.
2036 (Finteractive_p): Use it.
2037
ce070307
GM
2038 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2039
f57b6e64
DL
20402001-01-31 Dave Love <fx@gnu.org>
2041
d61c7afe
DL
2042 * .gdbinit (hook-run): Define to run xreload.
2043
f57b6e64
DL
2044 * textprop.c (Fset_text_properties): Fix newline in doc string.
2045
eef93f99
GM
20462001-01-30 Gerd Moellmann <gerd@gnu.org>
2047
52283633
SM
2048 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2049 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2050
2051 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2052 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2053 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2054
2055 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2056 height.
2057
d9c1f6f9
DL
20582001-01-30 Dave Love <fx@gnu.org>
2059
2060 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2061 AFTER_POTENTIAL_GC.
2062
e8f044a0
GM
20632001-01-29 Gerd Moellmann <gerd@gnu.org>
2064
52283633
SM
2065 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2066 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2067
8e1db7b3
EZ
20682001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2069
2070 * textprop.c (Fset_text_properties): Doc fix.
2071
4eefd9d2
GM
20722001-01-29 Gerd Moellmann <gerd@gnu.org>
2073
2074 * xdisp.c (forward_to_next_line_start): Remove xassert.
2075
fccb8288
EZ
20762001-01-29 Jason Rumney <jasonr@gnu.org>
2077
4eefd9d2 2078 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2079 returning without releasing it.
2080
76581eab
KH
20812001-01-29 Kenichi Handa <handa@etl.go.jp>
2082
2083 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2084 for '^', '$', and '\0'.
2085
83a96b4d
AC
20862001-01-28 Andrew Choi <akochoi@i-cable.com>
2087
5604ec34
AC
2088 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2089 regex for '^', '$', and '\0'.
2090
83a96b4d
AC
2091 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2092 only if current_sblock has been initialized.
2093
2094 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2095 terminal frame even if it is the only visible frame.
2096
c09a6440
KH
20972001-01-28 Kenichi Handa <handa@etl.go.jp>
2098
2099 * fontset.c (font_family_registry): Even if FONTNAME conform to
2100 XLFD, if it specifies other fields than family and registry,
52283633 2101 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2102 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2103 a signle byte character. Don't set FAMILY part to nil here.
2104 It is handled by the caller choose_face_font.
c09a6440
KH
2105 (Fnew_fontset): Call font_family_registry with FORCE 0.
2106 (Fset_fontset_font): Likewise.
2107
4dcd74e6
GM
21082001-01-27 Gerd Moellmann <gerd@gnu.org>
2109
2110 * xdisp.c (display_line): Don't treat a newline as fitting
2111 on the line.
2112
d2906bf8
GM
21132001-01-26 Gerd Moellmann <gerd@gnu.org>
2114
0130fe1a
GM
2115 * window.c (size_window): Set the window's orig_top to nil when
2116 changing heights, so that a future shrink_mini_window won't
2117 restore a bogus height.
2118
550f0e6a
GM
2119 * frame.c (do_switch_frame): If selected frame has a mini-window,
2120 resize that to exact size.
2121
b7b20fbd
GM
2122 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2123
a47b7816
GM
2124 * xdisp.c (display_line): Simplify check for glyphs fitting
2125 entirely in the line.
2126
d2906bf8
GM
2127 * xfns.c (xic_style): New variable.
2128 (create_frame_xic): Move static variable to global scope for
550f0e6a 2129 the case that `static' gets defined away.
d2906bf8 2130
73df2b1e
KH
21312001-01-26 Kenichi Handa <handa@etl.go.jp>
2132
2133 * coding.c (decode_coding): Set a flag for inhibiting
2134 inconsistent eol.
2135 (code_convert_region): Always set saved_coding_symbol.
2136 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2137 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2138
6613cfc4
GM
21392001-01-25 Gerd Moellmann <gerd@gnu.org>
2140
c5e6e06b
GM
2141 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2142 XClearArea.
2143
2144 * xterm.c (x_after_update_window_line): Don't clear if frame's
2145 internal border width is zero.
2146 (x_clear_area): New function.
2147 (x_after_update_window_line, x_clear_end_of_line)
2148 (x_scroll_bar_create, x_scroll_bar_set_handle)
2149 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2150 instead of XClearArea.
2151
2152 * xterm.h (x_clear_area): Add prototype.
2153
6613cfc4
GM
2154 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2155 which doesn't seem necessary anymore with Lesstif 0.92.
2156
650cc6cc
DL
21572001-01-25 Dave Love <fx@gnu.org>
2158
34ac3367
DL
2159 * puresize.h (BASE_PURESIZE): Up to 720000.
2160
650cc6cc
DL
2161 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2162
5e37dc22
GM
21632001-01-25 Gerd Moellmann <gerd@gnu.org>
2164
e1e441f9
GM
2165 * xdisp.c (echo_area_display): Don't call redisplay_internal
2166 when Emacs is shutting down. We can't run hooks etc. that
2167 would be necessary to do a redisplay.
2168
5e37dc22
GM
2169 * lread.c (read_integer): Use type EMACS_INT instead of int.
2170
0fb94c7f
EZ
21712001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2172
2173 * ccl.c (ccl_driver): Fix last change.
2174
e3778624
KH
21752001-01-25 Kenichi Handa <handa@etl.go.jp>
2176
2177 * ccl.h (sturct ccl_program): New member suppress_error.
2178
bb264518 2179 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2180 insert error message to the output.
2181 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2182
2183 * coding.h (struct coding_system): New member suppress_error.
2184
2185 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2186 (Fset_terminal_coding_system_internal): Set the member
2187 suppress_error to 1.
2188 (Fset_safe_terminal_coding_system_internal): Likewise.
2189
245ed2b1
SM
21902001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2191
2192 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2193 as if it was a `charset'.
2194
f9aaedb6
GM
21952001-01-24 Gerd Moellmann <gerd@gnu.org>
2196
2197 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2198 value in where_is_cache; the next lookup in the cache returns
2199 something bogus if we do.
2200
c3902c3e
EZ
22012001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2202
2203 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2204 if HAVE_WINDOW_SYSTEM isn't defined.
2205
3497f73e
GM
22062001-01-24 Gerd Moellmann <gerd@gnu.org>
2207
e7e41584
GM
2208 * fns.c (sweep_weak_table): Fix code taking items out of
2209 the hash collision chain. Some cleanup.
2210
3497f73e
GM
2211 * xterm.c (x_new_font): Don't change a tooltip's size.
2212
2213 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2214 background color by specifying a color for the default font
2215 in .Xdefaults.
2216
3d48e687
KH
22172001-01-24 Kenichi Handa <handa@etl.go.jp>
2218
96531b20
KH
2219 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2220 a workaround for SunOS 4's cc.
2221 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2222 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2223 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2224 statement.
3d48e687 2225
a30629d2
GM
22262001-01-23 Gerd Moellmann <gerd@gnu.org>
2227
2228 * xterm.c (x_set_window_size_1): New function extracted from
2229 x_set_window_size.
2230 (x_set_window_size): Use it.
2231 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2232 doesn't have a widget, like tooltips.
2233
5a43decf
EZ
22342001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2235
52283633 2236 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2237
b0e98867
KH
22382001-01-23 Kenichi Handa <handa@etl.go.jp>
2239
2240 * fns.c (Fset_char_table_default): Fix to make sub char-table
2241 correctly.
2242
50606b4c
GM
22432001-01-22 Gerd Moellmann <gerd@gnu.org>
2244
cb2ddc53 2245 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2246 a desired tool bar string, even if there are no tool bar items.
2247
57c28064
GM
2248 * xdisp.c (Ftool_bar_lines_needed): New function.
2249 (syms_of_xdisp): Defsubr it.
2250
50606b4c
GM
2251 * editfns.c (Fformat): Don't extend text properties from arguments
2252 to padding chars in the result.
2253
2f169c38
EZ
22542001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2255
2256 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2257
0f32f023
AI
22582001-01-20 Andrew Innes <andrewi@gnu.org>
2259
52283633 2260 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2261 (w32_initialize): Don't set term hooks that aren't actually needed
2262 in windowed mode.
2263
2264 * xfaces.c (realize_default_face):
2265 (realize_face):
2266 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2267
2268 * xdisp.c (handle_single_display_prop): Remove references to
2269 FRAME_W32_CONSOLE_P.
2270
52283633 2271 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2272
2273 * frame.h (output_method): Remove output_w32_console method.
2274 (FRAME_W32_CONSOLE_P): Remove macro.
2275
2276 * frame.c (Qw32_console): Remove variable.
2277 (Fframep): Remove references to it.
2278 (syms_of_frame): Ditto.
2279 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2280
2281 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2282 redefinition.
2283
7173eada
KH
22842001-01-20 Kenichi Handa <handa@etl.go.jp>
2285
2286 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2287
755b45ce
AI
22882001-01-19 Andrew Innes <andrewi@gnu.org>
2289
2290 * w32.c (init_environment): Add a version-independent site-lisp
2291 directory to EMACSLOADPATH, after the version dependent one.
2292
0a949811
GM
22932001-01-19 Gerd Moellmann <gerd@gnu.org>
2294
8501998a
GM
2295 * editfns.c (Fbuffer_substring): Doc fix.
2296
52283633
SM
2297 * xdisp.c (message_dolog, message2, message2_nolog):
2298 Rename parameter LEN to NBYTES.
0a949811 2299
e6ebcbbe
KH
23002001-01-19 Kenichi Handa <handa@etl.go.jp>
2301
200ecca2
KH
2302 * charset.c (strwidth): Use c_string_width.
2303 (c_string_width): New function.
2304 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2305 Caller changed.
2306
2307 * charset.h (c_string_width, lisp_string_width): Extern them.
2308
52283633 2309 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2310
e6ebcbbe
KH
2311 * indent.c (check_composition): Check validity of composition.
2312
200ecca2
KH
2313 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2314 characters by calling c_string_width.
2315 (x_consider_frame_title): Get byte length of frame tile string
2316 correctly.
2317 (display_mode_element): Pay attention to width of non-ASCII
2318 characters by calling strwidth.
2319
8692ca92
GM
23202001-01-18 Gerd Moellmann <gerd@gnu.org>
2321
8962e303
GM
2322 * xfns.c (Qcancel_timer): New variable.
2323 (syms_of_xfns): Initialize and staticpro it.
2324 (Fx_hide_tip, Fx_show_tip): Use it.
2325 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2326 the timer.
2327 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2328
91523be9
GM
2329 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2330
2331 * window.h (WINDOW_LIVE_P): New macro.
2332
b0b7ed0e
GM
2333 * window.c (window_size_fixed): New variable.
2334 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2335 the doc string.
2336
06bccf8e
GM
2337 * eval.c (specbind): If binding a per-buffer variable which
2338 doesn't have a buffer-local value in the current buffer, change
2339 the global value by changing the value of the symbol bound in all
2340 buffers not having their own value, to make it consistent with
2341 what happens with other buffer-local variables.
2342
8692ca92
GM
2343 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2344
2345 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2346 when searching for a newline.
2347
bb3a3b50
KH
23482001-01-18 Kenichi Handa <handa@etl.go.jp>
2349
2350 * xdisp.c (display_string): Fix previous change.
2351
c2cc16fa
JR
23522001-01-18 Jason Rumney <jasonr@gnu.org>
2353
2354 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2355 GLYPH_DEBUG is defined.
2356 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2357 true for images with `:ascent 100'.
2358 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2359 meantime, use face MOUSE_FACE_ID.
2360 If first glyph isn't a character glyph, use the ASCII NUL
2361 character to determine the face.
2362 (expose_area): Do not treat left margin specially.
2363 (note_mode_line_highlight): If no local_map, check global keymap.
2364 (note_mouse_highlight): Initialize overlay.
52283633 2365 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2366 (show_scroll_bars): Remove unused function.
2367 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2368 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2369 Clip to row.
52283633 2370 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2371 (x_free_frame_resources): Unload relief colors.
2372
9c11f79e
GM
23732001-01-17 Gerd Moellmann <gerd@gnu.org>
2374
3aec8722 2375 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2376 get_next_display_element when the newline is already found.
2377 This may change the iterator's position, when its current position is
3aec8722
GM
2378 equal to the iterator's stop_charpos.
2379
f3ffc2c3
GM
2380 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2381 zero, use this method only at the end of a line.
2382
52283633 2383 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2384 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2385 if SCALABLE_FONTS_P is set.
52283633 2386
d26d6fd9
GM
2387 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2388 so that scalable fonts are included.
2389
9c11f79e
GM
2390 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2391 In the cache, use a key containing the information if scalable
2392 fonts are included.
2393 (x_load_font): Adapt to change of keys in the font cache.
2394
23952001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2396
d26d6fd9
GM
2397 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2398 XListFonts to take advantage of font caching.
2399
9c11f79e
GM
2400 * xterm.c (x_list_fonts): Ensure caching font information when
2401 called for a null frame, which is the case frequently when Emacs
2402 starts.
2403
51446987
GM
24042001-01-17 Gerd Moellmann <gerd@gnu.org>
2405
f864120f
GM
2406 * xfns.c (QCconversion): Replaces QCalgorithm.
2407
2408 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2409
2410 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2411 of :algorithm.
52283633 2412
e37d1417
GM
2413 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2414 not everything could be displayed.
2415
51446987
GM
2416 * line.h, x-list-font.c: Files removed because unused.
2417
9ad4f3e5
AI
24182001-01-17 Andrew Innes <andrewi@gnu.org>
2419
2420 * dired.c (directory_files_internal): Convert result from readdir
2421 to a unibyte string initially, to avoid possible misinterpretation
2422 of some bytes as the internal form of Emacs characters.
2423
2eda09b5
KH
24242001-01-17 Kenichi Handa <handa@etl.go.jp>
2425
2426 * fns.c (concat): Be sure to avoid putting the same `composition'
2427 property on the adjacent regions.
2428
826f3788
GM
24292001-01-16 Gerd Moellmann <gerd@gnu.org>
2430
52283633 2431 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2432 (Fscroll_right, Fscroll_left): Set it here instead, if called
2433 interactively.
2434
d57b83b3
GM
2435 * buffer.c (Fset_buffer_modified_p): Set buffer's
2436 prevent_redisplay_optimizations_p flag.
2437
826f3788 2438 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2439 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2440 with additional arg.
2441
2442 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2443 Change prototype.
826f3788 2444
826f3788
GM
2445 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2446 FROM_WHERE, for debugging.
2447
261d788b
KH
24482001-01-16 Kenichi Handa <handa@etl.go.jp>
2449
2450 * ccl.c (Fregister_ccl_program): Handle the return value of
2451 resolve_symbol_ccl_program correctly.
52283633 2452 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2453
bccee4f2
GM
24542001-01-15 Gerd Moellmann <gerd@gnu.org>
2455
e4ded23c
GM
2456 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2457 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2458
2459 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2460 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2461 the display; we didn't open it.
2462
bccee4f2
GM
2463 * dispnew.c (save_or_restore_current_matrices): Function removed.
2464 (save_current_matrix, restore_current_matrix): New functions.
2465 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2466 restore the frame's current matrix. Due to the glyph pointer
2467 setup done in adjust_glyph_matrix, there is no easy way to make
2468 saving the current matrix in the desired matrix generally correct,
2469 so don't try it.
2470
ebeccffa
KH
24712001-01-15 Kenichi Handa <handa@etl.go.jp>
2472
2473 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2474 truncation glyphs.
2475 (display_line): Optimize for wide characters.
e4ded23c 2476 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2477 partially. On ttys, produce more than one truncation glyph for
2478 multi-column characters that don't fit on the line.
2479
64388126
KH
24802001-01-13 Kenichi Handa <handa@etl.go.jp>
2481
52283633
SM
2482 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2483 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2484
8edb0a6f
JR
24852001-01-13 Jason Rumney <jasonr@gnu.org>
2486
2487 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2488 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2489 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2490 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2491
52283633
SM
2492 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2493 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2494 (x_draw_image_glyph_string): Adapt to change of image margins.
2495
2496 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2497 variables.
2498
2499 * w32bdf.c (search_file_line, get_cached_font_char)
2500 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2501
2502 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2503
2504 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2505 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2506 (Fw32_send_sys_command): Remove unused variables.
2507 (w32_msg_pump): Add parentheses.
2508
2509 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2510 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2511 Add parentheses.
2512
4956d1ef
GM
25132001-01-12 Gerd Moellmann <gerd@gnu.org>
2514
b30623be
GM
2515 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2516 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2517 being a pair of margins.
2518 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2519 to DEFVAR_LISP. Extend doc.
2520
2521 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2522 margins.
2523 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2524 pair of integers `(X . Y)', use X for the horizontal and Y for the
2525 vertical margin.
2526 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2527 (parse_image_spec): Check it.
52283633
SM
2528 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2529 (tiff_format, gif_format, gs_format):
2530 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2531
52283633
SM
2532 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2533 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2534 (x_draw_image_glyph_string): Adapt to the change of image margins.
2535
2536 * dispextern.h (struct image): Replace member `margin' with
2537 `hmargin' and `vmargin'.
2538
4554cc79
GM
2539 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2540 and GLYPHS.
2541
2542 * dispnew.c (update_text_area): Put code which decrements the
2543 stop position when the row's face extends to the end of the
3bffc665 2544 line in #if 0.
4554cc79 2545
3cccce8d
GM
2546 * xfns.c (x_set_mouse_color): Fix color allocation.
2547
4956d1ef
GM
2548 * keyboard.c: Call get_local_map with new argument list.
2549
2550 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2551
2552 * intervals.h (enum map_property): Removed.
2553 (get_local_map): Change prototype.
2554
2555 * keymap.c: Call get_local_map with new argument list.
2556 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2557
2c2ff7f2
GM
25582001-01-11 Gerd Moellmann <gerd@gnu.org>
2559
a23887b9
GM
2560 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2561 of the size needed for the tool bar string. For the last image,
2562 use a `display' property that reaches to the end of the string.
2563
a7ee2d2e
GM
2564 * xselect.c (selection_request_dpyinfo): New variable.
2565 (x_handle_selection_request): Set it.
2566 (x_selection_request_lisp_error): Don't call
2567 x_decline_selection_request if selection request's display has
2568 been closed.
2569
52283633
SM
2570 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2571 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2572
457b792c
GM
25732001-01-10 Dave Love <fx@gnu.org>
2574
2575 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2576 ${SOME_MACHINE_LISP}, not ${lisp}.
2577
c1efd260
GM
25782001-01-10 Gerd Moellmann <gerd@gnu.org>
2579
52283633
SM
2580 * xdisp.c (display_line): On ttys, produce more than one truncation
2581 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2582
ac95a621
GM
2583 * xselect.c (x_reply_selection_request): Add a comment.
2584
c1efd260
GM
2585 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2586 XkbGetNames instead of XkbGetKeyboard.
2587
1bfb1345
DL
25882001-01-10 Dave Love <fx@gnu.org>
2589
2590 * sysdep.c (random): Revert the declaration.
2591
38119822
GM
25922001-01-09 Gerd Moellmann <gerd@gnu.org>
2593
52283633
SM
2594 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2595 Call function string_bytes.
35f464a7
GM
2596 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2597
2598 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2599 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2600 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2601 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2602 the current sblock.
2603 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2604 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2605 after sweeping strings, and at the end.
2606 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2607
38119822
GM
2608 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2609 ensure that pop_message is called.
2610
2611 * keyboard.c (Fexecute_extended_command): Use a
2612 record_unwind_protect to ensure that pop_message is called.
2613
2614 * lisp.h (push_message_unwind): Add prototype.
2615
2616 * xdisp.c (push_message_unwind): New function.
2617
2618 * fileio.c (do_auto_save_unwind): Do the pop_message here
2619 instead of in Fdo_auto_save.
2620 (Fdo_auto_save): Don't call pop_message.
2621
f47a9ec4
KR
26222001-01-08 Ken Raeburn <raeburn@gnu.org>
2623
2624 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2625 in inner block.
2626
a758f97d
GM
26272001-01-08 Gerd Moellmann <gerd@gnu.org>
2628
6d0afc03
GM
2629 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2630 when increasing window's vscroll.
2631
a758f97d
GM
2632 * macros.c (Qkbd_macro_termination_hook): New variable.
2633 (syms_of_macros): Initialize and staticpro it.
2634 (pop_kbd_macro): Run kbd-macro-termination-hook.
2635
2636 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2637
1bfb1345 26382001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2639
2640 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2641 arglist, for documentation's sake.
2642
0dac6924
AI
26432001-01-06 Andrew Innes <andrewi@gnu.org>
2644
2645 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2646 of *.pdb.
2647
8182406a
AI
26482001-01-05 Andrew Innes <andrewi@gnu.org>
2649
2650 * term.c (update_end): Don't check updating_frame; for some reason
2651 this can be 0 sometimes, such as after dismissing a popup menu,
2652 and isn't necessary given the explicit frame argument.
2653
3828218c
GM
26542001-01-05 Gerd Moellmann <gerd@gnu.org>
2655
2656 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2657 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2658
2f5ded21
GM
26592001-01-04 Gerd Moellmann <gerd@gnu.org>
2660
52283633 2661 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2662
2663 * xfns.c (x_create_tip_frame): Preserve the value of
2664 face_change_count around the creation of the tip frame.
52283633 2665
2f5ded21
GM
2666 * xfns.c (last_show_tip_args): New variable.
2667 (compute_tip_xy): New function.
2668 (Fx_show_tip): Reuse an existing tip frame, if possible.
2669 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2670
dfad65fa
DL
26712001-01-04 Dave Love <fx@gnu.org>
2672
64d4ec0f
DL
2673 * editfns.c (Fformat): Doc fix.
2674
dfad65fa
DL
2675 * systime.h (set_file_times): Prototype.
2676
2677 * widget.h (EmacsFrameSetCharSize_): Prototype.
2678
2679 * sysdep.c (random, srandom): Declare explicitly.
2680
2681 * dispextern.h (move_it_vertically_backward): Declare.
2682
85fe3b5e
GM
26832001-01-04 Gerd Moellmann <gerd@gnu.org>
2684
0f2ac578
GM
2685 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2686 like in Fx_create_frame.
2687
482cca61
GM
2688 * xfaces.c (set_font_frame_param): Don't do anything for
2689 non-graphical frames.
2690
85fe3b5e
GM
2691 * window.c (Fdelete_other_windows): Set window's window_end_valid
2692 to nil when changing the window's start. Don't change the
2693 window's start when its top position hasn't changed. If we do,
2694 this will set the window's optional_new_start, which act's like a
2695 force_start during redisplay with C-x 1 M-> under particular
2696 circumstances (see report from Per Starback to emacs-pretest-bug
2697 from 2000-12-13.).
2698
3e99d3b4
GM
26992001-01-03 Gerd Moellmann <gerd@gnu.org>
2700
a77dc1ec
GM
2701 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2702 short cut at the start of the function. Add an assertion.
2703 (reseat_at_next_visible_line_start): Add an assertion.
2704
2f3cad6c
GM
2705 * window.c (Frecenter): When changing the window start, set the
2706 window's window_end_valid to nil.
2707 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2708
2709 * dispextern.h (move_it_past_eol): Add prototype.
2710
2711 * xdisp.c (move_it_past_eol): New function.
2712
3e99d3b4
GM
2713 * window.c (Fwindow_end): Doc fix.
2714
27152001-01-03 Dave Love <fx@gnu.org>
2716
52283633 2717 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2718
bafb434c
GM
27192001-01-03 Gerd Moellmann <gerd@gnu.org>
2720
2721 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2722 the enabled_p flag of the glyph row at window_end_vpos to 0.
2723 (handle_single_display_prop): Fix last change.
2724
5297fb00
RS
27252001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2726
2727 * window.c (Frecenter): Doc fix.
2728
13d6a61c
AI
27292001-01-02 Andrew Innes <andrewi@gnu.org>
2730
2731 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2732
2733 * frame.h (output_method): Add output_w32_console method.
2734 (FRAME_W32_CONSOLE_P): New macro.
2735
2736 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2737 use output_w32_console method.
2738 (Qw32_console): New Lisp_Object.
2739 (Fframep): Return it.
2740 (syms_of_frame): Init it.
52283633 2741 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2742
2743 * xfaces.c (realize_default_face): Set face foreground and
2744 background to unspecified for w32_console frames.
2745 (realize_face): Realize face cache for w32_console frames.
2746 (realize_tty_face): Accept w32_console frames.
2747
52283633 2748 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2749 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2750 necessary, even if running interactively.
2751
2752 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2753 w32_console frames.
2754
52283633
SM
2755 * w32term.c (x_update_begin):
2756 (x_update_end):
2757 (x_clear_frame):
2758 (x_ins_del_lines):
2759 (x_change_line_highlight):
2760 (x_delete_glyphs):
2761 (w32_ring_bell):
2762 (x_update_begin):
2763 (x_update_end):
2764 (w32_reassert_line_highlight):
2765 (w32_frame_rehighlight):
13d6a61c
AI
2766 (w32_frame_raise_lower): Do nothing if not w32 frame.
2767
2768 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2769
2770 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2771 system doesn't tell us directly.
2772 (Fx_display_visual_class): Implement properly.
2773
d6bb0c0d
GM
27742001-01-02 Gerd Moellmann <gerd@gnu.org>
2775
2776 * window.c (Frecenter): Handle centering in graphical frames
2777 specially. Centering on the basis of line counts doesn't work
2778 reliably with variable-height lines.
52283633 2779
315f5865
EZ
27802001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2781
2782 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2783 and al[].
2784
52283633 2785 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2786 (update_compositions): Remove unused variable `hook'.
2787
2788 * intervals.c (get_local_map): Remove unused variable `tem'.
2789
2790 * doprnt.c (doprnt1): Remove unused variable `size'.
2791
2792 * fns.c (Flength): Remove unused variable `tail'.
2793 (Fdelete): Remove unused variable `size'.
2794
2795 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2796 and `gcpro2'.
2797
52283633 2798 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2799
2800 * data.c (find_symbol_value): Remove extra 3rd argument in the
2801 call to swap_in_symval_forwarding.
2802
52283633 2803 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2804
2805 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2806 (trivial_regexp_p): Remove unused variable `c'.
2807 (boyer_moore): Remove unused variable `k'.
2808
2809 * indent.c (current_column): Remove unused variable `stopchar'.
2810 (Fcompute_motion): Remove unused variable `contin'.
2811
2812 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2813
2814 * dired.c (directory_files_internal): Fix a typo in a comment.
2815 Remove an unused variable `handler'.
52283633 2816 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2817 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2818 on BSD4_2.
2819
52283633 2820 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2821
2822 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2823 and `buf'.
2824 (Fmarker_insertion_type): Remove unused variable `buf'.
2825
2826 * insdel.c (make_gap): Remove unused variable `result'.
2827
52283633 2828 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2829 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2830 (menu_bar_items): Remove unused function-scope variable `tem'.
2831
2832 * fontset.c (fontset_ref): Remove unused variable `i'.
2833 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2834 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2835 (make_fontset_for_ascii_face): Remove unused variable `name'.
2836 (fs_load_font): Remove unused variable `font_idx'.
52283633 2837 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2838 (list_fontsets): Remove unused variable `tail'.
2839 (Fnew_fontset): Remove unused variables `family' and `registry'.
2840 (accumulate_font_info): Remove unused variable `tmp'.
2841 (Ffontset_font): Remove unused variable `id'.
2842 (syms_of_fontset): Remove unused variable `i'.
2843
2844 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2845 to x_term_init.
2846 (lookup_image): Remove unused variable `file'.
2847 (xbm_load): Remove unused variables `bitmap_data', `height', and
2848 `width'. Remove function-local variable `i', leave the
2849 block-local one.
2850 (gif_load): Remove unused variable `inc'.
2851
52283633 2852 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2853 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2854 leave only the one in the inner block.
2855
2856 * xfaces.c (face_fontset, realize_default_face): Remove unused
2857 variable `fontset'.
2858 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2859
2860 * term.c (encode_terminal_code): Remove unused variable `c'.
2861
2862 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2863 char *' instead of `char *'.
2864
2865 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2866 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2867 (Fchar_category_set): Remove unused variables `val', `charset',
2868 `c1' and `c2'.
2869
52283633
SM
2870 * coding.c (detect_coding_iso2022, setup_coding_system):
2871 Remove unused variable `i'.
315f5865
EZ
2872 (detect_coding_mask): Remove unused variable `idx'.
2873 (detect_coding): Remove unused variable `i'.
2874 (ccl_coding_driver): Remove unused variable `result'.
2875 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2876 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2877 (encode_coding_string): Remove unused variables `gcpro1' and
2878 `saved_coding_symbol'.
2879 (Ffind_coding_systems_region_internal): Remove function-local
2880 variable args[], leave only the block-local one.
2881 (code_convert_region1): Remove unused variable `len'.
2882
2883 * charset.c (char_printable_p): Remove unused variable `chars'.
2884 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2885 (str_to_multibyte): Remove unused variable `c'.
2886
2887 * window.c (size_window): Remove block-local variable `min_size'.
2888
2889 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2890 `header_line_height'.
2891 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2892 enum display_element_type.
2893
1a8a9daf
GM
28942001-01-02 Gerd Moellmann <gerd@gnu.org>
2895
6dde6abc 2896 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2897 statements that call X. Save away the error message in a local copy.
2898
1883b2c6
GM
2899 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2900 the start.
2901
a13be207
GM
2902 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2903 in or at the start of invisible text.
2904
1a8a9daf
GM
2905 * dispnew.c (update_window): Don't check_current_matrix_flags.
2906
3608c0f9
JR
29072001-01-01 Jason Rumney <jasonr@gnu.org>
2908
2909 * w32fns.c (x_figure_window_size): Do not allow new_height and
2910 new_width of frame to override specified values.
2911
abb1acc4
KH
29122000-12-30 Kenichi Handa <handa@etl.go.jp>
2913
52283633 2914 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2915
762a68ec
GM
29162000-12-29 Gerd Moellmann <gerd@gnu.org>
2917
52283633 2918 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2919 (update_window) [GLYPH_DEBUG]: Call it.
2920 (scrolling_window): Prevent including current rows which are below
2921 what's displayed in the window.
2922
2923 * xdisp.c (try_window_reusing_current_matrix)
2924 <new start <= old start>: Disable rows in the current matrix
2925 which are below the window after scrolling.
52283633 2926
762a68ec
GM
2927 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2928 is zero. It's not worth the complexity.
2929 (invisible_text_between_p): Put in #if 0 because unused.
2930
2d5912c1
GM
29312000-12-28 Gerd Moellmann <gerd@gnu.org>
2932
46f6a258
GM
2933 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2934 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2935
89f93679
GM
2936 * keyboard.c (echo_char): If C is an integer, always call
2937 push_key_description. Former code could signal an invalid
2938 character error.
2939
2940 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2941 If set, print multibyte text.
2942 (Fsingle_key_description): Call push_key_description with
2943 FORCE_MULTIBYTE set.
2944 (describe_buffer_bindings): Likewise.
2945
2946 * lisp.h (push_key_description): Add prototype.
2947
c06017fb
GM
2948 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2949 around the call to redisplay_internal.
2950
f1d2ce7f
GM
2951 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2952
2d5912c1
GM
2953 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2954
9371f831
KH
29552000-12-28 Kenichi Handa <handa@etl.go.jp>
2956
2957 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2958 (ccl_driver): New local variable `extra_bytes'.
2959
2960 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2961
52283633
SM
2962 * coding.c (setup_coding_system):
2963 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2964 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2965
0c80628a
KH
29662000-12-28 Kenichi Handa <handa@etl.go.jp>
2967
2968 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2969 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2970 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2971 (decode_composition_emacs_mule): New function.
2972 (decode_coding_emacs_mule): Decode composition sequence by calling
2973 decode_composition_emacs_mule.
2974 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2975 (encode_coding_emacs_mule): Changed from macro to function.
2976 If a text contains compositions, encode them correctly.
0c80628a
KH
2977 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2978 that decoding and encoding are required.
2979
3e32cc27
GM
29802000-12-27 Gerd Moellmann <gerd@gnu.org>
2981
5e25feee
GM
2982 * xfaces.c (PT_PER_INCH): New macro.
2983 (xlfd_point_size): Compute real point size from font's pixel size.
2984 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2985 instead of 72.
2986
892d8fcd
GM
2987 * .gdbinit: Comment out the line pointing to the Lesstif source
2988 directory.
2989
12c8b416
GM
2990 * window.c (Frecenter): Use displayed_window_lines instead
2991 of window_internal_height.
2992
6061fbf0
GM
2993 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2994 instead of x-toolkit-scroll-bars-p.
2995 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2996
2997 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2998 instead of x-toolkit-scroll-bars-p.
2999 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3000
3e32cc27
GM
3001 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3002 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3003 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3004 New variables.
3005 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3006 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3007 (build_frame_matrix_from_leaf_window): Remove unused code.
3008 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3009 redisplay history.
3010 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3011 (update_window) [GLYPH_DEBUG]: Likewise.
3012 (syms_of_display): Defsubr dump-redisplay-history.
3013
31798cfe
GM
30142000-12-23 Gerd Moellmann <gerd@gnu.org>
3015
f717c2ba
GM
3016 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3017 the end of the prompt. Set echo_after_prompt to the offset
3018 of echoptr in echobuf.
3019
aeb2b8fc
GM
3020 * xdisp.c (init_from_display_pos): Pop until the iterator's
3021 stack is empty; there may be frames for stretch or images
3022 on the stack.
3023
31798cfe
GM
3024 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3025 (save_or_restore_current_matrix): New function for the same
3026 purpose, but more efficient.
3027 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3028
f8156156
EZ
30292000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3030
3031 * xdisp.c (syms_of_xdisp): Fix last change.
3032
bdd6d4e8
GM
30332000-12-23 Gerd Moellmann <gerd@gnu.org>
3034
3035 * xdisp.c (syms_of_xdisp): Doc fix.
3036
3037 * xdisp.c (redisplay_window): Remove label restore_buffers;
3038 use finish_scroll_bars instead to make sure that scroll bars
3039 are redeemed. If we don't do this, flickering can result from
3040 scroll bars being destroyed and recreated.
3041
9436cdf9
JR
30422000-12-22 Jason Rumney <jasonr@gnu.org>
3043
3044 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3045 in the wrong colors when the foreground is not black.
3046 (expose_window): Don't redraw the window that's currently being
3047 updated.
3048
951f9df5
GM
30492000-12-22 Gerd Moellmann <gerd@gnu.org>
3050
856ff7a7
GM
3051 * window.c (size_window): When setting the window's too_small_ok
3052 flag, compare old size with minimum size depending on WIDTH_P,
3053 don't compare with window_min_width.
52283633 3054
951f9df5
GM
3055 * window.c (delete_window): Simplify somewhat.
3056 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3057 freeing window matrices. The flag windows_or_buffers_changed is
3058 set, so the next redisplay will consider all windows; this should
3059 suffice.
3060
886bc933
KH
30612000-12-22 Kenichi Handa <handa@etl.go.jp>
3062
3063 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3064
3065 * ccl.h (struct ccl_program): New member cr_consumed.
3066
3067 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3068 (CCL_READ_CHAR): Handle EOL conversion here.
3069 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3070
177f4e88
GM
30712000-12-21 Gerd Moellmann <gerd@gnu.org>
3072
52283633 3073 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3074
3075 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3076 otherwise tabs of different size compare equal.
3077
3078 * callint.c (Fcall_interactively): Prevent a compiler warning.
3079
3080 * print.c (print_unwind): Return nil.
3081 (PRINTDECLARE): Initialize all local variables.
3082 (print_preprocess): Add a default case.
3083
8e15274f
GM
3084 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3085
3086 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3087
52283633 3088 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3089 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3090
3091 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3092
3093 * dispnew.c (ensure_frame_matrix): Removed.
3094 (save_frame_matrix, restore_frame_matrix): New functions.
3095 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3096
3097 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3098 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3099
99012074
AI
31002000-12-21 Andrew Innes <andrewi@gnu.org>
3101
3102 * w32term.c (x_update_begin): Regenerate the palette here, rather
3103 than for each window.
3104
3105 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3106 palette is NULL, since this corrupts memory! Also get
3107 display_info reference from frame.
3108
29ef7d2d
JR
31092000-12-21 Jason Rumney <jasonr@gnu.org>
3110
3111 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3112
3113 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3114 to avoid returning without releasing it.
3e27fa1f 3115
3f9d67a6
KH
31162000-12-21 Kenichi Handa <handa@etl.go.jp>
3117
587fc3f9
KH
3118 * keymap.c (push_key_description): Don't convert eight-bit-control
3119 and eight-bit-graphic to multibyte character.
3120
3f9d67a6
KH
3121 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3122 generic character and CODE1 is nil, return the smallest character
3123 in CHARSET.
3124
774ba8c9
DL
31252000-12-20 Dave Love <fx@gnu.org>
3126
3127 * s/osf5-0.h (NSIG): Don't redefine.
3128
88416888
SM
31292000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3130
3131 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3132 excluding menu-bar and tool-bar.
3133 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3134 (menu_item_p): Remove.
3135 (where_is_internal_1): Don't ignore menu-items.
3136
a6426c6f
GM
31372000-12-20 Gerd Moellmann <gerd@gnu.org>
3138
03ff8aab
GM
3139 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3140 into account.
3141
3142 * window.c (make_window): Initialize window's min_hscroll.
3143 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3144 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3145 to zero.
3146 (struct saved_window): New member min_hscroll.
3147 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3148 (Fset_window_configuration): Set window's min_hscroll.
3149 (save_window_save): Save window's min_hscroll.
3150 (compare_window_configurations): Compare min_hscroll values.
3151
3152 * window.h (struct window): New member min_hscroll.
3153
3154 * keyboard.c (echo_prompt): Prevent a compiler warning.
3155
8de4aaf8
GM
3156 * xdisp.c (try_cursor_movement): Fix last change. The real
3157 condition is that PT is at the end of the row, and should
3158 be displayed at the start of the next row.
52283633 3159
3f7e3031
GM
3160 * xdisp.c (try_cursor_movement): If we end on a partially
3161 visible line, end we already decided to scroll, return -1.
3162
a6426c6f
GM
3163 * dispextern.h (ensure_frame_matrix): Add prototype.
3164
3165 * window.c (delete_window, Fsplit_window)
3166 (Fset_window_configuration): Call ensure_frame_matrix.
3167
52283633
SM
3168 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3169 New functions.
a6426c6f
GM
3170 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3171 completed, call fake_current_matrices instead of marking frame
3172 garbaged.
3173
57fa2774
JR
31742000-12-20 Jason Rumney <jasonr@gnu.org>
3175
3176 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3177
d925df90
EZ
31782000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3179
3180 * fns.c (Frequire): Doc fix.
3181
7b93a85b
GM
31822000-12-19 Gerd Moellmann <gerd@gnu.org>
3183
52283633 3184 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3185
c74e645b
GM
3186 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3187 currently displaying a message.
3188
7b93a85b
GM
3189 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3190 xterm.h.
3191 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3192
90d97e64
AI
31932000-12-18 Andrew Innes <andrewi@gnu.org>
3194
3195 * w32.c (w32_strerror): New function.
3196
3197 * w32.h (w32_strerror): New extern.
3198
3199 * w32fns.c (Fw32_shell_execute): Use it.
3200
91c9e6ce
GM
32012000-12-18 Gerd Moellmann <gerd@gnu.org>
3202
3203 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3204
6f4745e2
EZ
32052000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3206
3207 * msdos.c (IT_set_face): Obey inverse_video.
3208
c9e088ce
KH
32092000-12-18 Kenichi Handa <handa@etl.go.jp>
3210
3211 * dired.c (directory_files_internal): Always return decoded filenames.
3212
c3695f5f
GM
32132000-12-18 Gerd Moellmann <gerd@gnu.org>
3214
52d8e4ff
GM
3215 * xterm.c (x_connection_closed): Prevent being called recursively
3216 because of an error condition in XtCloseDisplay.
52283633 3217
62be9979
GM
3218 * xdisp.c (init_iterator): If noninteractive, and the frame's
3219 face cache is null, make one.
3220
52283633 3221 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3222
c3695f5f
GM
3223 * process.c (wait_reading_process_input): Check for pending
3224 input when running timers.
3225
78555fbe
EZ
32262000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3227
52283633 3228 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3229
b2b36264
KH
32302000-12-18 Kenichi Handa <handa@etl.go.jp>
3231
3232 * process.c (read_process_output): Don't run a filter if the code
3233 decoder produces nothing but carryover.
3234
9c543fbf
AI
32352000-12-17 Andrew Innes <andrewi@gnu.org>
3236
3237 * w32.c (sys_rename): Only check errno against EEXIST, and not
3238 EACCES, when determining whether rename failed because the target
3239 exists. This was resulting in indefinite looping on Windows 9x if
3240 the source file was locked by another process.
3241
3242 * w32fns.c (Ffile_system_info): New function.
3243 (syms_of_w32fns): Defsubr it.
3244
10c2b5a8
GM
32452000-12-17 Gerd Moellmann <gerd@gnu.org>
3246
b0228ace
GM
3247 * window.c (coordinates_in_window): Fix computation for
3248 position on vertical line between mode lines.
3249
10c2b5a8
GM
3250 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3251 Don't alter tip_frame or tip_window.
3252 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3253 was deleted.
3254
c844a81a
GM
3255 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3256 Don't alter tip_frame or tip_window.
3257 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3258 was deleted.
3259
6c825f8e
EZ
32602000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3261
3262 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3263 be consistent with the doc string. Reported by NAKAJIMA Mikio
3264 <minakaji@osaka.email.ne.jp>.
3265
af4bb4c8
KH
32662000-12-16 Kenichi Handa <handa@etl.go.jp>
3267
3268 * xfaces.c (Vface_ignored_fonts): New variable.
3269 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3270 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3271
8062e53a
GM
32722000-12-15 Gerd Moellmann <gerd@gnu.org>
3273
e87b8809
GM
3274 * dispnew.c (update_window): Detect pending input every nth line
3275 updated, i.e. do it depending on real work done, and not on the
3276 vpos of the line.
3277
3278 * xterm.c (expose_window): Don't redraw the window that's
3279 currently being updated.
3280
a6768cc5
GM
3281 * window.c (Fset_window_point): Remove test for
3282 cursor_in_non_selected_windows.
3283
4ea7fdca
GM
3284 * lread.c (read1): Recognize end of file after `\\'.
3285
8062e53a
GM
3286 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3287 not unwind_create_frame.
3288
bb7959c1
GM
32892000-12-15 Dave Love <fx@gnu.org>
3290
3291 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3292 bcopy & al.
3293
3294 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3295
ced04c42
KH
32962000-12-15 Kenichi Handa <handa@etl.go.jp>
3297
c5443913
KH
3298 * coding.c (setup_coding_system): Clear all members of the struct
3299 coding_system at first.
bc137305
KH
3300 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3301 argument.
3302 (code_convert_region): Don't override coding->src_multibyte and
3303 coding->dst_multibyte.
c5443913 3304
ced04c42
KH
3305 * fns.c (Fmd5): Docstring improved.
3306
c2d7f289
MB
33072000-12-15 Miles Bader <miles@gnu.org>
3308
3309 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3310 are actually marked as mode-lines; otherwise use
3311 estimate_mode_line_height.
3312
9d7d9263
GM
33132000-12-14 Gerd Moellmann <gerd@gnu.org>
3314
3315 * editfns.c (Fformat): Prevent a buffer overrun when the format
3316 specifies a precision.
3317
7cf0153a
EZ
33182000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3319
3320 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3321 argument is outside the range [2..3].
3322
1de0f662
AI
33232000-12-14 Andrew Innes <andrewi@gnu.org>
3324
3325 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3326 nothing to do. Bind inhibit-quit.
3327 (tip_frame): Make it a Lisp_Object.
3328 (x_create_tip_frame): Set tip_frame after it has been added to
3329 Vframe_list.
3330 (Fx_show_tip): Don't set tip_frame here.
52283633 3331 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3332 (unwind_create_frame, unwind_create_tip_frame): New functions.
3333 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3334 while a frame is only partially constructed.
3335
3336 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3337 (x_free_frame_resources): New function.
3338 (x_destroy_window): Use it.
3339
02387dcc
GM
33402000-12-14 Gerd Moellmann <gerd@gnu.org>
3341
3342 * xfns.c (Fx_backspace_delete_keys_p): New function.
3343 (syms_of_xfns): Defsubr it.
3344
3345 * config.in (HAVE_XKBGETKEYBOARD): Add.
3346
0544ef49
KH
33472000-12-14 Kenichi Handa <handa@etl.go.jp>
3348
98d62747
KH
3349 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3350 Always store string in multibyte representation in echobuf.
3351 (echo_char): Always store string in multibyte representation in
3352 echobuf.
3353 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3354 (read_key_sequence): Adjusted for the change of echo_prompt.
3355
a20193cd
KH
3356 * fns.c (Fmd5): Docstring improved.
3357
191b83b6
KH
3358 * lisp.h (detect_coding_system): Prototype adjusted.
3359
0544ef49
KH
3360 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3361 (detect_coding_emacs_mule, detect_coding_iso2022,)
3362 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3363 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3364 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3365 (detect_coding_mask, detect_coding_system): New argument
3366 MULTIBYTEP. Callers changed.
1da1bb05
KH
3367 (decode_coding_string): Set coding->src_multibyte and
3368 coding->dst_multibyte before calling detect_coding and detect_eol.
3369 Update them after some coding system is detected.
52283633 3370
d5b3eb1b
SM
33712000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3372
3373 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3374
3375 * keyboard.c (menu_bar_items, tool_bar_items):
3376 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3377
f7f8bb69
GM
33782000-12-13 Gerd Moellmann <gerd@gnu.org>
3379
52283633 3380 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3381 New variables.
3382 (unwind_create_frame, unwind_create_tip_frame): New functions.
3383 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3384 while a frame is only partially constructed.
3385
3386 * xterm.h (x_free_frame_resources): Declare.
3387
3388 * xterm.c (x_free_frame_resources): New function.
3389 (x_destroy_window): Use it.
3390
e10da507
GM
3391 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3392 don't interrupt the update for pending input initially, i.e.
3393 update at least some lines.
3394
3395 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3396
d5b3eb1b 3397 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3398
3399 * xfns.c (gray_bitmap_bits): Declare `char *'.
3400
90aa2856
GM
34012000-12-12 Gerd Moellmann <gerd@gnu.org>
3402
3403 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3404 lines start with a relief line.
3405
a308c9cd
DL
34062000-12-12 Dave Love <fx@gnu.org>
3407
3408 * window.c (Fdisplay_buffer): Doc fix.
3409 (Fwindow_list): Remove unused var.
3410
3411 * buffer.h (mmap_set_vars): Declare.
3412
3413 * window.h (Fset_window_point): Declare.
3414
d575011f
EZ
34152000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3416
bf6282d2 3417 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3418 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3419 variable `area'. When looking for a row under (X,Y), give up if some
3420 of the previous rows is not enabled.
d575011f 3421
ecf4d726
GM
34222000-12-12 Gerd Moellmann <gerd@gnu.org>
3423
2ebf6139
GM
3424 * window.c (Fset_window_point): If displaying cursors in windows
3425 other than the selected window, make sure redisplay updates
3426 other windows to show the new value of point in the window.
3427
3428 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3429
bfdb75ee
GM
3430 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3431 the buffer is the sole visible buffer when in the mini-buffer.
3432
52283633 3433 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3434 Bind `inhibit-read-only' to t.
3435 (unwind_with_echo_area_buffer): Use AREF.
3436
c0006262
GM
3437 * xfns.c (Fx_hide_tip): Simplified.
3438
52283633
SM
3439 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3440 instead of `1'.
e9a59cad 3441
ecf4d726
GM
3442 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3443
e5959a9a
GM
34442000-12-11 Gerd Moellmann <gerd@gnu.org>
3445
a3642e49 3446 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3447
44b5a125
GM
3448 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3449 nothing to do. Bind inhibit-quit.
3450 (tip_frame): Make it a Lisp_Object.
3451 (x_create_tip_frame): Set tip_frame after it has been added to
3452 Vframe_list.
3453 (Fx_show_tip): Don't set tip_frame here.
3454
3455 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3456
3457 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3458 Lisp_Object.
3459
3460 * dispextern.h: Change external declaration of tip_frame.
3461
d990421f
GM
3462 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3463 return an empty string.
3464
4db87380
GM
3465 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3466 of the window's update_mode_line flag, since the former is set by
3467 force-mode-line-update, not the latter. This makes
3468 column-number-mode slightly faster.
52283633 3469
e5959a9a
GM
3470 * xdisp.c (try_window_id) <all changes above window start>:
3471 Set the cursor.
3472
169fe44e
GM
34732000-12-11 Paul Eggert <eggert@twinsun.com>
3474
3475 * config.in (HAVE_FTELLO): Remove.
3476 (HAVE_FSEEKO): Add.
3477 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3478 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3479 HAVE_FTELLO.
3480 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3481 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3482
59ec59ae
MB
34832000-12-11 Miles Bader <miles@gnu.org>
3484
3485 * window.c (displayed_window_lines): Don't round up when
3486 converting empty space at bottom to lines.
ff904dd6
MB
3487 Handle non-newline-terminated final lines properly.
3488 (Fwindow_text_height): New function (used to be in lisp).
3489 (syms_of_window): Initialize it.
59ec59ae 3490
42ebfa31
SM
34912000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3492
3493 * syntax.c (scan_lists): Check that the right quote char has the
3494 right Sstring syntax when jumping over strings.
3495 (init_syntax_once): Use Smax rather than 13.
3496
5cdb3cf3
MB
34972000-12-09 Miles Bader <miles@gnu.org>
3498
3499 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3500 with PARTIALLY, inverting the sense.
3501 (window_scroll_pixel_based): Scroll partially visible lines into
3502 place if we hit the beginning or end of the buffer.
a12167c5
MB
3503 (displayed_window_lines): Don't include partially visible lines.
3504 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3505
842b2a94
GM
35062000-12-08 Gerd Moellmann <gerd@gnu.org>
3507
3508 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3509
3510 * tparam.c (tparam1): Change the way buffers are reallocated to be
3511 portable and less obfuscated.
3512
3513 * termcap.c (tgetent): Change the way buffers are reallocated to
3514 be portable and less obfuscated.
3515
3516 * macros.c (store_kbd_macro_char): Change the way buffers are
3517 reallocated to be portable and less obfuscated.
3518
3519 * lread.c (read1): Change the way buffers are reallocated to be
3520 portable and less obfuscated.
3521
3522 * doc.c (Fsubstitute_command_keys): Change the way buffers
3523 are reallocated so that it is portable.
3524
137cad7c
EZ
35252000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3526
3527 * dosfns.c (Ffile_system_info): New function.
3528 (syms_of_dosfns): Defsubr it.
3529
5c7f629c
SM
35302000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3531
3532 * alloc.c (gc_sweep): Add comment.
3533
959e647d
GM
35342000-12-07 Gerd Moellmann <gerd@gnu.org>
3535
52283633
SM
3536 * sound.c (vox_configure): Change order of ioctls.
3537 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3538 Ignore errors when changing volume.
3539 (vox_close): Don't reset the device.
3540
926b7e5e
GM
3541 * process.c (read_process_output): Make sure the process marker's
3542 position is valid when the process buffer is changed in
3543 after-change functions. W3 does that.
52283633 3544
959e647d
GM
3545 * xfns.c (x_free_gcs): New function.
3546
3547 * xterm.h (x_free_gcs): Add prototype.
3548
3549 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3550 freeing GCs here.
3551
3552 * xterm.c (x_destroy_window): Call x_free_gcs so that
3553 resources of non-toolkit X windows will be freed.
3554
478ea067
AI
35552000-12-07 Andrew Innes <andrewi@gnu.org>
3556
3557 * w32fns.c (xlfd_charset_of_font): Fix last change.
3558
fbee3231
DL
35592000-12-06 Dave Love <fx@gnu.org>
3560
67292061
DL
3561 * md5.h (__P): Don't define -- it comes from config.h.
3562
fbee3231
DL
3563 * strftime.c: Change some #if foo to #ifdef foo.
3564
4ee87dbb
AI
35652000-12-06 Andrew Innes <andrewi@gnu.org>
3566
3567 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3568
52283633 3569 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3570 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3571 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3572
9765b4a4
GM
35732000-12-06 Gerd Moellmann <gerd@gnu.org>
3574
d285b373
GM
3575 * alloc.c (gc_sweep): Prevent symbols read during loadup
3576 from being freed.
3577
384333ee
GM
3578 * xdisp.c (underlying_face_id): New function.
3579 (handle_face_prop, face_before_or_after_it_pos): Use it
3580 to determine the face ``under'' a string. Let strings inherit
3581 the face of the buffer under them.
3582
3583 * xfaces.c (face_at_string_position): Update function comment.
52283633 3584
d4b72d58
GM
3585 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3586 matrix if the window's left position has changed; we need to
3587 redraw it in this case.
3588
3589 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3590
e1d05387
GM
3591 * window.c (coordinates_in_window): Check mouse on mode-line or
3592 header-line first.
3593
eb1b0c74
GM
3594 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3595 advertized by the function documentation.
3596
d94d636f
GM
3597 * window.c (syms_of_window): Doc fix.
3598
3887b449
GM
3599 * sound.c (vox_configure): Set volume for left and right channel.
3600 (sound_cleanup): Return nil.
3601
efc8f57a
GM
3602 * xdisp.c (move_it_by_lines): Fix paren typo.
3603
9765b4a4
GM
3604 * xterm.c (x_load_font): Don't use the font's max_bounds for
3605 computing the height of the font. If max_bounds' ascent or
3606 descent are greater than the font's ascent or descent, this means
3607 glyphs overlap, which should be handled now by redisplay.
3608
6529ed87
GM
3609 * window.c (Veven_window_heights): New variable.
3610 (syms_of_window): DEFVAR_LISP it.
3611 (Fdisplay_buffer): Check Veven_window_heights before evening the
3612 window heights.
52283633 3613
0eb2ecde
MB
36142000-12-06 Miles Bader <miles@gnu.org>
3615
3616 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3617 update `default-frame-alist' instead of setting no frame parameters.
3618
03d7a167
KH
36192000-12-06 Kenichi Handa <handa@etl.go.jp>
3620
3621 * composite.c (update_compositions): Fix typo (use the correct
3622 variable).
3623
5f8803c2
JR
36242000-12-05 Jason Rumney <jasonr@gnu.org>
3625
3626 * md5.h: Remove underscores from function declarations.
3627 (__attribute__, __alignof__) [!__GNUC__]: Define.
3628
3629 * md5.c: Delay include of md5.h until after namespace cleaning.
3630
c28a075b
JR
3631 * makefile.w32-in (fns.o): Depend on md5.h
3632 (md5.o): New target.
3633 (sunfns.o): Remove.
3634
3635 * makefile.nt: Likewise.
3636
ff3c7056
JR
36372000-12-05 Jason Rumney <jasonr@altavista.net>
3638
3639 * w32term.c (expose_area): Complete last change.
3640
0c21eeeb
KR
36412000-12-05 Ken Raeburn <raeburn@gnu.org>
3642
3643 * minibuf.c: Include intervals.h.
3644
f201d732
JR
36452000-12-05 Jason Rumney <jasonr@gnu.org>
3646
3647 * w32term.c (x_produce_glyphs): If a font for a component of
3648 a composition is not found, use 1 pixel dot ascent and 0 dot
3649 descent value to avoid displaying terribly tall empty boxes.
3650 (expose_area): Pass x-coordinate relative to the exposed
3651 area to x_draw_glyphs instead of a window-relative coordinate.
3652
21999ab9
GM
36532000-12-05 Gerd Moellmann <gerd@gnu.org>
3654
4d2036e4
GM
3655 * xdisp.c (next_element_from_ellipsis): Save face before selective
3656 display in saved_face_id, and set face_before_selective_p.
3657 (reseat_1): Reset face_before_selective_p.
3658 (append_space, extend_face_to_end_of_line): If iterator's
3659 face_before_selective_p is set, use the face from saved_face_id.
3660 (extend_face_to_end_of_line): For tty frames, make sure to
3661 use the right face id when producing spaces at the end of
3662 the line.
3663
3664 * dispextern.h (struct it): Add face_before_selective_p.
3665
52be17cc
GM
3666 * keyboard.c (record_char): Don't record identical help-echo
3667 events in recent_keys.
3668
8a4f36cc
GM
3669 * xterm.c [USE_X_TOOLKIT]: Close the display.
3670 (xim_close_dpy): Handle case that the display has been closed.
3671
57d6e381
GM
3672 * xterm.c (x_destroy_window): Reset the frame's X window after
3673 destroying it.
3674
21999ab9
GM
3675 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3676 variable window_width.
3677 (line_draw_cost): Fix code skipping over spaces at the end of the
3678 line when must_write_spaces is not set.
3679 (scrolling_window): Fix code inserting runs in list of all runs.
3680
91372bb7
KH
36812000-12-05 Kenichi Handa <handa@etl.go.jp>
3682
3683 * coding.c (setup_coding_system): Be sure to initialize
3684 coding->category_idx.
3685
6c083b4c
GM
36862000-12-04 Gerd Moellmann <gerd@gnu.org>
3687
0c68ce6f 3688 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3689
6452929e
GM
3690 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3691 area to x_draw_glyphs instead of a window-relative coordinate.
3692
d7f31e22
GM
3693 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3694 error in the message.
3695
ae18aa3b
GM
3696 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3697 timer after having read a key. It's not good for code reading
3698 several keys in a loop, like an input method.
3699
caa15ef7
GM
3700 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3701 record undo information for format-decode.
3702
3703 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3704 current buffer is read-only, not if it isn't.
3705
6c083b4c
GM
3706 * keyboard.c (record_char): Record `help-echo' input events
3707 in recent_keys only if they display some help. Don't record
3708 `help-echo' events as macro char.
3709
caa15ef7
GM
37102000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3711
3712 * editfns.c (save_excursion_restore): Don't move point
3713 in another window if it is showing the wrong buffer.
3714 Avoid the call to Fwindow_live_p, for speed.
3715
5a13529b
KH
37162000-12-04 Kenichi Handa <handa@etl.go.jp>
3717
e225faa7
KH
3718 * xfaces.c (struct font_name): New member registry_priority.
3719 (split_font_name): Initialize the above member to zero.
3720 (concat_font_list): New function.
3721 (font_list): Include fonts of all alternative registries.
3722 (FONT_POINT_SIZE_QUANTUM): New macro.
3723 (better_font_p): Ignore point size difference less than
3724 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3725
e89648b4
KH
3726 * xterm.c (x_produce_glyphs): If a font for a component of
3727 a composition is not found, use 1 pixel dot ascent and 0 dot
3728 descent value to avoid displaying terribly tall empty boxes.
3729
5a13529b
KH
3730 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3731
d7935eb6
KR
37322000-12-03 Ken Raeburn <raeburn@gnu.org>
3733
3734 * coding.h (code_convert_string1): Declare.
3735
3736 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3737
52283633 3738 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3739
0dd5e255
JR
37402000-12-02 Jason Rumney <jasonr@gnu.org>
3741
3742 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3743 correctly for single byte character case.
3744 (w32_per_char_metric): Do not try to make any assumptions about
3745 the metrics of BDF fonts.
250cfece 3746 (x_estimate_mode_line_height): If `mode-line' face
52283633 3747 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3748 (note_mouse_highlight): Change the cursor shape on the vertical
3749 border between windows [not enabled].
3750
3751 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3752
3753 * w32fns.c (Fx_create_frame): Reintroduce the call to
3754 face-set-after-frame-defaults.
3755 (Vx_window_horizontal_drag_shape): New variable.
3756 (syms_of_xfns): DEFVAR_LISP it.
3757 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3758 enabled].
0dd5e255 3759
b5d8d2ca
GM
37602000-12-02 Simon Josefsson <simon@josefsson.org>
3761
3762 * fns.c (Fmd5): Use a different logic to decide the coding system
3763 to use.
3764
3765 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3766
fbb87147
EZ
37672000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3768
52283633 3769 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3770
447e9da0
GM
37712000-12-01 Gerd Moellmann <gerd@gnu.org>
3772
7708ced0
GM
3773 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3774 height for YNegative.
3775 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3776 height; also see comment there.
3777
447e9da0
GM
3778 * window.c (coordinates_in_window): Handle computations for
3779 positions on the vertical bar and fringes differently for
3780 window-system frames. Consider some pixels near the vertical bar
3781 as on the bar if the frame doesn't have vertical scroll bars.
3782 Associate positions between mode or header lines with the
3783 right window, the left one.
3784
86d1db20
JR
37852000-12-01 Jason Rumney <jasonr@gnu.org>
3786
3787 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3788
3789 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3790 invalid frame.
3791
a1d58e5b
GM
37922000-12-01 Gerd Moellmann <gerd@gnu.org>
3793
52283633 3794 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3795 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3796 (save_window_save, Fset_window_configuration): Save/restore
3797 window's orig_top and orig_height.
3798
89c609af
JR
37992000-12-01 Jason Rumney <jasonr@gnu.org>
3800
4d177746 3801 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3802
89c609af
JR
3803 * w32fns.c (x_set_cursor_color): Fix last change.
3804
eccc05db
GM
38052000-11-30 Gerd Moellmann <gerd@gnu.org>
3806
31b6671b
GM
3807 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3808 sure that the next redisplay displays the minibuffer, so that
3809 the cursor will be replaced with what the minibuffer wants.
3810
eccc05db
GM
3811 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3812 #ifndef instead of using #if.
3813 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3814 USE_TOOLKIT_SCROLL_BARS is defined.
3815
162de750
JR
38162000-11-30 Jason Rumney <jasonr@gnu.org>
3817
3818 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3819 x_display_cursor.
3820
693c4692
GM
38212000-11-30 Gerd Moellmann <gerd@gnu.org>
3822
3823 * fns.c (Fmd5): Doc fix.
3824
b5d8d2ca 38252000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3826
3827 * fns.c (Fmd5): New function.
3828 (syms_of_fns): Defsubr md5.
3829
3830 * Makefile.in (obj): Add md5.o
3831
b02cd40b
GM
38322000-11-30 Gerd Moellmann <gerd@gnu.org>
3833
edfb795e
GM
3834 * md5.h, md5.c: New files, taken from glibc.
3835
df3aedcf
GM
3836 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3837
b02cd40b 3838 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3839 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3840
8b5176cd
SM
38412000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3842
3843 * eval.c (Frun_hooks): Allow 0 arguments.
3844
346598f1
GM
38452000-11-29 Gerd Moellmann <gerd@gnu.org>
3846
f9396e03
GM
3847 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3848 is over the menu bar widget, say it's not on the frame.
3849
4a967a9b
GM
3850 * xfns.c (Fx_create_frame): Reintroduce the call to
3851 face-set-after-frame-defaults.
3852
346598f1
GM
3853 * eval.c (Fsignal): Reset handling_signal.
3854
222456a1
JR
38552000-11-28 Jason Rumney <jasonr@gnu.org>
3856
3857 * w32menu.c (add_menu_item): Reset menu item text when changing
3858 type to radio button.
3859
8049ddc0
GM
38602000-11-28 Gerd Moellmann <gerd@gnu.org>
3861
346598f1 3862 * xselect.c: Update copyright.
f4f4ee4d 3863
bebe4a2c
GM
3864 * window.c (coordinates_in_window): If on a mode or header line,
3865 but sufficiently close to its start, return ``on vertical
3866 border''. This gives us a way to drag windows horizontally when
3867 using toolkit scroll bars.
3868
3869 * xterm.c (note_mouse_highlight): Change the cursor shape
3870 on the vertical border between windows.
3871
3872 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3873
3874 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3875 (syms_of_xfns): DEFVAR_LISP it.
3876 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3877
8d2c2642
GM
3878 * textprop.c (text_read_only): New function.
3879 (verify_interval_modification): Use it instead of signaling
3880 `text-read-only'. This makes it easier to catch this error
52283633 3881 with a breakpoint.:
8d2c2642 3882
52283633 3883 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3884 not end of line, which includes CR.
3885
5a2bae6c
KH
38862000-11-28 Kenichi Handa <handa@etl.go.jp>
3887
3888 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3889 include no-conversion.
3890
ae31f84d
JR
38912000-11-27 Jason Rumney <jasonr@gnu.org>
3892
3893 * w32fns.c (w32_load_system_font): Always mark font as double byte
3894 if codepage is unicode.
3895
67f1cf4c
GM
38962000-11-27 Gerd Moellmann <gerd@gnu.org>
3897
4a74d071 3898 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3899 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3900
902ae620
GM
3901 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3902 `vertical-line', `mode-line' and `header-line' events.
3903
3904 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3905 of a character, a TAB for instance. This is easier than to set
3906 up the iterator exactly, and it's not a frequent case, so the
3907 additional effort wouldn't really pay off.
3908
c1e279c2
AC
39092000-11-26 Andrew Choi <akochoi@i-cable.com>
3910
67f1cf4c 3911 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3912 init_window_once.
3913
a609568a
JR
39142000-11-25 Jason Rumney <jasonr@gnu.org>
3915
52283633
SM
3916 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3917 Args to window_from_coordinates should be pixel coordinates.
48b21762 3918
a609568a
JR
3919 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3920 redisplay handles them properly.
3921
a658d039
MB
39222000-11-25 Miles Bader <miles@gnu.org>
3923
3924 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3925
d3416cca
JR
39262000-11-24 Jason Rumney <jasonr@gnu.org>
3927
3928 * w32.c (init_environment): Set LANG environment variable based on
3929 locale settings, if not set.
3930
3931 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3932 making tool bar smaller. When clearing the frame, also
3933 clear current matrices. Clear frame when tool bar disappears.
3934 Don't use more lines for the tool-bar than is available.
3935 (x_change_window_heights): New function.
3936
ba193890
GM
39372000-11-24 Gerd Moellmann <gerd@gnu.org>
3938
2be8f184
GM
3939 * xdisp.c (init_from_display_pos): If POS says we're already after
3940 an overlay string ending at POS, make sure to pop the iterator
3941 because it will be in front of that overlay string. When POS is
3942 ZV, we've thereby also ``processed'' overlay strings at ZV.
3943
ba193890
GM
3944 * xfaces.c (lface_from_face_name): Function comment fix.
3945
1862a24e
MB
39462000-11-24 Miles Bader <miles@gnu.org>
3947
3948 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3949 apply `mode-line-inverse-video' -- zero means force display using
3950 the default face, non-zero means display using the specialized face.
3951 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3952
f07fa1b8
KH
39532000-11-23 Kenichi Handa <handa@etl.go.jp>
3954
3955 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3956 hard coded `4'.
3957
2bcdf662
EZ
39582000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3959
3960 * coding.c (decode_coding_emacs_mule): Fix the case of
3961 CODING_EOL_LF, which used uninitialized value of c.
3962
ba8299ff
SM
39632000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3964
3965 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3966
f4117c4d
GM
39672000-11-22 Gerd Moellmann <gerd@gnu.org>
3968
03e757c1
GM
3969 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3970 buffer object.
3971
f4117c4d
GM
3972 * frame.h (struct frame): Replace desired_tool_bar_items,
3973 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3974 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3975
3976 * frame.c (make_frame): Change initialization of tool bar
3977 items accordingly.
3978
3979 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3980 Change references to members deleted from struct frame to use the
f4117c4d
GM
3981 new ones.
3982
3983 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3984 references to members deleted from struct frame to use the new ones.
f4117c4d 3985
52283633 3986 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3987
3988 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3989
3990 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3991 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3992 from struct frame to use the new ones.
3993
f8e2f3f2
MB
39942000-11-23 Miles Bader <miles@gnu.org>
3995
3996 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3997 the face's inverse-video attribute, rather than overriding it.
3998
60e8e0a5
GM
39992000-11-22 Gerd Moellmann <gerd@gnu.org>
4000
4001 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4002 making tool bar smaller.
4003
92dd1b29
DL
40042000-11-22 Dave Love <fx@gnu.org>
4005
4006 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4007
e672fdce
MB
40082000-11-22 Miles Bader <miles@gnu.org>
4009
3a17d6cc
MB
4010 * keyboard.c (Vminibuffer_message_timeout): New variable.
4011 (command_loop_1): Use it to determine message timeout.
4012 (syms_of_keyboard): Initialize it.
4013
60e8e0a5 4014 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4015
e9655d81
KH
40162000-11-22 Kenichi Handa <handa@etl.go.jp>
4017
4018 * sysdep.c: Move the code for declaring h_errno after #include
4019 <netdb.h>.
4020
77270fac
GM
40212000-11-21 Gerd Moellmann <gerd@gnu.org>
4022
cd913aae
GM
4023 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4024 the menu bar when the tooltip is unmapped.
4025
77270fac
GM
4026 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4027 sole visible buffer when we're currently in the mini-buffer, and
4028 give up if so.
52283633 4029
556635d6
JR
40302000-11-21 Jason Rumney <jasonr@gnu.org>
4031
4032 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4033 put on the clipboard.
4034 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4035 copy of what Emacs last put there. If they are the same, do not
52283633 4036 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4037
5b7bde64
MB
40382000-11-22 Miles Bader <miles@gnu.org>
4039
4040 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4041 (syms_of_minibuf): Initialize it.
4042 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4043 to prompt, don't make read-only.
4044
ff23e1dd
GM
40452000-11-21 Gerd Moellmann <gerd@gnu.org>
4046
52283633
SM
4047 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4048 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4049
7aaf4388
GM
4050 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4051
f5f47add 4052 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4053
ff23e1dd
GM
4054 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4055
37c35586
KH
40562000-11-21 Kenichi Handa <handa@etl.go.jp>
4057
4058 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4059 ... #endif scope.
4060
ff9ab414
GM
40612000-11-20 Gerd Moellmann <gerd@gnu.org>
4062
52283633 4063 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4064 screen supports it.
4065
29a01b72
GM
4066 * s/gnu-linux.h: Don't use `#cpu'.
4067
09dfdf85
GM
4068 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4069 not defined in mman.h.
4070
52283633 4071 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4072 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4073 and store an index in the XClientMessageEvent. Storing a
4074 Lisp_Object or pointer can fail on a 64 bit system, since X only
4075 transfers 32 bits.
52283633
SM
4076 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4077
81459ac9
DL
40782000-11-20 Dave Love <fx@gnu.org>
4079
4080 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4081
56c13ae6
GM
40822000-11-20 Gerd Moellmann <gerd@gnu.org>
4083
4084 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4085
495a6df3
KH
40862000-11-20 Kenichi Handa <handa@etl.go.jp>
4087
2bcf3714
KH
4088 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4089 by WIDTH.
4090
495a6df3
KH
4091 * alloc.c (make_string): Fix previous change. Be sure to make
4092 unibyte string correctly.
4093
6d950f4c
GM
40942000-11-19 Gerd Moellmann <gerd@gnu.org>
4095
39b39373
GM
4096 * window.c (Fwindow_list): Change parameter list to be XEmacs
4097 compatible.
4098 (window_list_1): New function.
4099 (window_loop): Use it instead of Fwindow_list.
4100
b95b34e5
GM
4101 * sysdep.c (emacs_ospeed): New variable.
4102 (toplevel): Don't declare ospeed extern.
4103 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4104
4105 * termcap.c (ospeed): Remove.
4106 (tputs) [!emacs]: Remove unused code.
4107 (tgetent): Avoid a compiler warning.
4108
e83dc917
GM
4109 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4110 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4111 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4112
4113 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4114 removed.
4115 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4116 Take the X display as additional argument.
4117 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4118 `Widget' is a pointer type that's not easily stored in Lisp_Object
4119 form in a portable way.
52283633 4120
6d950f4c
GM
4121 * dispnew.c (update_text_area): Fix last change.
4122
e47306e6
GM
41232000-11-18 Gerd Moellmann <gerd@gnu.org>
4124
fb3cd89b
GM
4125 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4126
4127 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4128 clear current matrices.
4129
edaa9aed
GM
4130 * buffer.c (mmap_enlarge): Don't print a message on stderr
4131 if mapping new memory at the end of the existing region fails.
4132
e47306e6
GM
4133 * dispnew.c (update_text_area): Don't skip over equal glyphs
4134 when the last current glyph overlaps the glyph to its right.
4135
509633e3
MB
41362000-11-18 Miles Bader <miles@gnu.org>
4137
4138 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4139 lines that *end* with "..." too (that's the most common case!).
4140
d392e9c5
GM
41412000-11-18 Gerd Moellmann <gerd@gnu.org>
4142
67988445
GM
4143 * xdisp.c (resize_mini_window): Temporarily change to the
4144 mini-window's buffer if necessary.
1bfdbe43 4145
d392e9c5
GM
4146 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4147 the tooltip obscures less text under it.
4148
41492000-11-17 Gerd Moellmann <gerd@gnu.org>
4150
4151 * puresize.h (BASE_PURESIZE): Increase to 700000.
4152
92bb977f
JR
41532000-11-18 Jason Rumney <jasonr@gnu.org>
4154
4155 * w32term.c (w32_draw_bitmap): Use face to set colors.
4156
26fbf20b
DL
41572000-11-17 Dave Love <fx@gnu.org>
4158
4159 * lread.c (Fload): Fix #ifdef for pcc.
4160
100b593b
GM
41612000-11-17 Gerd Moellmann <gerd@gnu.org>
4162
4163 * xdisp.c (pos_visible_p): Compute the default character height
4164 differently.
4165
a288d0d1
GM
41662000-11-16 Gerd Moellmann <gerd@gnu.org>
4167
cac94de6 4168 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4169 knowing the line's height; use the default font's height in that case.
cac94de6 4170
a288d0d1
GM
4171 * xfaces.c (weight_table): Add `demi' with the same meaning as
4172 `demibold'.
4173
981fb6f6
KH
41742000-11-16 Kenichi Handa <handa@etl.go.jp>
4175
2cca872d 4176 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4177 (clear_glyph_row): Delete local static variable null_row.
4178
e5fa381b
JR
41792000-11-15 Jason Rumney <jasonr@gnu.org>
4180
4181 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4182 (w32_alloc_lighter_color): Use new brightness calculations from
4183 xterm.c. Scale delta to be in the range expected by W32.
4184 (w32_draw_relief_rect): Use frame relief colors.
4185
8e42f043
GM
41862000-11-15 Gerd Moellmann <gerd@gnu.org>
4187
6d133d1f
GM
4188 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4189 (Qinhibit_default_face_x_resources): New variable.
4190 (syms_of_frame): Initialize it.
4191 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4192
4193 * xdisp.c (pos_visible_p): Improve function comment.
4194
4195 * lisp.h (BINDING_STACK_SIZE): New macro.
4196
8e42f043
GM
4197 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4198 reading the directory if readdir returns null and errno is EAGAIN
4199 or EINTR.
4200
e8c87124
SM
42012000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4202
4203 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4204 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4205 Set amount_to_scroll to max of dx and scroll_step so that
4206 scroll-conservatively doesn't defeat scroll-step>1.
4207 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4208 scroll-conservatively for line-at-a-time scrolling.
4209
5f0c971d
GM
42102000-11-14 Gerd Moellmann <gerd@gnu.org>
4211
4212 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4213 extra argument.
4214
4215 * xdisp.c (current_mode_line_height, current_header_line_height):
4216 New variables.
4217 (init_xdisp): Initialize them.
4218 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4219 and use exact mode line heights if it is set.
4220
4221 * lisp.h (pos_visible_p): Change prototype.
4222
4223 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4224 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4225 and current_header_line_height first.
52283633
SM
4226 (current_mode_line_height, current_header_line_height):
4227 Declare extern.
5f0c971d 4228
d7361edf
MB
42292000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4230
4231 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4232 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4233 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4234
ee5e440a
MB
42352000-11-14 Miles Bader <miles@gnu.org>
4236
4237 * xterm.c (x_alloc_lighter_color): Include an additive component
4238 too for dark colors, because FACTOR isn't enough.
4239 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4240 New macros.
4241
5ca020fc
GM
42422000-11-13 Gerd Moellmann <gerd@gnu.org>
4243
4244 * keyboard.c (show_help_echo): Call message3_nolog with number of
4245 bytes in the help string as 2nd parameter, instead of the number
4246 of characters.
4247
9d348294
MB
42482000-11-13 Miles Bader <miles@gnu.org>
4249
4250 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4251 (Fload): Use new openp return protocol.
4252 Don't try to use Vload_source_file_function to load .elc files.
4253 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4254 openp return protocol.
4255 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4256
1729bb9a
KH
42572000-11-11 Kenichi Handa <handa@etl.go.jp>
4258
4e677396
KH
4259 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4260
4261 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4262 Defined these macros.
4263 (NLIST_STRUCT): Avoid re-defining it.
4264
1729bb9a
KH
4265 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4266 -I/usr/contrib/X11R6/include.
4267 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4268
a82fe213
JR
42692000-11-10 Jason Rumney <jasonr@gnu.org>
4270
4271 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4272
4273 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4274 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4275
4276 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4277 (Qw32_charset_vietnamese): New symbol.
4278 (xlfd_charset_of_font): New function.
4279 (w32_load_system_font): Use it.
4280 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4281 when Vw32_charset_info_alist is nil to ensure default face always
4282 has font. Use Fcar and Fcdr for safety.
4283 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4284 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4285 pseudo-codepages for special cases.
4286 (w32_to_x_font): New parameter to allow charset portion to be
4287 specified where there is many to one mapping. Callers changed.
4288 (w32_list_fonts): Avoid listing fonts that won't display.
4289
52d89894
GM
42902000-11-10 Gerd Moellmann <gerd@gnu.org>
4291
4292 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4293 (font_list_1): Renamed from font_list.
4294 (font_list): New function, trying alternative registries from
4295 Vface_alternative_font_registry_alist.
4296 (Finternal_set_alternative_font_registry_alist): New function.
4297 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4298 Vface_alternative_font_registry_alist.
4299 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4300
651cd3da
KR
43012000-11-09 Ken Raeburn <raeburn@gnu.org>
4302
4303 * lisp.h (Flooking_at): Declare.
4304
388ac098
GM
43052000-11-09 Gerd Moellmann <gerd@gnu.org>
4306
778fbc46 4307 * dired.c (directory_files_internal): Fix a braino.
52283633 4308
388ac098
GM
4309 * dired.c (directory_files_internal): Add missing GCPRO's.
4310 Some cleanup.
4311
ecaedde1
GM
43122000-11-08 Gerd Moellmann <gerd@gnu.org>
4313
f7eb32aa
GM
4314 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4315 (resize_mini_window): Return quickly if Vresize_mini_window is
4316 nil. Don't return if Vmax_mini_window_height is nil.
4317
4318 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4319 (syms_of_xdisp): Initialize them.
4320 (resize_mini_window): Act according to the setting of
4321 Vresize_mini_window.
4322 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4323
ecaedde1
GM
4324 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4325 scroll bar widget after configuring it, so that it will appear at
4326 the right position from the start.
4327 (XTredeem_scroll_bar): Cleaned up.
4328
3747ef2c
KH
43292000-11-08 Kenichi Handa <handa@etl.go.jp>
4330
4331 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4332 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4333 division by two.
4334
4335 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4336
03391420
DL
43372000-11-07 Dave Love <fx@gnu.org>
4338
7758f1c1 4339 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4340
4341 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4342
b5de343d
GM
43432000-11-07 Gerd Moellmann <gerd@gnu.org>
4344
acad3c0b
GM
4345 * window.c (Fset_window_configuration): Don't try to preserve
4346 point in the current buffer, if that buffer is displayed in more
4347 than one window.
4348
b5de343d
GM
4349 * xfaces.c (lookup_named_face): If default face isn't realized,
4350 try to realize it. Return -1 if not successful.
4351 (Fx_list_fonts): Handle case that face cannot be determined.
4352 (Fface_font): Likewise.
4353
cdb1fe49
GM
43542000-11-06 Gerd Moellmann <gerd@gnu.org>
4355
4356 * window.c (displayed_window_lines): Detect partially
4357 visible lines at the bottom correctly.
4358
d3a67486
SM
43592000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4360
4361 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4362 when ensuring we don't do visit in indirect buffer.
4363
ff8dd5d5
KH
43642000-11-06 Kenichi Handa <handa@etl.go.jp>
4365
4366 * composite.h (compose_chars_in_text): Add prototype.
4367
4368 * composite.c (Vcomposition_function_table): New variable.
4369 (Qcomposition_function_table): New variable.
4370 (run_composition_function): Call
4371 Vcompose_chars_after_function with three arguments.
4372 (compose_chars_in_text): New function.
4373 (syms_of_composite): Modified the doc-string of
4374 Vcompose_chars_after_function. Declare composition-function-table
4375 as a lisp variable, and initialize it.
4376
4377 * xfns.c (x_encode_text): Suppress producing escape sequences for
4378 composition.
4379
4380 * xselect.c: Include composite.h.
4381 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4382
d1145f85
AI
43832000-11-05 Andrew Innes <andrewi@gnu.org>
4384
4385 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4386
4387 * sysdep.c (read_input_waiting): Remove extraneous argument to
4388 read_socket_hook.
4389
4390 * w32fns.c (Fx_server_version): Include w32_build_number in the
4391 return list.
4392
4393 * w32heap.c (w32_build_number): New variable.
4394 (cache_system_info): Set it.
4395
4396 * w32heap.h (w32_build_number): Add extern.
4397
4398 * emacs.c (syms_of_emacs): Update docstring for
4399 system-configuration, to reflect the actual usage on MS-Windows.
4400
e85ee976
GM
44012000-10-31 Gerd Moellmann <gerd@gnu.org>
4402
26dcb81b
GM
4403 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4404 process idle timers while waiting for another event.
4405
52283633 4406 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4407 the default face are colored.
4408
e85ee976
GM
4409 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4410 window height hasn't changed.
4411
01b220b6
JR
44122000-10-31 Jason Rumney <jasonr@gnu.org>
4413
4414 * w32term.c (x_produce_glyphs): Handle composite characters.
4415 (x_draw_glyph_string_foreground)
4416 (x_draw_composite_glyph_string_foreground): Restore old font.
4417
4e6b7204
MB
44182000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4419
4420 * minibuf.c (read_minibuf): Reset the undo history just before
4421 starting the recursive-edit.
4422
d4358b37
GM
44232000-10-30 Gerd Moellmann <gerd@gnu.org>
4424
563f68f1
GM
4425 * xfaces.c (menu_face_change_count): New variable.
4426 (Finternal_set_lisp_face_attribute): Increment it for changes
4427 of the `menu' face.
4428 (realize_basic_faces): Reflect changes in the `menu' faces
4429 in menu bars.
4430
82e274d1
GM
4431 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4432 dy obtained from the iterator's y-position after moving from
4433 scroll_margin_pos to PT; see comment there.
52283633 4434
0dbf9fd2
GM
4435 * xdisp.c (safe_eval_handler): Call add_to_log.
4436
906b3b14
GM
4437 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4438 is not a symbol or string.
4439
d4358b37
GM
4440 * xdisp.c (echo_area_display): Don't perform a display update from
4441 inside redisplay. The update will happen anyway at the end of
4442 redisplay, and it can confuse redisplay (GC messages while
4443 redisplaying, for instance.)
4444
70c825df
SM
44452000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4446
cf9b4b0b
SM
4447 * xrdb.c (x_load_resources): Use the class name in the defaults.
4448
70c825df
SM
4449 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4450 (regex_compile): Catch bogus \(\1\).
4451
a1d34b1e
GM
44522000-10-30 Gerd Moellmann <gerd@gnu.org>
4453
cae71efe
GM
4454 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4455 RGB values.
52283633 4456
35efe0a1
GM
4457 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4458 we have a color cache, check that the cached color equals the
4459 allocated color. If not, clear the color cache.
4460
1d3baf74
GM
4461 * window.c (displayed_window_lines): Change buffers if necessary.
4462 Fix computation of displayed lines.
4463
a1d34b1e
GM
4464 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4465 update_menu_bindings to DEFVAR_BOOL.
4466
70737ea9
KH
44672000-10-30 Kenichi Handa <handa@etl.go.jp>
4468
70c825df 4469 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4470
fa0cb51d
KH
4471 * puresize.h (BASE_PURESIZE): Increase to 680000.
4472
70737ea9
KH
4473 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4474
0e4c08e8
JR
44752000-10-29 Jason Rumney <jasonr@gnu.org>
4476
4477 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4478
4479 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4480 (w32_cache_char_metrics): Handle possibility that 'x' does not
4481 exist in a BDF font.
4482 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4483
4484 * w32bdf.h (bdffont): Add nchars.
4485
4486 * w32bdf.c (set_bdf_font_info): Set it.
4487 (w32_BDF_TextOut): Swap byte order of double byte characters.
4488 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4489
45b84006
EZ
44902000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4491
4492 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4493 don't override the colors in frame's param_alist, unless they are
4494 unspecified.
4495
4496 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4497 reverse the effect of the highlight flag.
4498
caf9deee
KR
44992000-10-27 Ken Raeburn <raeburn@gnu.org>
4500
4501 * window.h (Fwindow_live_p): Declare.
4502
ae0b9b46
KR
4503 * undo.c (record_delete): Check that last_undo_buffer is really a
4504 buffer before applying XBUFFER to it.
4505
4506 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4507 Faref.
4508
02067692
SM
45092000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4510
4511 * lisp.h (KEYMAPP): New macro.
4512 (get_keymap): Remove.
4513 (get_keymap_1): Rename get_keymap.
4514
4515 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4516
4517 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4518
4519 * xmenu.c (single_submenu): Use KEYMAPP.
4520 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4521 Use KEYMAPP rather than Fkeymapp.
4522
4523 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4524
4525 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4526 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4527 Use KEYMAPP rather than Fkeymapp.
4528 (single_submenu): Use KEYMAPP.
4529 (w32_menu_show, w32_dialog_show): Use TRUE.
4530
4531 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4532
4533 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4534 (Fkeymapp): Use KEYMAPP.
4535 (get_keymap): Rename from get_keymap_1. Remove old def.
4536 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4537 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4538 (Fminor_mode_key_binding): Don't raise an error if the binding
4539 is not a keymap.
4540 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4541 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4542
4543 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4544 Allow Vspecial_event_map to be autoloaded.
4545 (menu_bar_items): Fetch the keymap rather than using keymapp.
4546 (menu_bar_one_keymap): No need to follow func-indirect any more.
4547 (parse_menu_item): get_keymap_1 -> get_keymap.
4548 (tool_bar_items): Fetch the keymap rather than using keymapp.
4549 (read_key_sequence): Use KEYMAPP.
4550
4551 * intervals.c (get_local_map): Use get_keymap rather than following
4552 function-indirections explicitly.
4553
4554 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4555
f9d80af3
JR
45562000-10-27 Jason Rumney <jasonr@gnu.org>
4557
4558 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4559 point, as Windows has oversized fonts.
4560
4561 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4562
a3ba27da
GM
45632000-10-27 Gerd Moellmann <gerd@gnu.org>
4564
4565 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4566 (freehook, reallochook): Handle null pointer arguments.
4567 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4568
aa3b80cc
SM
45692000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4570
4571 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4572 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4573 Giving in to popular pressure to shut up the compiler with casts.
4574
e24e84cc
GM
45752000-10-27 Gerd Moellmann <gerd@gnu.org>
4576
4577 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4578 signed value, and use a default value computed from the font's
4579 maximum descent.
4580
05ea7ef2
MB
45812000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4582
4583 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4584 that specify a negative underline position can still use underlines.
4585
4586 * window.c (Fpos_visible_in_window_p): Make POS default to
4587 WINDOW's point, not the current buffer's point.
4588
0b95284b
DL
45892000-10-26 Dave Love <fx@gnu.org>
4590
4591 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4592 when it's necessary.
4593
6c5b90af
GM
45942000-10-26 Gerd Moellmann <gerd@gnu.org>
4595
8b6d9dc9
GM
4596 * window.c (size_window): Compute size difference from sum of old
4597 child window sizes instead of from parent's size.
4598
6bc92b2e
GM
4599 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4600 Handle obscured lines at the top of the window.
4601
4602 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4603 down after the last error condition check.
4604
6c5b90af
GM
4605 * frame.c (Fdelete_frame): Run delete-frame-hook.
4606
42f92d4d
KH
46072000-10-26 Kenichi Handa <handa@etl.go.jp>
4608
4609 * coding.c (decode_coding): Fix previous change (check also
4610 CODING_MODE_LAST_BLOCK).
4611
d97151cb
SM
46122000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4613
e7efc503
SM
4614 * regex.c: More `unsigned char' -> `re_char' changes.
4615 Also change several `int' into `re_wchar_t'.
4616 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4617 (PUSH_FAILURE_POINTER): Don't cast any more.
4618 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4619 We want GCC to complain, since this piece of code makes
4620 re_match non-reentrant, which *should* be fixed.
4621 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4622 (EXTEND_BUFFER): Use RETALLOC.
4623 (SET_LIST_BIT): Don't cast.
4624 (re_wchar_t): New type.
4625 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4626 that those two functions will always properly return.
4627 (IMMEDIATE_QUIT_CHECK): Cast to void.
4628 (analyse_first): Use recursion rather than an explicit stack.
4629 (re_compile_fastmap): Can't fail anymore.
4630 (re_search_2): Don't check re_compile_fastmap for failure.
4631 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4632 Now also sets the new value (passed in a new argument).
4633 (re_match_2_internal): Use it.
4634 Also, use a new var `reg' of type size_t when looping through regs
4635 rather than reuse the inappropriate `mcnt'.
4636
d97151cb
SM
4637 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4638 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4639 (where_is_internal): Renamed from Fwhere_is_internal.
4640 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4641 (Fwhere_is_internal): New function wrapping where_is_internal.
4642 (where_is_internal_1): Handle the case where we're filling the cache.
4643 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4644
d5789b65
MB
46452000-10-25 Miles Bader <miles@gnu.org>
4646
4647 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4648
4ecda532
GM
46492000-10-25 Gerd Moellmann <gerd@gnu.org>
4650
4651 * window.c (pos_fully_visible_p): Removed.
4652 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4653 if position is visible and/or fully visible.
4654
4655 * lisp.h (pos_visible_p): Add prototype.
4656
4657 * xdisp.c (pos_visible_p): New function.
4658
68c3a137
KH
46592000-10-25 Kenichi Handa <handa@etl.go.jp>
4660
4661 * process.c (send_process): If OBJECT is t, it means that the data
4662 is from C string, but we should encode it. Before calling
4663 setup_raw_text_coding_system, be sure to flush out data by the
4664 previous coding system.
4665
7ae1c032
MB
46662000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4667
ff4dcd4b
MB
4668 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4669 assignment of startpos to prev when startpos == pos.
4670
7ae1c032
MB
4671 * editfns.c (find_field): Set the field stickiness correctly from
4672 overlay fields. Use renamed `text_property_stickiness'.
4673 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4674 Only check text properties, not overlays.
7ae1c032
MB
4675 * textprop.c (get_char_property_and_overlay): New function.
4676 (Fget_char_property): Use it.
4677 * intervals.h (get_char_property_and_overlay): Add declaration.
4678
49801145
SM
46792000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4680
4681 * keymap.c: Use AREF, ASET and ASIZE macros.
4682 (Fmake_sparse_keymap): Docstring fix.
4683 (synkey): Remove.
4684 (shadow_lookup): Move up.
4685 Handle the case where lookup-key returns an integer.
4686 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4687 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4688 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4689 Simplify/rewrite the keymap-finding code.
4690 Add check for command shadowing, using shadow_lookup.
4691
39e776cd
SM
46922000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4693
4694 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4695 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4696 a symbol.
4697
2488aba5
AI
46982000-10-24 Andrew Innes <andrewi@gnu.org>
4699
4700 * dired.c (directory_files_internal_unwind): New function.
4701 (directory_files_internal): Use it to ensure closedir is called
4702 even if expand-file-name or file-attributes throw, eg. because of
4703 a user interrupt. Also enable immediate_quit while calling
4704 re_search, so that matching can be interrupted as well.
4705
b94fdf61
AI
47062000-10-24 Andrew Innes <andrewi@gnu.org>
4707
4708 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4709 NT-Emacs only.
4710 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4711 so that re_search functions only quit when callers expect them to.
4712
47132000-10-24 Kenichi Handa <handa@etl.go.jp>
4714
4715 * regex.c (regex_compile): Change the way of handling a range from
4716 a char less than 256 to a char not less than 256.
4717
1946f901
GM
47182000-10-24 Gerd Moellmann <gerd@gnu.org>
4719
7ae2f10f
GM
4720 * window.c (size_window): Prevent setting window's width or
4721 height to a negative value (esp. with XSETFASTINT).
4722
5dcab13e
GM
4723 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4724 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4725 (protect_malloc_state) [GC_MALLOC_CHECK &&
4726 GC_PROTECT_MALLOC_STATE]: New function.
4727 (PROTECT_MALLOC_STATE): New macro.
4728 (__malloc_initialize, morecore, _malloc_internal)
4729 (_free_internal) _realloc_internal): Use it to make _heapinfo
4730 read-only outside of gmalloc.
4731
63e1b552
GM
4732 * keymap.c: Update copyright.
4733
1946f901
GM
4734 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4735 a symbol.
4736
4fa09beb
GM
47372000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4738
4739 * filelock.c (unlock_all_files): Use unlock_file to expand each
4740 buffer's file_truename before trying remove its lock file.
4741
23afac01
EZ
47422000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4743
4744 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4745 or CRLF, decode EOLs.
4746
04448b95
KH
47472000-10-24 Kenichi Handa <handa@etl.go.jp>
4748
4749 * window.c (Fdisplay_buffer): Fix doc.
4750
3090a5a5
JR
47512000-10-23 Jason Rumney <jasonr@gnu.org>
4752
4753 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4754 ASCII font of default fontset on Windows.
4755
4756 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4757 xterm.c comment below).
4758
4759 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4760
a83fee2c
GM
47612000-10-23 Gerd Moellmann <gerd@gnu.org>
4762
4763 * xterm.c (x_connection_closed): Reset handling_signal.
4764
52283633 4765 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4766
6ffdb539
MB
47672000-10-23 Miles Bader <miles@gnu.org>
4768
4769 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4770 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4771 maintain old behavior.
4772 * minibuf.c (Fminibuffer_complete): Likewise.
4773
7f1c969b
MB
47742000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4775
4776 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4777 that when a font can't be exactly centered, it errs up rather than
4778 down.
4779
23afac01 47802000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4781
52283633 4782 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4783
1a578e9b
AC
47842000-10-23 Andrew Choi <akochoi@i-cable.com>
4785
4786 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4787
4788 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4789 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4790
4791 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4792 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4793 syms_of_search, x_term_init, and init_keyboard before calling
4794 init_window_once. Also, call syms_of_xmenu.
4795
4796 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4797 default fontset to Monaco.
4798
4799 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4800 NewMacWindow and DisposeMacWindow.
4801 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4802 instead of calling NewMacWindow and setting fields of
4803 f->output_data.mac directly. Call init_frame_faces.
4804 (Fdelete_frame) [macintosh]: Remove unused code.
4805 (Fmodify_frame_parameters) [macintosh]: Call
4806 x_set_frame_parameters instead of mac_set_frame_parameters.
4807
4808 * frame.h [macintosh]: Define menu_bar_lines field in struct
4809 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4810
4811 * keyboard.c [macintosh]: Include macterm.h.
4812 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4813 and menu_bar_activate_event type events as for X and NT.
4814 (make_lispy_event) [macintosh]: Construct lisp events of type
4815 MENU_BAR_EVENT as for X and NT.
4816
4817 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4818 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4819 (sys_subshell) [macintosh]: Remove definition entirely.
4820 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4821 Vwindow_system_version here. Remove initialization of
4822 Vx_bitmap_file_path.
4823 (read_input_waiting): Correct the number of parameters passed to
4824 read_socket_hook.
4825 Move all Macintosh functions to mac/mac.c.
4826
4827 * term.c [macintosh]: Include macterm.h.
4828
4829 * window.c [macintosh]: Include macterm.h.
4830
4831 * xdisp.c [macintosh]: Include macterm.h. Declare
4832 set_frame_menubar and pending_menu_activation.
4833 (echo_area_display) [macintosh]: Do not return if terminal frame
4834 is the selected frame.
4835 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4836 Allow only the selected frame to set menu bar.
4837 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4838 calling FRAME_EXTERNAL_MENU_BAR (f).
4839 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4840
4841 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4842 and check_x. Declare XCreateGC. Define x_create_gc and
4843 x_free_gc. Initialize font_sort_order.
4844 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4845 but call x_list_fonts instead of w32_list_fonts.
4846 (Finternal_face_x_get_resource) [macintosh]: Do not call
4847 display_x_get_resource.
4848 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4849 (realize_x_face) [macintosh]: Load the font if it is specified in
4850 ATTRS.
52283633 4851 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4852
1ffbabe3
SM
48532000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4854
4855 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4856 is nil: since we go to the end of submap anyway, we'd end up
4857 setting nil to nil.
4858 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4859 doesn't obey autoload.
4860
bed43f1d
EZ
48612000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4862
1ffbabe3 4863 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4864
ea4233a7
JR
48652000-10-21 Jason Rumney <jasonr@gnu.org>
4866
4867 * w32term.c (w32_cache_char_metrics): Double check that font is
4868 really fixed pitch before trusting tmPitchAndFamily.
4869
f3d3c491
AI
48702000-10-21 Andrew Innes <andrewi@gnu.org>
4871
4872 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4873
4874 * w32term.h: Extern decl for w32_cache_char_metrics.
4875
4876 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4877
4878 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4879 (w32_unload_font): Free per_char array if present.
4880
4881 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4882 cached information in emulated XFontStruct to handle common cases
4883 quickly. Do not allocate XCharStruct for return.
4884 (w32_native_per_char_metric): New function.
4885 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4886 allocating one.
4887 (x_produce_glyphs): Don't get an HDC. Change calls to
4888 w32_per_char_metric to match arg change above. Remove calls to
4889 free results.
4890 (w32_get_glyph_overhangs): Ditto.
4891 (w32_cache_char_metrics): New function.
4892
4893 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4894 ($(BLD)/casefiddle.$(O)): Remove compile command.
4895 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4896 ($(BLD)/dispnew.obj):
4897 ($(BLD)/keyboard.obj):
4898 ($(BLD)/w32inevt.obj):
4899 ($(BLD)/w32bdf.obj):
4900 ($(BLD)/alloc.obj):
4901 ($(BLD)/buffer.obj):
4902 ($(BLD)/editfns.obj):
4903 ($(BLD)/emacs.obj):
4904 ($(BLD)/fileio.obj):
4905 ($(BLD)/fns.obj):
4906 ($(BLD)/indent.obj):
4907 ($(BLD)/insdel.obj):
4908 ($(BLD)/intervals.obj):
4909 ($(BLD)/minibuf.obj):
4910 ($(BLD)/print.obj):
4911 ($(BLD)/scroll.obj):
4912 ($(BLD)/sysdep.obj):
4913 ($(BLD)/textprop.obj):
4914 ($(BLD)/widget.obj):
f3d3c491
AI
4915 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4916 ($(BLD)/term.obj): Add dependency on dispextern.h.
4917
52283633
SM
4918 * makefile.nt ($(BLD)\dispnew.obj):
4919 ($(BLD)\keyboard.obj):
4920 ($(BLD)\w32inevt.obj):
4921 ($(BLD)\w32bdf.obj):
4922 ($(BLD)\alloc.obj):
4923 ($(BLD)\buffer.obj):
4924 ($(BLD)\editfns.obj):
4925 ($(BLD)\emacs.obj):
4926 ($(BLD)\fileio.obj):
4927 ($(BLD)\fns.obj):
4928 ($(BLD)\indent.obj):
4929 ($(BLD)\insdel.obj):
4930 ($(BLD)\intervals.obj):
4931 ($(BLD)\minibuf.obj):
4932 ($(BLD)\print.obj):
4933 ($(BLD)\scroll.obj):
4934 ($(BLD)\sysdep.obj):
4935 ($(BLD)\textprop.obj):
4936 ($(BLD)\widget.obj):
f3d3c491
AI
4937 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4938 ($(BLD)\term.obj): Add dependency on dispextern.h
4939
18ad4821
EZ
49402000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4941
4942 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4943 with an additional argument of Qt.
4944
de54681a
MB
49452000-10-21 Miles Bader <miles@gnu.org>
4946
4947 * window.c (pos_fully_visible_in_window_p): New function.
4948 (Fpos_visible_in_window_p): Add FULLY argument.
4949 Use pos_fully_visible_in_window_p.
4950 (window_scroll_pixel_based, window_scroll_line_based): Update
4951 calls to Fpos_visible_in_window_p.
4952 * lisp.h (Fpos_visible_in_window_p): Update prototype
4953
13c844fb
GM
49542000-10-20 Gerd Moellmann <gerd@gnu.org>
4955
4956 * alloc.c (toplevel): Conditionalize compilation of mem_*
4957 functions differently.
52283633 4958
d9506268
JR
49592000-10-20 Jason Rumney <jasonr@gnu.org>
4960
4961 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4962 mem_init where it used to be. mem_z etc not defined otherwise.
4963
8094989b
GM
49642000-10-20 Gerd Moellmann <gerd@gnu.org>
4965
4966 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4967 GC_MALLOC_CHECK.
4968 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4969 structure definition and related variabled to the top of the file.
4970 Include this code when GC_MALLOC_CHECK is defined.
4971 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4972 register/unregister allocated region.
4973 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4974 which isn't allocated.
4975 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4976 something which is already in use.
4977 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4978 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4979 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4980 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4981
4982 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4983 _malloc_internal instead of malloc.
4984 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4985 of free.
4986
ea456eb4
AI
49872000-10-20 Andrew Innes <andrewi@gnu.org>
4988
4989 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4990 Windows.
4991 (my_strftime) <macro>: Don't use macro arg list when redefining as
4992 _strftime_copytm.
4993 (my_strftime) <function>: Supply 0 as ut argument.
4994
e64c3a75
JR
49952000-10-19 Jason Rumney <jasonr@altavista.net>
4996
4997 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4998 including dispextern.h, as it stops faces from working.
4999
5000 * w32fns.c (Fx_create_frame): Don't bother calling
5001 face-set-after-frame-default since the caller does it for us
5002 anyway. Clean up calls to x_get_arg to be consistent with X.
5003
5004 * w32term.c (x_produce_glyphs): Handle
5005 unibyte_display_via_language_environment correctly.
5006 (w32_draw_box_rect): Fix the calculation of width and height.
5007
5008 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5009 as it has stopped working.
5010 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5011 menu-bar.
5012
17401c97
GM
50132000-10-19 Gerd Moellmann <gerd@gnu.org>
5014
5015 * eval.c (skip_debugger): Prevent a compiler warning.
5016 (Fcondition_case): Likewise.
5017 (Fbacktrace_frame): Use a null interactive spec.
5018
773272d8
KH
50192000-10-19 Kenichi Handa <handa@etl.go.jp>
5020
5021 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5022
a42943e9
GM
50232000-10-18 Gerd Moellmann <gerd@gnu.org>
5024
e50517d9
GM
5025 * strftime.c: Sync with glibc, file version 1.78.
5026 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5027 should no longer be used according to ISO 8601.
5028
9035a35a
GM
5029 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5030 no map for meta_prefix_char, don't try to use it as a keymap.
5031 Instead, if T_OK is non-zero, look up a default binding, if any,
5032 otherwise, if T_OK is zero, return nil.
5033
a42943e9
GM
5034 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5035 (x_to_xcolors, png_load): Use x_query_color.
5036
52283633
SM
5037 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5038 New functions.
a42943e9
GM
5039 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5040 which can be slow.
5041 (x_copy_color, x_alloc_lighter_color): Likewise.
5042
5043 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5044 (x_query_color, x_query_colors): Add prototype.
5045
5046 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5047 check_string_bytes only if not noninteractive, increase count to 50.
5048
00de2987
MB
50492000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5050
5051 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5052 markers correctly.
5053
54918e2b
GM
50542000-10-17 Gerd Moellmann <gerd@gnu.org>
5055
1f0b3fd2
GM
5056 * alloc.c (pure_bytes_used): Renamed from pureptr.
5057 (ALIGN): New macro.
5058 (pure_alloc): New function.
5059 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5060 Use it.
5061 (Fpurecopy): Use PURE_POINTER_P.
5062
68c5d1db
GM
5063 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5064 PT has moved backward.
52283633 5065
9a038881
GM
5066 * xdisp.c (cursor_row_p): Take continued lines into account.
5067
361b097f
GM
5068 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5069 string's size_byte.
5070 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5071 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5072 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5073 string allocated.
5074
54918e2b
GM
5075 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5076 of selective display off while searching for the next line start.
5077
03ed0806
KH
50782000-10-17 Kenichi Handa <handa@etl.go.jp>
5079
5080 * Makefile.in (term.o): Depend on dispextern.h.
5081
7e05cdaf
SM
50822000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5083
5084 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5085
a6801fd1
GM
50862000-10-16 Gerd Moellmann <gerd@gnu.org>
5087
483de32b
GM
5088 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5089 the iterator at the beginning, so that they can be set later on,
5090 for instance in reseat_at_next_visible_line_start, without being
5091 overwritten.
5092
a6801fd1
GM
5093 * xfns.c (pbm_format): Add :foreground and :background keywords.
5094 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5095 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5096
dbf1fcc1
EZ
50972000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5098
5099 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5100
52283633 5101 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5102
5103 * msdos.c (IT_set_face): Compare highlighted face with the default
5104 face, and invert colors if these faces' colors are identical.
5105 (Fmsdos_remember_default_colors): Don't swap foreground and
5106 background colors in initial_colors[].
5107 (IT_set_frame_parameters): Don't swap frame's foreground and
5108 background pixels. If ALIST includes "(reverse . t)", swap
5109 foreground-color and background-color properties in frame's
5110 param_alist. If the original frame's param_alist doesn't specify
5111 the colors, store unspecified-fg and unspecified-bg, reversed if
5112 required.
5113
5114 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5115 the colors are unspecified and reversed, reverse fore- and back-
5116 ground in the returned value.
5117 (Fframe_parameter): Ditto.
5118
b41fe2c3 51192000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5120
3a6b59d9
GM
5121 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5122 get_last_unchanged_at_beg_row.
5123 (find_first_unchanged_at_end_row): Renamed from
5124 get_first_unchanged_at_end_row.
5125 (find_first_unchanged_at_end_row): Convert assertions to
5126 unconditional tests which abort. When looking for a row in
5127 unchanged text, don't go further back than first_text_row.
5128
b41fe2c3
GM
5129 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5130 Don't add in the last line's height when deciding if the new
5131 position is below the scroll margin.
9d1af64f 5132
b41fe2c3 51332000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5134
5135 * editfns.c (Fconstrain_to_field): Check carefully for field
5136 boundaries if either OLD_POS or NEW_POS has a non-nil field
5137 property, even if they're the same.
5138
c412cb7b
KH
51392000-10-16 Kenichi Handa <handa@etl.go.jp>
5140
5141 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5142 height for XFillRectangle.
5143
5586f3eb
SM
51442000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5145
5146 * syntax.c (Fstring_to_syntax): New function extracted from
5147 Fmodify_syntax_entry.
5148 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5149 (skip_chars, Fforward_comment): Remove unused variables.
5150 (syms_of_syntax): Add defsubr for string-to-syntax.
5151 (describe_syntax): Add code for comment and string fences.
5152
db785038
SM
51532000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5154
5155 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5156 Do the meta->esc mapping. Call get_keyelt before returning.
5157 Start scanning from the second element (the first is always `keymap')
5158 to make it easier to detect when we reach a parent map.
5159 Handle the case of inheriting from a symbol whose function is a map.
5160 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5161 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5162 (get_keyelt, Flookup_key): Update call to access_keymap.
5163 Remove the meta->esc mappings.
5164 (define_as_prefix): Delete old disabled code.
5165 (menu_item_p): New function.
5166 (where_is_internal_1): Skip over the few remaining menu items.
5167 * lisp.h (access_keymap): Update prototype.
5168 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5169 Update call to access_keymap.
5170 (follow_key, read_key_sequence): Update calls to access_keymap.
5171 Remove the meta->esc mappings.
5172
cafafe0b
GM
51732000-10-13 Gerd Moellmann <gerd@gnu.org>
5174
a2e2a7f6
GM
5175 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5176 with additional argument.
5177
cafafe0b
GM
5178 * xdisp.c (cursor_row_p): New function.
5179 (try_cursor_movement, display_line): Use it.
52283633 5180
cafafe0b
GM
5181 * xdisp.c (append_space): Also save/restore iterator's current
5182 character and its length.
5183
5184 * xdisp.c (init_from_display_pos): Add an assertion.
5185 (handle_stop): Don't set iterator's add_overlay_start.
5186 (handle_invisible_prop): Likewise.
5187 (load_overlay_strings): If text under an overlay is invisible,
5188 take both before- and after-strings into account when the iterator
5189 is positioned either at the start or at the end of the overlay.
5190 (forward_to_next_line_start): Rewritten.
5191 (reseat_at_next_visible_line_start): Rewritten.
5192 (set_iterator_to_next): Add parameter RESEAT_P.
5193
5194 * dispextern.h (struct it): Remove member add_overlay_start.
5195 (set_iterator_to_next): Change prototype.
5196
c744452b
KH
51972000-10-13 Kenichi Handa <handa@etl.go.jp>
5198
5199 * coding.c (code_convert_region): Be sure to initialize
5200 coding->category_idx.
e4a3f4e1
KH
5201 (decode_coding_string): Set coding->src_multibyte and
5202 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5203 (encode_coding_string): Set coding->src_multibyte and
5204 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5205
321fd26f
SM
52062000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5207
5208 * xfns.c (Fx_create_frame): Don't bother calling
5209 face-set-after-frame-default since the caller does it for us anyway.
5210
76832439
EZ
52112000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5212
5213 * window.c (coordinates_in_window): Fix detection of vertical line
5214 on character terminals.
5215
2483cf58
GM
52162000-10-12 Gerd Moellmann <gerd@gnu.org>
5217
5218 * editfns.c (save_excursion_save): Additionally record the
5219 selected window.
5220 (save_excursion_restore): If buffer was visible in a window, and a
5221 different window was selected, and the old selected window is
5222 still live, restore point in that window.
5223
eb991b25
KH
52242000-10-12 Kenichi Handa <handa@etl.go.jp>
5225
8a0eba09
KH
5226 * xterm.c (x_produce_glyphs): Handle
5227 unibyte_display_via_language_environment correctly.
5228
20401fcc
KH
5229 * regex.c (regex_compile): Change the way of handling a range from
5230 unibyte char to multibyte char.
5231
5232 * syntax.c (skip_chars): Change the way of handling a range from
5233 unibyte char to multibyte char.
5234
eb991b25
KH
5235 * process.c (read_process_output): Cancel previous change.
5236
365dd325
EZ
52372000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5238
c1b096cb
EZ
5239 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5240
365dd325
EZ
5241 * charset.c (Ffind_charset_string): Doc fix.
5242 (Ffind_charset_region): Doc fix.
5243
eb483c2b
KH
52442000-10-11 Kenichi Handa <handa@mule.m17n.org>
5245
5246 * process.c (read_process_output): Fix previous change. Adjust
5247 multibyteness of text to insert in a buffer by
52283633 5248 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5249
b40bfb99
AS
52502000-10-10 Andreas Schwab <schwab@suse.de>
5251
5252 * alloc.c (mark_object): Remove all workarounds installed on
5253 1993-08-08.
5254
caff31d4
KH
52552000-10-10 Kenichi Handa <handa@etl.go.jp>
5256
52283633 5257 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5258 (base64_encode_1): Make it work for a text of multibyte form.
5259 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5260 case. Don't call str_to_multibyte because base64_decode_1
5261 produces correct multibyte form for eight-bit codes.
52283633 5262 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5263 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5264 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5265 codes.
5266
5267 * charset.h (CHAR_STRING): Optimized for single byte characters.
5268
cba026ef
AS
52692000-10-09 Andreas Schwab <schwab@suse.de>
5270
5271 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5272 -1 after socket is closed, to fall through to error processing.
5273
1e21fe48
EZ
52742000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5275
5276 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5277 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5278 background-color, change also the colors of the default face for
5279 this frame.
5280
a640322e
EZ
52812000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5282
5283 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5284 them extern (they are defined on xfaces.c).
5285 (syms_of_msdos): Don't intern and don't staticpro
5286 Qbackground_color and Qforeground_color.
5287
a115794c
EZ
52882000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5289
5290 * frame.c (Fframe_parameter): For non-windowed frames, if
5291 f->param_alist says foreground or background color is unspecified,
5292 call tty_color_name to return the color name computed from the
5293 frame's current colors.
5294
f5533b63
DL
52952000-10-06 Dave Love <fx@gnu.org>
5296
5297 * terminfo.c (ospeed): Don't declare.
5298
5299 * sysdep.c: Don't include string.h.
5300 (h_errno): Declare conditional also on TRY_AGAIN.
5301
5302 * charset.c (Ffind_charset_string): Doc fix.
5303
52283633 5304 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5305 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5306 error messages.
5307
2b06561a
DL
53082000-10-05 Dave Love <fx@gnu.org>
5309
5310 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5311 position like menu-bar.
5312
ca839c85
GM
53132000-10-05 Gerd Moellmann <gerd@gnu.org>
5314
5315 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5316
5317 * xdisp.c (handle_single_display_prop): Use safe_call1.
5318 (safe_call): Renamed from call_function.
5319 (safe_call1): New function.
5320 (handle_fontified_prop): Use safe_call1 instead of call1.
5321 (safe_eval): Renamed from eval_form.
5322 (safe_eval_handler): Renamed from eval_handler.
5323 (handle_single_display_prop, display_mode_element): Use safe_eval
5324 instead of eval_form.
5325
5326 * xfaces.c (merge_face_heights): Use safe_call instead of
5327 call_function.
5328
5329 * keyboard.c (show_help_echo): Use safe_call instead of
5330 call_function; use safe_eval instead of eval_form.
5331
5332 * lisp.h (safe_call): Renamed from call_function.
5333 (safe_eval): Renamed from eval_form.
5334 (safe_call1): Add prototype.
5335
a3489ece
MB
53362000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5337
5338 * xfns.c (image_ascent): Rearrange ascent calculation for the
5339 has-a-font case.
5340
35810b6f
SM
53412000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5342
5343 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5344 (where_is_internal_1): Don't bother ignoring menu-items any more.
5345
3dc78168
GM
53462000-10-04 Gerd Moellmann <gerd@gnu.org>
5347
5348 * keyboard.c (update_menu_bindings): New variable.
5349 (parse_menu_item): Use AREF. If update_menu_bindings
5350 is 0, don't update menu bindings.
5351 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5352
1efc2bb9
EZ
53532000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5354
5355 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5356 to `mark_object'.
5357
3f679f55
SM
53582000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5359
5360 * syntax.c (forw_comment): Match nestedness of ender/starter.
5361 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5362 (prev_char_comstart_first): Remove.
5363 (back_comment): Check two-char comment markers more carefully
5364 to better handle overlapping cases like *//* or /* */* */ ...
5365 Match nestedness of ender/starter.
5366
2021ab61
DL
53672000-10-02 Dave Love <fx@gnu.org>
5368
5369 * config.in (HAVE_GAI_STRERROR): Add undef.
5370
5371 * process.c (Fopen_network_stream): Use it.
5372
5373 * m/alpha.h (NO_REMAP): Don't define.
5374
64e6cc18
GM
53752000-10-02 Gerd Moellmann <gerd@gnu.org>
5376
5377 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5378 return with a string converted to an integer or vice versa when
5379 Vmocklisp_arguments is t.
5380 (Fsignal): Likewise. The function can return for `quit'.
5381 (struct gcpro): Declare member `var' to point to a volatile
5382 Lisp_Object.
5383
5384 * eval.c (error): Prevent compiler warning.
5385
b1904cd9
SM
53862000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5387
5388 * keymap.c (keymap_memberp): New function.
5389 (Fset_keymap_parent): Use it.
5390 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5391 Use keymap_memberp to avoid creating cycles.
5392 (access_keymap): Use KEYMAPP.
5393
71c9ec51
GM
53942000-09-30 Gerd Moellmann <gerd@gnu.org>
5395
5396 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5397 gai_strerror. Make sure xerrno is set if connect fails. Improve
5398 error recovery.
71c9ec51 5399
c70c6b58
JR
54002000-09-29 Jason Rumney <jasonr@gnu.org>
5401
5402 * w32term.c (w32_char_font_type, w32_encode_char)
5403 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5404 (w32_bdf_per_char_metric): New function.
5405 (w32_per_char_metric): Use it.
5406 (x_draw_glyph_string_background): Always draw background for BDF
5407 glyphs.
5408
5409 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5410 GDI object which is a scarce resource.
5411
5412 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5413 (get_quoted_string): Fix limit on memchr search.
5414 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5415 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5416 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5417 (get_cached_font_char, cache_char_offset): Use macro
5418 BDF_CODEPOINT_RANGE_COVER_P.
5419 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5420 (clear_cached_bitmap_slots): New function.
5421 (GET_HEX_VALUE): G-Z, g-z are not hex.
5422 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5423 (get_bitmap_with_cache): Use new cache implementation.
5424 (create_offscreen_bitmap): New function.
5425 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5426
5427 * w32term.c (x_produce_glyphs): If the distance from the current
5428 position to the next tab stop is less than a canonical character
5429 width, use the tab stop after that.
5430 (x_draw_glyphs): Handle case START and END are out of bounds more
5431 carefully.
5432 (x_clear_mouse_face): Block/unblock input.
5433 (x_display_and_set_cursor): Don't show a hollow box cursor for
5434 buffers whose cursor_type is nil.
5435
fe01239f
GM
54362000-09-29 Gerd Moellmann <gerd@gnu.org>
5437
52283633 5438 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5439
5440 * dispextern.h (updating_frame): Declare extern.
5441
e7c52f1f
AS
54422000-09-29 Andreas Schwab <schwab@suse.de>
5443
5444 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5445
de6e1f7c
GM
54462000-09-29 Gerd Moellmann <gerd@gnu.org>
5447
25126faa
GM
5448 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5449 use its function definition.
5450 (tool_bar_items): Likewise.
5451
de6e1f7c 5452 * lisp.h (fatal): Declare NO_RETURN.
52283633 5453
454ee39b
KH
54542000-09-29 Kenichi Handa <handa@etl.go.jp>
5455
5456 * keymap.c: Remove the line "#undef NULL".
5457
96301c5f
GM
54582000-09-28 Gerd Moellmann <gerd@gnu.org>
5459
52283633 5460 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5461
efffeeb4
DL
54622000-09-28 Dave Love <fx@gnu.org>
5463
ecb8b666
DL
5464 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5465
dc3cd20f
DL
5466 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5467
5468 * .gdbinit (xreload): Note its need on GNU/Linux.
5469
efffeeb4
DL
5470 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5471 r_alloc, r_alloc_free.
5472
8610d903
KH
54732000-09-28 Kenichi Handa <handa@etl.go.jp>
5474
5475 * syntax.c (skip_chars): Handle negation correctly.
5476
8901d1ac
GM
54772000-09-27 Gerd Moellmann <gerd@gnu.org>
5478
6f22f1ad
GM
5479 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5480 with non-zero FORCE_P argument.
5481
52283633 5482 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5483 Add assertions.
5484
5485 * xdisp.c (window_box_height): Add an assertion.
5486
5487 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5488 tool-bar than is available.
5489 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5490
36f1966f
DL
54912000-09-27 Dave Love <fx@gnu.org>
5492
efffeeb4 5493 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5494
31d929e5
GM
54952000-09-26 Gerd Moellmann <gerd@gnu.org>
5496
c98863bf
GM
5497 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5498 instead of BITS_PER_INT.
5499 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5500 EMACS_UINT, respectively.
5501 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5502
5503 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5504
5505 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5506
77072ab1
GM
5507 * window.c (freeze_window_starts): Construct last argument for
5508 foreach_window differently.
5509
5510 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5511
5512 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5513 EMACS_UINT instead of `int' and `unsigned int'.
5514 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5515
5516 * frame.h (struct frame): Make the `nothing' member of union
5517 output_data an EMACS_INT.
5518
52283633 5519 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5520 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5521 size in the sdata structure.
5522 (SDATA_NBYTES, SDATA_DATA): New macros.
5523 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5524 differently for the different layout of the sdata structure.
5525 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5526 in sdata.
5527 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5528 Check that size recorded in the string size and size recorded in
5529 the sdata structure agree.
5530
3e60b029
DL
55312000-09-25 Dave Love <fx@gnu.org>
5532
5533 * buffer.c: Include stdio.h.
5534
5535 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5536
3e60b029
DL
5537 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5538
5539 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5540 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5541 (__malloc_extra_blocks): Declare as __malloc_size_t.
5542
8ff16b4e
GM
55432000-09-25 Gerd Moellmann <gerd@gnu.org>
5544
755a2ccd
GM
5545 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5546
d8b4516f
GM
5547 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5548 (read_char): If help-echo is showing, preserve the echo area
5549 when redisplaying.
5550
5551 * xdisp.c (help_echo_showing_p): New variable.
5552 (set_message): Reset it to 0.
5553 (init_xdisp): Initialize help_echo_showing_p.
5554
5555 * dispextern.h (help_echo_showing_p): Declare extern.
5556
5557 * config.in: Fix typo in __GNUC_MINOR__.
5558
5559 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5560
b11af2dd
GM
5561 * s/freebsd.h (POSIX_SIGNALS): Define.
5562
8ff16b4e
GM
5563 * xterm.c (x_clear_mouse_face): Block/unblock input.
5564
844eb643
DL
55652000-09-24 Dave Love <fx@gnu.org>
5566
5567 * fns.c (base64_encode_1): Fix last change.
5568
b30ab1b3
GM
55692000-09-22 Gerd Moellmann <gerd@gnu.org>
5570
5571 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5572
5573 * xdisp.c (try_window_reusing_current_matrix): More fixes
5574 for the case window has a header-line.
5575
c6cbe5f0
DL
55762000-09-22 Dave Love <fx@gnu.org>
5577
4c7c1f3f
DL
5578 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5579 a doc string.
5580
5581 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5582
c6cbe5f0
DL
5583 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5584
550a625e
GM
55852000-09-21 Gerd Moellmann <gerd@gnu.org>
5586
4c7c1f3f 5587 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5588 for GCC >= 2.5.
5589
52283633
SM
5590 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5591 Declare NO_RETURN.
fca99116 5592
80d26f99
GM
5593 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5594 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5595 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5596 warnings.
52283633 5597
80d26f99
GM
5598 * marker.c (byte_char_debug_check): Return void.
5599
623a0aae
GM
5600 * xfns.c (Fx_create_frame): Set default frame parameter value
5601 for tool-bar-lines to 1.
5602
5603 * dispnew.c (scrolling_window): Compare y-positions of rows
5604 equal at the start. Some simplification.
5605
5606 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5607 reused rows' y-position in the case window has a header-line, and
5608 new window start is greater than old window start.
5609
42ac0ae5
GM
5610 * process.c (process_sent_to): New variable.
5611 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5612 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5613 Declare more parameters volatile.
5614
550a625e
GM
5615 * lread.c (Vrecursive_load_depth_limit): New variable.
5616 (Fload): Check recursive loads whose recursion depth exceeds
5617 Vrecursive_load_depth_limit.
5618 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5619
8320414c
GM
56202000-09-20 Gerd Moellmann <gerd@gnu.org>
5621
f46c275e
GM
5622 * fileio.c (Fread_file_name): Doc fix.
5623
5624 * editfns.c (Fmessage_or_box): Doc fix.
5625
5626 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5627
b7e11c5b 5628 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5629
8320414c
GM
5630 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5631 symbols are specified, add color translations to the cache.
52283633 5632 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5633 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5634 xpm_cache_color.
5635 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5636 structures to xpm_init_color_cache.
5637
da1608d9
GM
56382000-09-19 Gerd Moellmann <gerd@gnu.org>
5639
52283633 5640 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5641
6badfa25
AI
56422000-09-19 Andrew Innes <andrewi@gnu.org>
5643
5644 * makefile.nt (bootstrap-emacs): Don't change directory.
5645
3a5f42bb
KH
56462000-09-19 Kenichi Handa <handa@etl.go.jp>
5647
1b7649bd
KH
5648 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5649
3a5f42bb
KH
5650 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5651 If output buffer is too small, signal an appropriated error.
5652
9f83cf0b
DL
56532000-09-18 Dave Love <fx@gnu.org>
5654
52283633 5655 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5656 (current_active_maps): Remove redundant get_local_map call.
5657
28c7826c
GM
56582000-09-18 Gerd Moellmann <gerd@gnu.org>
5659
5cefa566
GM
5660 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5661 cursor for buffers whose cursor_type is nil.
52283633 5662
6fed3546
GM
5663 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5664 a feature to implement that is already implemented.
5665 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5666 warnings.
5667
5668 * xfns.c (x_clear_image_1): New function.
5669 (x_clear_image): Use it.
52283633 5670 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5671
05b1f851
GM
5672 * dispnew.c (update_window): Move test for invisible lines
5673 at the top to update_window_line.
5674 (update_window_line): Handle invisible lines here.
5675
f4779de9
GM
5676 * xfns.c (clear_image_cache): Clear current matrices of all
5677 frames sharing an image cache. Block input while freeing
5678 images. Fix timestamp comparison.
5679 (x_clear_image): Also free the mask.
5680
28c7826c
GM
5681 * xfns.c (lookup_image): Block input while loading the image so
5682 that we won't get interrupted in a state where the image isn't yet
5683 set up completely.
5684 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5685 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5686 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5687 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5688
b7412313
GM
56892000-09-16 Gerd Moellmann <gerd@gnu.org>
5690
5691 * dispnew.c (update_window): Make sure to make desired rows
5692 current even if they are completely invisible at the top
5693 of a window.
5694
47e351a3
GM
56952000-09-15 Gerd Moellmann <gerd@gnu.org>
5696
7f8f1edc
GM
5697 * xfns.c (lookup_image): Build mask before applying an algorithm.
5698 Recognize algorithm `disabled'.
5699 (cross_disabled_images): New variable.
5700 (COLOR_INTENSITY): New macro.
5701 (x_detect_edges): Use COLOR_INTENSITY.
5702 (x_disable_image): New function.
5703 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5704
5705 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5706 disabled state, don't apply an image transformation algorithm if
5707 the user specified an image for the disabled state. Use
28c7826c 5708 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5709 user hasn't specified an image.
5710
ebb8f116
GM
5711 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5712 allocation functions with the XPM lib.
5713 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5714 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5715 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5716 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5717 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5718 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5719 functions, if possible, because these handle color allocation
5720 failure more gracefully.
5721 (Fimage_mask_p): New function.
5722
47e351a3
GM
5723 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5724 (Qedge_detection, Qheuristic): New symbols.
5725 (syms_of_xfns): Initialize new symbols.
5726 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5727 `algorithm (edge-detection ...)'.
5728 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5729 (tiff_format, gif_format, gs_format): Add `:mask'.
5730 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5731 (GIF_MASK, GS_MASK): New enumerators.
5732 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5733 (emboss_matrix, laplace_matrix): New variables.
5734 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5735 (x_edge_detection): New functions.
5736 (x_laplace): Rewritten in terms of x_detect_edges.
5737 (x_build_heuristic_mask): If image has a mask, free it.
5738
fe83b953
AI
57392000-09-14 Andrew Innes <andrewi@gnu.org>
5740
5741 * makefile.w32-in: Revert to Unix line endings.
5742
3021e816
AI
57432000-09-14 Andrew Innes <andrewi@gnu.org>
5744
5745 * makefile.w32-in: Standardize indentation somewhat.
5746 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5747 cater for differences between shells.
5748
5749 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5750
2a32b5ea
GM
57512000-09-14 Gerd Moellmann <gerd@gnu.org>
5752
5753 * xterm.c (x_produce_glyphs): If the distance from the current
5754 position to the next tab stop is less than a canonical character
5755 width, use the tab stop after that.
5756
b4331e96
DL
57572000-09-14 Dave Love <fx@gnu.org>
5758
5759 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5760
ef9e4345
GM
57612000-09-14 Gerd Moellmann <gerd@gnu.org>
5762
085536c2
GM
5763 * xdisp.c (handle_fontified_prop): While running fontification
5764 functions, bind `fontification-functions' and
5765 `after-change-functions' to nil.
5766
ef9e4345
GM
5767 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5768 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5769
5770 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5771
5772 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5773 USE_MMAP_FOR_BUFFERS.
5774
5775 * insdel.c (make_gap): Use enlarge_buffer_text.
5776
5777 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5778 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5779 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5780 from former r_alloc_* functions in ralloc.c.
52283633 5781 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5782 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5783 (mmap_init) [REL_ALLOC_MMAP]: New function.
5784 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5785 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5786 BUFFER_FREE.
5787
5788 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5789 (enlarge_buffer_text): Add prototype.
5790
5791 * ralloc.c: Remove everything having to do with the use of mmap.
5792
f8608968
GM
57932000-09-13 Gerd Moellmann <gerd@gnu.org>
5794
2a494b2d
GM
5795 * sound.c (Fplay_sound): Doc fix.
5796
8c907a56
GM
5797 * keyboard.c: Avoid some more compiler warnings.
5798 (parse_tool_bar_item): Ignore cached key bindings.
5799
f8608968
GM
5800 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5801 and allocation of Lisp data.
5802
6ab70e9a
GM
58032000-09-12 Gerd Moellmann <gerd@gnu.org>
5804
d12d0a9b
GM
5805 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5806 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5807 defaults first.
5808
6ab70e9a
GM
5809 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5810
63c36c3c
KH
58112000-09-12 Miyashita Hisashi <himi@meadowy.org>
5812
5813 * ccl.c: Comment fixed.
5814 (MAX_MAP_SET_LEVEL): Increased to 30.
5815 (PUSH_MAPPING_STACK): Enclose with do-while block.
5816 (POP_MAPPING_STACK): Likewise.
5817 (stack_idx_of_map_multiple): New variable.
5818 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5819 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5820 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5821 (ccl_driver) <CCL_MapSingle>: Likewise.
5822 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5823 with the case where looking up process reaches to the end of
5824 map-set, and call CCL programs as the above change.
5825
7ee3bd7b
GM
58262000-09-11 Gerd Moellmann <gerd@gnu.org>
5827
8ec8a5ec
GM
5828 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5829 that might be clobbered by longjmp.
5830 (check_x_display_info, x_decode_color, create_frame_xic)
5831 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5832 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5833
f74b0705
GM
5834 * lread.c (init_lread): Set Vloads_in_progress to nil.
5835 (Fload): Show list of recursively loaded files, when signaling an
5836 error.
5837
7ee3bd7b
GM
5838 * lread.c (Vloads_in_progress): New variable.
5839 (record_load_unwind): New function.
5840 (Fload): Check for recursive loads.
5841 (syms_of_lread): Initialize Vloads_in_progress.
5842 (read_integer, read1): Avoid some compiler warnings.
5843
5844 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5845 compiler warnings.
5846
974e1e5b
MB
58472000-09-11 Miles Bader <miles@gnu.org>
5848
5849 * editfns.c (Fbuffer_string): Doc fix.
5850
9824c4e3
GM
58512000-09-10 Gerd Moellmann <gerd@gnu.org>
5852
5853 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5854
6a72fdd1
KR
58552000-09-09 Ken Raeburn <raeburn@gnu.org>
5856
5857 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5858 whether to include other header files.
5859
28e6fb66
GM
58602000-09-09 Gerd Moellmann <gerd@gnu.org>
5861
52283633 5862 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5863 by Fmemq as a boolean.
28e6fb66 5864
7f8b6551
SM
58652000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5866
5867 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5868
a8710abf
GM
58692000-09-08 Gerd Moellmann <gerd@gnu.org>
5870
d1a02881
GM
5871 * ralloc.c (mmap_fd): Remove initializer which can make it
5872 read-only in a dumped Emacs.
5873 (mmap_fd_1): New variable.
5874 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5875 restore it from there.
5876 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5877 unconditionally so that mmap_fd can be initialized there.
5878 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5879 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5880 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5881
c454aac1
GM
5882 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5883
5884 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5885 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5886
fc653ef2
GM
5887 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5888
3015eec0
GM
5889 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5890 inheritance.
5891
bfe0ee88
GM
5892 * xdisp.c (try_window_id): When trying to locate cursor in
5893 unchanged rows at the top, handle the case that we can't find it.
5894
a8710abf
GM
5895 * xterm.c (x_draw_glyphs): Handle case START and END are out
5896 of bounds more carefully.
5897
6b7d4ae4
DL
58982000-09-08 Dave Love <fx@gnu.org>
5899
423193c5
DL
5900 * s/sol2.h (REL_ALLOC_MMAP): Define.
5901 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5902
5903 * ralloc.c: Don't include string.h (redundant).
5904 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5905 [!MAP_ANON]: Include fcntl.h.
5906 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5907 (r_alloc, r_re_alloc, r_alloc_free)
5908 (mmap_enlarge, mmap_set_vars): Use it.
5909 (r_alloc_init_fd): New function.
5910 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5911 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5912 malloc type.
5913
5914 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5915 Remove vm-limit.o.
5916
6b7d4ae4
DL
5917 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5918 change to __NetBSD__.
5919
44d31981
KH
59202000-09-08 Kenichi Handa <handa@etl.go.jp>
5921
5922 * search.c (compile_pattern): Check the multibyteness of cached
5923 string and PATTERN.
5924
aad40737
MB
59252000-09-08 Miles Bader <miles@gnu.org>
5926
5927 * xfaces.c (default_face_vector): Function removed.
5928 (Finternal_merge_in_global_face): Restore old global/local
5929 attribute override order. Use inline loop instead of calling
5930 default_face_vector.
5931
91a211b5
GM
59322000-09-07 Gerd Moellmann <gerd@gnu.org>
5933
5934 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5935 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5936 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5937 where necessary, in case POINTER_TYPE is `void'.
5938
03419440
EZ
59392000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5940
5941 * frame.c (make_terminal_frame): Initialize frame foreground and
5942 background colors to unspecified, for the initial instance of an
5943 MSDOS frame.
5944
f46f845b
GM
59452000-09-07 Gerd Moellmann <gerd@gnu.org>
5946
24f76fbf
GM
5947 * ralloc.c (mmap_find): Fix overlap computation.
5948 (mmap_enlarge): Compute nbytes before trying to find an
5949 overlapping region.
5950
f46f845b
GM
5951 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5952 instead of `!='.
5953
5954 * lread.c (syms_of_lread): Change value of regexp
5955 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5956
5957 * xmenu.c (xdialog_show): When looking up the selection in
5958 menu_items, take `quote' boundaries into account; this corresponds
5959 to a nil ITEM in x-popup-dialog.
5960
3c014385
KH
59612000-09-07 Kenichi Handa <handa@etl.go.jp>
5962
fd6f711b
KH
5963 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5964 not 0x81.
5965 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5966
3c014385 5967 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5968 encoding, not decoding. Fix the handling of latin-jisx0201.
5969 Check for the charset katakana-jisx0201 too.
3c014385 5970 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5971 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5972
0da3ecef
GM
59732000-09-07 Gerd Moellmann <gerd@gnu.org>
5974
ab0ee409
GM
5975 * xfaces.c (Vparam_value_alist): New variable.
5976 (syms_of_xfaces): Initialize it.
5977 (Finternal_set_lisp_face_attribute): Avoid more consing.
5978
5979 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5980 specially.
5981 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5982 (Qbackground_mode): New variable.
5983 (syms_of_frame_1): Initialize Qbackground_mode.
5984
5985 * lisp.h (Qdisplay): Declare extern.
1091dd67 5986
0da3ecef
GM
5987 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5988 change face on all frames, and change the default for new frames.
5989
b14654b9
DL
59902000-09-07 Dave Love <fx@gnu.org>
5991
5992 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5993
d24fd56f
KH
59942000-09-07 Kenichi Handa <handa@etl.go.jp>
5995
794f3670
KH
5996 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5997
0fddd0dc
KH
5998 * charset.c: Include composite.h
5999 (lisp_string_width): New function.
6000 (Fstring_width): Call lisp_string_width instead of strwidth.
6001
6002 * Makefile.in (charset.o): Depends on composite.h.
6003
d24fd56f
KH
6004 * process.c (read_process_output): Before inserting the decoded
6005 text in the buffer, adjust the multibyteness.
6006
fa0b693c
GM
60072000-09-06 Gerd Moellmann <gerd@gnu.org>
6008
52283633 6009 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6010 buffer's text buffer is null, map new memory.
6011
0a58f946
GM
6012 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6013 POINTER_TYPE and size_t.
6014 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6015 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6016 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6017 [REL_ALLOC_MMAP]: New macros.
6018 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6019 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6020 [REL_ALLOC_MMAP]: New functions.
6021
6022 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6023 before and after unexec.
6024
6025 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6026 text buffers if necessary.
6027
6028 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6029 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6030 in prototypes.
6031
fa0b693c
GM
6032 * config.in (HAVE_MMAP): Add #undef.
6033
877055f6
GM
60342000-09-05 Gerd Moellmann <gerd@gnu.org>
6035
08ba3862
GM
6036 * frame.c (Qdisplay_type): New variable.
6037 (syms_of_frame_1): Initialize it.
6038 (Fframe_parameter): New function that avoids consing.
6039 (syms_of_frame): Defsubr it.
6040
66ffe51c
GM
6041 * buffer.c (Fother_buffer): Consider buffers as invisible when
6042 they are displayed in a window on an invisible frame.
6043
877055f6
GM
6044 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6045 get-largest-window always return nil.
6046
bb970e67
GM
60472000-09-04 Gerd Moellmann <gerd@gnu.org>
6048
6049 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6050 variable; recognize Emacs 19 elc files.
6051
7a3d0e0e
MB
60522000-09-04 Miles Bader <miles@gnu.org>
6053
6054 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6055 before initially popping up the menu, so the menu doesn't flash
52283633 6056 when the face settings are significantly different from the defaults.
7a3d0e0e 6057
14473664
SM
60582000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6059
6060 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6061 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6062 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6063 (BIT_UNIBYTE): Remove.
6064 (re_match_2_internal): Delete corresponding code and streamline the
6065 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6066 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6067 (re_wctype_t): New type.
6068 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6069 (regex_compile): Use them and fix handling of overly long char classes.
6070
c1174479
AI
60712000-09-03 Andrew Innes <andrewi@gnu.org>
6072
f8803e97
AI
6073 * makefile.w32-in: Change to DOS line endings.
6074
c1174479
AI
6075 * s/ms-w32.h (ORDINARY_LINK): New define.
6076
6077 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6078 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6079
6080 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6081 (distclean): Delete them here instead.
6082
44ef7cf6
AI
6083 * w32proc.c (compare_env): Convert to uppercase for comparison,
6084 not lowercase, to match how the native Windows shell works.
6085
49b3bd82
JR
60862000-09-03 Jason Rumney <jasonr@gnu.org>
6087
6088 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6089 CVS changes the line-ends when checking in/out on DOS/Windows.
6090
6091 * makefile.nt (emacs): Do not change directory to run temacs, as
6092 the load-path is set relative to current directory.
6093
a3d35a39
MB
60942000-09-03 Miles Bader <miles@gnu.org>
6095
6096 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6097
d276b0cf
GM
60982000-09-02 Gerd Moellmann <gerd@gnu.org>
6099
715e84c9
GM
6100 * xdisp.c (redisplay_mode_lines): New function.
6101 (display_mode_lines): Return number of mode lines displayed.
6102 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6103 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6104
8892f40b
GM
6105 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6106 string.h and strings.h.
6107 (index) [HAVE_INDEX]: Add prototype.
6108
d276b0cf
GM
6109 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6110 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6111
6112 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6113 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6114
38404229
GM
61152000-09-01 Gerd Moellmann <gerd@gnu.org>
6116
6117 * lread.c (read1): Accept `?' as symbol constituent, for
6118 compatiblity with XEmacs.
6119
c0f9ea08
SM
61202000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6121
6122 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6123 (struct re_pattern_buffer): Remove newline_anchor.
6124 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6125 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6126 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6127 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6128 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6129 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6130 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6131 Get rid of references to newline_anchor.
6132 (regcomp): Allocate and precompute a fastmap.
6133
8c0f83fe
GM
61342000-08-31 Gerd Moellmann <gerd@gnu.org>
6135
6136 * lread.c (openp): GCPRO local variable `filename'.
6137
4bb91c68
SM
61382000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6139
6140 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6141
6142 * regex.c: Merge some changes from GNU libc. Add prototypes.
6143 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6144 Use memcmp and memcpy instead of bcopy and bcmp.
6145 (init_syntax_once): Use ISALNUM.
6146 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6147 (REG_UNSET_VALUE): Remove. Use NULL instead.
6148 (REG_UNSET, re_match_2_internal): Use NULL.
6149 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6150 New macros.
6151 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6152 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6153 (regex_compile): In handle_interval, return an error rather than try to
6154 unfetch the interval if we can't find the closing brace.
6155 Obey the RE_NO_GNU_OPS syntax bit.
6156 (TOLOWER): New macro.
6157 (regcomp): Use it.
6158 (regexec): Allocate regs.start and regs.end as one block.
6159
5226a931
GM
61602000-08-30 Gerd Moellmann <gerd@gnu.org>
6161
868dd24b
GM
6162 * xdisp.c (echo_area_display): Check display_completed instead
6163 of calling detect_input_pending.
6164
6165 * dispnew.c (update_frame): Only set display_completed here; move
6166 the update_begin and update_end calls here from update_frame_1.
6167 (update_frame_1): Don't set display_completed here, don't call
6168 update_begin/update_end.
6169
5226a931
GM
6170 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6171 instead of store_frame_param.
6172
2a8bd25f
GM
61732000-08-29 Gerd Moellmann <gerd@gnu.org>
6174
6175 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6176 desired window matrix hasn't been displayed, use the current row
6177 instead. Make sure that only those frame rows are updated for
6178 which there exists a corresponding enabled desired row.
52283633 6179
ba3478d9
MB
61802000-08-29 Miles Bader <miles@gnu.org>
6181
6182 * xfaces.c (default_face_vector): New function.
6183 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6184
87d0f685
GM
61852000-08-29 Gerd Moellmann <gerd@gnu.org>
6186
6187 * lread.c (openp): Prevent temporary string passed to
6188 Ffile_readable_p from being garbage collected.
6189
6fa86045
DL
61902000-08-28 Dave Love <fx@gnu.org>
6191
6192 * keymap.c (store_in_keymap): Add `static' to declaration.
6193
bb17930d
GM
61942000-08-28 Gerd Moellmann <gerd@gnu.org>
6195
6196 * emacs.c, callint.c, doc.c, editfns.c
6197 (toplevel) [HAVE_STRING_H]: Include string.h.
6198 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6199 (index): Remove prototypes which might conflict with non-standard
6200 definitions of index/strchr.
6201
6202 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6203 (rindex): Define only if !HAVE_RINDEX.
6204
6205 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6206
6207 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6208
87188200
MB
62092000-08-28 Miles Bader <miles@gnu.org>
6210
6211 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6212 made inconsistent by a font-related attribute in FROM.
6213 (merge_face_inheritance): Add function comment.
6214
41a68aef
KH
62152000-08-28 Kenichi Handa <handa@etl.go.jp>
6216
6217 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6218 the 4th arg (PREV_EVENT) Qt to suppress input method.
6219
f7c436c1
SM
62202000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6221
0b32bf0e
SM
6222 * regex.c: Indent cpp directives and remove parens after `defined'.
6223 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6224 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6225 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6226 (re_compile_pattern): Use size_t for length.
6227 (init_syntax_once): Move to a better place.
6228 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6229 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6230
f7c436c1
SM
6231 * syntax.c (back_comment): Detect cases where a comment-starter is
6232 actually inside another comment as in: /* a // b */ c // d \n.
6233 Make it clear that `comstart_pos' is unused for nested comments.
6234
6235 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6236 (KEYMAPP): New macro.
6237 (Fkeymap_parent, Fset_keymap_parent): Use it.
6238 (fix_submap_inheritance): Mark it static.
6239 (define_as_prefix, describe_buffer_bindings, describe_command)
6240 (describe_translation, describe_map): Complete prototypes.
6241
6242 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6243
6244 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6245 to better match the key-lookup behavior.
6246
6288c62f
GM
62472000-08-27 Gerd Moellmann <gerd@gnu.org>
6248
6249 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6250 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6251
e931344e
EZ
62522000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6253
6254 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6255 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6256 (xterm.o): Depend on coding.h
6257
d10dfeef
KH
62582000-08-26 Kenichi Handa <handa@etl.go.jp>
6259
6260 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6261 the corresponding '#endif'.
6262
2d73e8d3
MB
62632000-08-26 Miles Bader <miles@gnu.org>
6264
6265 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6266 * xfaces.c (QCinherit): New variable.
6267 (syms_of_xfaces): Initialize it.
6268 (LFACE_INHERIT): New macro.
6269 (Finternal_get_lisp_face_attribute)
52283633 6270 (merge_face_vector_with_property)
2d73e8d3
MB
6271 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6272 (check_lface_attrs): Allow new types of face height. Check
6273 inherit attribute.
6274 (CYCLE_CHECK): New macro.
6275 (merge_face_inheritance): New function.
6276 (merge_face_vectors): Merge inherited faces too. Add F and
6277 CYCLE_CHECK arguments.
6278 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6279 (lookup_named_face, lookup_derived_face, realize_named_face)
6280 (face_at_string_position, face_at_buffer_position): Supply
6281 new F and CYCLE_CHECK arguments to merge_face_vectors.
6282 (merge_face_heights): New function.
52283633 6283 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6284 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6285 handle relative face heights.
6286 (lface_same_font_attributes_p): Compare heights using EQ.
6287
6ce974d4
KH
62882000-08-26 Kenichi Handa <handa@etl.go.jp>
6289
6290 * charset.c (char_to_string): Check the character validity.
52283633 6291 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6292
dc1e502d
SM
62932000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6294
6295 * regex.c (PUSH_FAILURE_COUNT): New macro.
6296 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6297 Handle popping of a register's or a counter's data.
6298 (POP_FAILURE_POINT): Use the new name.
6299 (re_match_2_internal): Push counter data on the stack for succeed_n,
6300 jump_n and set_number_at and remove misleading dead code in succeed_n.
6301
bd9d0f3f
GM
63022000-08-25 Gerd Moellmann <gerd@gnu.org>
6303
6304 * xdisp.c (redisplay_internal): If considering all windows on all
6305 frames, update the display for each frame as soon as possible,
6306 instead of first building all desired matrices for all frames, and
6307 then updating them all.
6308 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6309
aa5b8e15
GM
63102000-08-24 Gerd Moellmann <gerd@gnu.org>
6311
17494071
GM
6312 * bytecode.c (mark_byte_stack): Add a comment.
6313
52283633
SM
6314 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6315 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6316 a graphical frame.
6317
c543db81
KH
63182000-08-24 Kenichi Handa <handa@etl.go.jp>
6319
d246d5f5
KH
6320 * minibuf.c (do_completion): Always use compare-string, not
6321 string-equal because the latter doesn't pay attention to
6322 multibyteness of strings.
6323
c543db81
KH
6324 * process.c (create_process): Don't setup raw-text coding here.
6325 (Fopen_network_stream): Don't set coding->src_multibyte and
6326 coding->dst_multibyte here.
6327 (read_process_output): For process filter, return unibyte string
6328 if default-enable-multibyte-characters is nil.
6329 (send_process): If OBJECT is multibyte text, be sure to encoded it
6330 by the specified coding system for the process. Otherwise, setup
6331 raw-text coding.
52283633 6332 (init_process): Don't initialize default-process-coding-system here.
c543db81 6333
9b47cfe0
EZ
63342000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6335
6336 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6337 <scroll-down-aggressively>: Likewise.
6338
f5a36960
KH
63392000-08-23 Kenichi Handa <handa@etl.go.jp>
6340
6341 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6342 zero. Set coding->produced_char correctly.
6343
69a7ffa7
AI
63442000-08-22 Andrew Innes <andrewi@gnu.org>
6345
6346 * makefile.w32-in: New file.
6347
6348 * unexw32.c (unexec): Ignore old_name, and use the actual location
6349 of the current executable instead. Base new_name on this.
6350
6351 * w32proc.c (create_child): Remove reference to security
6352 descriptor, which isn't needed and doesn't compile with mingw32.
6353
6354 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6355 up dllimport attributes.
6356 (x_update_window_end): Update prototype.
6357
6358 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6359 extern, which screws up dllimport attributes.
6360
6361 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6362 up dllimport attributes.
6363
6364 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6365 screws up dllimport attributes.
6366
6367 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6368 up dllimport attributes.
6369 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6370 screws up dllimport attributes.
6371
6372 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6373 up dllimport attributes.
6374
6375 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6376 screws up dllimport attributes.
6377
6378 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6379 screws up dllimport attributes.
6380
6381 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6382 up dllimport attributes.
6383
6384 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6385 unnecessary extern, which screws up dllimport attributes.
6386 (main): Ditto.
6387
6388 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6389 up dllimport attributes.
6390
6391 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6392 unnecessary extern, which screws up dllimport attributes.
6393
6394 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6395 screws up dllimport attributes.
6396
6397 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6398 up dllimport attributes.
6399
6400 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6401
52283633
SM
6402 * w32bdf.c (search_file_line):
6403 (set_bdf_font_info):
6404 (seek_char):
6405 (w32_get_bdf_glyph):
69a7ffa7
AI
6406 (w32_BDF_to_x_font): Fix compile warnings.
6407
52283633 6408 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6409
6410 * w32select.c: Include keyboard.h before frame.h.
6411
6412 * w32fns.c (max): Define macro.
6413 (JOHAB_CHARSET): Define if not known.
6414 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6415 (Fx_show_tip): Synch with X version.
6416
6417 * w32xfns.c: Include keyboard.h before frame.h.
6418
6419 * w32fns.c: Include keyboard.h before frame.h.
6420
6421 * w32term.c: Include keyboard.h before frame.h.
6422
6423 * fontset.c: Include keyboard.h before frame.h.
6424
6425 * w32inevt.c: Include keyboard.h before frame.h.
6426 (MOUSE_MOVED): Define if not known.
6427
6428 * minibuf.c: Include keyboard.h before frame.h.
6429
6430 * keyboard.c: Include keyboard.h before frame.h.
6431
6432 * indent.c: Include keyboard.h before frame.h.
6433
6434 * dispnew.c: Include keyboard.h before frame.h.
6435
6436 * buffer.c: Include keyboard.h before frame.h.
6437
6438 * alloc.c: Include keyboard.h before frame.h.
6439
6440 * print.c: Include keyboard.h before frame.h.
6441
6442 * process.c: Include keyboard.h before frame.h.
6443
6444 * scroll.c: Include keyboard.h before frame.h.
6445
6446 * sysdep.c: Include keyboard.h before frame.h.
6447
6448 * term.c: Include keyboard.h before frame.h.
6449
6450 * window.c: Include keyboard.h before frame.h.
6451
6452 * xdisp.c: Include keyboard.h before frame.h.
6453 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6454
6455 * frame.c: Include keyboard.h before frame.h.
6456
6457 * w32heap.h: Undefine min, max.
6458
6459 * w32gui.h: Undefine min, max.
6460
6461 * unexw32.c: Change PUCHAR to PCHAR.
6462 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6463 (relocate_offset):
6464 (get_section_info):
69a7ffa7
AI
6465 (copy_executable_and_dump_data): Remove unnecessary static defs.
6466 (copy_executable_and_dump_data): Fix compile warnings.
6467
6468 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6469
6470 * w32console.c (min): Define macro.
6471 (clear_frame, write_glyphs): Fix compile warning.
6472
52283633 6473 * w32proc.c (compare_env):
69a7ffa7
AI
6474 (find_child_console): Fix compile warning.
6475
6476 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6477 sys_errlist instead of _sys_errlist.
6478 (get_emacs_configuration_options): New function.
6479
6480 * s/ms-w32.h (sys_nerr): Provide default definition.
6481 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6482 name with _ prepended.
6483 (NSIG): Define if not known.
6484 (get_emacs_configuration): Provide extern declaration.
6485 (get_emacs_configuration_options): Provide extern declaration.
6486 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6487
6488 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6489 (map_w32_filename):
69a7ffa7
AI
6490 (read_unc_volume): Fix compile warning.
6491
6492 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6493 definitions from being used.
6494
6495 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6496
52283633 6497 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6498 (open_unc_volume): Make arg const.
6499
6500 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6501 (read_input_waiting): Remove excess parameter.
6502
6503 * w32.c (init_environment): Call _access.
6504 (check_windows_init_file): Call _close.
6505 (init_user_info): Call _putenv.
6506 (init_environment): Call _putenv and _strdup.
6507 (init_ntproc): Reset volume info cache on startup.
6508
6509 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6510 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6511 cannot override the CRT malloc.
6512
6513 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6514 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6515
6516 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6517 unless we are linking with a static CRT.
6518 (RVA_TO_PTR): Cast result to unsigned char*.
6519
6520 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6521 (add_volume_info): Use xstrdup.
6522
25060080
SM
65232000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6524
6525 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6526 (do_completion, Fminibuffer_complete_word): Use it.
6527 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6528 var so it can take non-boolean values.
6529
6917e6bb
GM
65302000-08-21 Gerd Moellmann <gerd@gnu.org>
6531
acb7cc89 6532 * editfns.c (find_field): Formatting changes.
52283633 6533 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6534 changed to prototypes, some new protypes added, some functions
6535 made static.
6536
6537 * lisp.h (set_time_zone_rule): Add prototype.
6538 (use_dialog_box): External declaration.
6539
0bbfdc25
GM
6540 * keyboard.c (gen_help_event): Add parameter SIZE.
6541 (kbd_buffer_events_waiting): Slightly rewritten.
6542 (clear_event): New function.
6543 (kbd_buffer_get_event): Use it, and clear the input_events of
6544 HELP_EVENTs.
6545 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6546 don't fill the newly created array with nils.
6547 (toplevel): Convert some old-style function forward declarations
6548 to prototypes.
6549
6550 * keyboard.h (gen_help_event): Change prototype.
6551
6552 * xterm.c (XTread_socket): Change calls to gen_help_event.
6553
6554 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6555
6917e6bb
GM
6556 * eval.c (Fmacroexpand): Doc fix.
6557
e5cd3d11
JR
65582000-08-20 Jason Rumney <jasonr@gnu.org>
6559
6560 * w32term.h (x_display_info_for_display): Remove as this function
6561 does not exist on W32.
6562
6563 * w32term.c (help_echo_window): New variable.
6564 (syms_of_w32term): staticpro it.
6565 (note_mode_line_highlight): Set it.
6566 (XTextExtents16): Removed as there is no equivalent on W32.
6567 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6568 the X way of doing this will not work for W32.
6569 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6570 (x_draw_image_foreground): Avoid drawing outside of the clip area
6571 when image doesn't have a mask.
6572 (note_mouse_highlight): Process overlays in the right order of
6573 priority. Set help_echo_window.
6574 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6575 because that's more visible for large images.
6576
6577 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6578 name to single_keymap_panes.
6579 (w32_menu_show): Set wv->title when dealing with titles.
6580 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6581
6e69ab8c
MB
65822000-08-21 Miles Bader <miles@gnu.org>
6583
6584 * minibuf.c (do_completion): Try again if we rewrite the input
6585 string, but no completion was done, so that any completion message
6586 will be correct.
6587
511bd4eb
GM
65882000-08-20 Gerd Moellmann <gerd@gnu.org>
6589
6590 * xfaces.c (lface_equal_p): Compare strings differently.
6591 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6592 (realize_tty_face): Use them.
6593 (syms_of_xfaces): Initialize new variables.
6594 (map_tty_color): New function, extracted from realize_tty_face.
6595 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6596 foreground or background color, store the new color name in the
6597 realized face; previous code trying to do this had no effect.
6598 (realize_tty_face): Use map_tty_color.
6599 (Fclear_face_cache): Set face_change_count and ensure thorough
6600 redisplay.
6601
1433385f
GM
66022000-08-19 Gerd Moellmann <gerd@gnu.org>
6603
511bd4eb
GM
6604 * undo.c (record_first_change, record_marker_adjustment): Don't
6605 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6606
419ac0a2
KH
66072000-08-18 Kenichi Handa <handa@etl.go.jp>
6608
6609 * coding.c (decode_coding_string): Set members consumed,
6610 consumed_char, produced, produced_char of *coding correctly. If
6611 decode_coding doesn't consume any byte, don't try anymore.
6612 (encode_coding_string): Likewise.
6613
7eb9e30d
GM
66142000-08-18 Gerd Moellmann <gerd@gnu.org>
6615
511bd4eb
GM
6616 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6617 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6618
6619 * xdisp.c (redisplay_internal): Compare windows for equality with
6620 EQ, instead of applying XWINDOW to something that might not
6621 be a window.
52283633 6622
dd34a735
KH
66232000-08-18 Kenichi Handa <handa@etl.go.jp>
6624
6625 * fontset.c (Finternal_char_font): Search only the selected frame
6626 for a window of the current buffer.
6627
385ff9e3
GM
66282000-08-18 Gerd Moellmann <gerd@gnu.org>
6629
511bd4eb 6630 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6631 Lisp_Objects.
6632
385ff9e3
GM
6633 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6634 second half of a HELP_EVENT is found at the start of kbd_buffer.
6635
d6abb4c7
MB
66362000-08-18 Miles Bader <miles@gnu.org>
6637
4618074a
MB
6638 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6639
d6abb4c7
MB
6640 * editfns.c (save_restriction_save): Rewrite to use markers.
6641 (save_restriction_restore): Rewrite to understand new form of data
6642 saved by save_restriction_save.
6643 (Fsave_restriction): Remove cautionary note in doc-string.
6644
a7b28523
GM
66452000-08-17 Gerd Moellmann <gerd@gnu.org>
6646
6647 * fileio.c (build_annotations): Add a comment explaining the
6648 return value of format-annotate-function. Replace a spurious call
6649 to Flength with a CONSP test. Call format-annotate-function with
6650 a fifth arg specifying how many times the function is been called
6651 in a row, to let it choose temporary buffers appropriately.
6652
03c9ed77
DL
66532000-08-17 Dave Love <fx@gnu.org>
6654
6655 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6656 declare make_temp_name twice.
6657
52283633 6658 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6659 (unreadpure): Give it an arg.
6660
6661 * unexalpha.c: Prototype fatal_unexec, mark_x,
6662 update_dynamic_symbols. Declare unexec as void.
6663
6664 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6665 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6666
6667 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6668 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6669
6670 * alloca.c: Use #error.
6671 [POINTER_TYPE]: Use it.
6672
6673 * eval.c (Fdefvar): Doc fix.
6674
6675 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6676 INITIALIZE_INTERVAL.
6677
6678 * buffer.h: Avoid DECLARE_INTERVALS.
6679
6680 * config.in: Add size_t.
6681
aae41d97
EZ
66822000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6683
6684 * w16select.c (set_clipboard_data): If there's not enough memory
6685 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6686 expects. In case of other failures, return 3.
6687 (system_error_msg): New error message.
6688 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6689 system_error_msg.
6690
65aa5e85
GM
66912000-08-16 Gerd Moellmann <gerd@gnu.org>
6692
6693 * term.c (write_glyphs): Also turn off inverse video after turning
6694 off other appearances in case TS_exit_attribute_mode is not equal
6695 to TS_end_standout_mode.
6696 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6697 with the same face.
6698 (turn_off_face): Reset standout_mode only if
6699 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6700 is equal to TS_end_standout_mode.
6701
ece23901
KH
67022000-08-16 Kenichi Handa <handa@etl.go.jp>
6703
9d7bcb2e
KH
6704 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6705 sequence at the end of the source block.
6706
ece23901
KH
6707 * ccl.c (Fccl_program_p): Docstring modified.
6708 (Fccl_execute): Likewise.
6709 (Fccl_execute_on_string): Likewise.
6710
5e30eaa2
EZ
67112000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6712
6713 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6714
290602fd
KH
67152000-08-16 Kenichi Handa <handa@etl.go.jp>
6716
6717 The following changes are mainly to fix bugs of
6718 encode/decode-coding-string failing if encoding/decoding return
6719 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6720 variable conversion_buffer.
6721
6722 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6723 decrement dst_end to avoid buffer overflow in the later call of
6724 string_as_multibyte
6725
6726 * coding.h (conversion_buffer_size, conversion_buffer)
6727 (get_conversion_buffer): Extern deleted.
6728
6729 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6730 (conversion_buffer, conversion_buffer_size): Variables deleted.
6731 (get_conversion_buffer): Function deleted.
6732 (struct conversion_buffer): New structure.
6733 (MAX_ALLOCA): New macro.
6734 (allocate_conversion_buffer): New macro.
6735 (extend_conversion_buffer, free_conversion_buffer): New functions.
6736 (ccl_coding_driver): Set coding->result.
6737 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6738 this is the last block of source.
6739 (encode_coding): Likewise. Handle the source block as the last
6740 one only when the whole source text is consumed.
6741 (decode_coding_string): Handle the case that the output buffer is
6742 too small to decode the whole source text. Use
6743 allocate_conversion_buffer, extend_conversion_buffer and
6744 free_conversion_buffer, not get_conversion_buffer.
6745 (encode_coding_string): Likewise.
6746 (init_coding): Function deleted.
52283633 6747 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6748
6749 * emacs.c (main): Don't call init_coding.
6750
52283633 6751 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6752
6753 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6754 (insert_glyphs): Likewise.
6755
6756 * w32console.c (write_glyphs): Use a locally declared
6757 conversion_buffer.
6758
b9f80d41
EZ
67592000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6760
6761 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6762 member of display_info is NULL.
6763
32dc52f7
GM
67642000-08-15 Gerd Moellmann <gerd@gnu.org>
6765
52283633 6766 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6767
32dc52f7 6768 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6769 appearances with capability `me'.
32dc52f7
GM
6770 (write_glyphs): Switch on inverse video before each face change.
6771
4eb22d33
DL
67722000-08-14 Dave Love <fx@gnu.org>
6773
6774 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6775 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6776 (lisp_free): Declare and make static.
6777
6778 * window.c: Fix embedded comment.
6779 (syms_of_window): Fix doc string.
6780
90cbf47e
GM
67812000-08-14 Gerd Moellmann <gerd@gnu.org>
6782
52283633 6783 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6784 make sure to print `C-' before `M-', like in the manual.
6785
440fc135
GM
67862000-08-11 Gerd Moellmann <gerd@gnu.org>
6787
6788 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6789 since they aren't relocated anymore.
52283633 6790 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6791
6792 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6793 partially visible line which is smaller than the window's height.
440fc135 6794
6e264fad
KH
67952000-08-11 Kenichi Handa <handa@etl.go.jp>
6796
6797 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6798 the multibyte form of eight-bit-control characters.
6e264fad
KH
6799 (Fccl_execute_on_string): Initialize ccl->multibyte.
6800
6801 * ccl.h (struct ccl_program): New member multibyte.
6802
6803 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6804
c371f69a
KH
68052000-08-11 Kenichi Handa <handa@etl.go.jp>
6806
6807 * regex.c (regex_compile) <normal_char>: Pay attention to
6808 multibyteness.
6809 (analyse_first) <exactn>: Setup fastmap correctly for
6810 eight-bit-control characters.
6811
68122000-08-11 Kenichi Handa <handa@etl.go.jp>
6813
52283633 6814 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6815
6816 * keyboard.c (make_lispy_event): Handle the new event type
6817 multibyte_char_keystroke.
6818
6819 * xterm.c: Include coding.h.
6820 (XTread_socket): Work around a bug of XmbLookupString. If the
6821 input is from XIM, decode it according to the current locale. In
6822 that case, generate multibyte_char_keystroke events.
6823
b8ddbe71
KH
68242000-08-11 Kenichi Handa <handa@etl.go.jp>
6825
6826 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6827 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6828
47589c8c
GM
68292000-08-10 Gerd Moellmann <gerd@gnu.org>
6830
6831 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6832 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6833 (move_it_in_display_line_to): Record iterator's ascent and descent
6834 before producing glyphs, and restore them when we know the glyph
6835 doesn't fit on the line.
6836 (move_it_to): Restructured so that it's easier to debug. If
6837 moving to a vpos, and not moving to an x or character position,
6838 stop as soon as the specified vpos is reached; don't move further
6839 into that line because that might change the computed line height.
6840 (try_cursor_movement): New function, extracted from the cursor
6841 movement branch of redisplay_window. If ending on a partially
6842 visible line, don't try to scroll if the cursor line is taller
6843 than the window.
6844 (redisplay_window): Use try_cursor_movement.
6845
6846 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6847 because that function doesn't cope with variable-height lines.
6848
6849 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6850 box cursor because that's better visible for large images.
52283633 6851
c51bacd6
MB
68522000-08-10 Miles Bader <miles@gnu.org>
6853
6854 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6855
bea56df7
GM
68562000-08-10 Gerd Moellmann <gerd@gnu.org>
6857
6858 * xdisp.c (Vmessages_buffer_name): New variable.
6859 (message_dolog): Use it.
6860 (syms_of_xdisp): Initialize it.
6861
99cd7364
EZ
68622000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6863
52283633 6864 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6865 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6866 redundant now that keyboard.h is included.
6867
7d093d56
EZ
68682000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6869
6870 * keyboard.c (kbd_buffer_events_waiting): New function.
6871
6872 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6873
6874 * msdos.c: Include keyboard.h.
6875 (XMenuActivate): Empty no_event events from the event buffer. If
6876 no events are left after that, call clear_input_pending.
6877 (mouse_clear_clicks): New function, code moved from mouse_init.
6878 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6879 mouse driver to ``forget'' any past clicks.
6880
6881 * Makefile.in (msdos.o): Depend on keyboard.h.
6882
41e757a6
GM
68832000-08-09 Gerd Moellmann <gerd@gnu.org>
6884
8e7bd231
GM
6885 * lisp.h (input_pending): External declaration.
6886
6887 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6888
8e7bd231
GM
6889 * xdisp.c (echo_area_display): Display thoroughly if input is
6890 pending. Bind redisplay-dont-pause to t during the redisplay.
6891 in case input is pending.
6892
6893 * dispnew.c (Qredisplay_dont_pause): New variable.
6894 (syms_of_display): Initialize and staticpro it.
6895 (update_frame_1): Don't interrupt the display for pending input if
6896 redisplay_dont_pause is set.
52283633 6897
43028b7e
GM
6898 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6899
41e757a6
GM
6900 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6901
2f2174fa
KH
69022000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6903
6904 * callproc.c (Fcall_process): Terminate the unwind-protect around
6905 the post-read-conversion of coding system.
6906
0a6fd67e
MB
6907 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6908 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6909 * buffer.h (overlays_at): Update prototype.
6910 * xdisp.c (next_overlay_change): Update call to overlays_at.
6911 * xfaces.c (face_at_buffer_position): Likewise.
6912 * textprop.c (Fget_char_property): Likewise.
6913 * xterm.c (note_mouse_highlight): Likewise.
6914
0c80756e
MB
6915 * minibuf.c (do_completion): Don't consider a simple change of
6916 case as `completion'.
6917
975f250a
KR
69182000-08-08 Ken Raeburn <raeburn@gnu.org>
6919
52283633 6920 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6921 * undo.c (record_delete): Make sure last_point_position_buffer is
6922 a buffer before comparing pointers.
6923
6924 * coding.h (decode_coding_string): Declare.
6925
6926 * intervals.h (Fprevious_single_char_property_change): Declare.
6927
6928 * textprop.c (Fprevious_single_char_property_change): Don't do
6929 arithmetic directly on lisp objects.
6930
52283633 6931 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6932
6933 * keyboard.h (menu_item_eval_property): Declare.
6934
6935 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6936 reuse as buffer name, instead of recreating (and discarding) every
6937 time a message is logged.
6938 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6939 (current_message_1, truncate_message_1, set_message_1)
6940 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6941 (current_message, truncate_echo_area, display_echo_area)
6942 (resize_echo_area_axactly): Changed calls.
b347b3fd 6943
975f250a 6944 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6945 Lisp object.
975f250a 6946 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6947 must be an integer, not a Lisp object.
975f250a 6948
46dc9912
KH
69492000-08-08 Kenichi Handa <handa@etl.go.jp>
6950
6951 * charset.c (Fchar_width): Doc fix.
6952
9f6d1a6c
GM
69532000-08-08 Gerd Moellmann <gerd@gnu.org>
6954
6955 * charset.c (Fstring_width): Doc fix.
6956
ff3d9573
GM
69572000-08-07 Gerd Moellmann <gerd@gnu.org>
6958
41e757a6 6959 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6960 line, clear ascent and descent members of the iterator structure;
6961 the height of the continued line does not affect the height of the
6962 continuation line.
6963 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6964 line taller than the window.
6965 (redisplay_window) <forced window start>: Handle case that the
6966 middle of the window is not found in any row.
6967 (dump_glyph_row): Show more information.
6968 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6969 first text line in a glyph matrix.
6970
6971 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6972 of the clip area when image doesn't have a mask.
6973
70fc58b3
GM
6974 * fns.c (sweep_weak_table): Fix survival conditions for
6975 key-or-value and key-and-value weakness.
6976
6977 * .gdbinit (xhashtable): New command.
6978
ac0e96ee
GM
6979 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6980 tables out of the list of all weak hash tables.
6981
ff3d9573
GM
6982 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6983 a new buffer is created, make sure echo_area_buffer[] references
6984 the new buffer.
6985
e0d8827b
EZ
69862000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6987
6988 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6989 the doc string.
6990
c6f35378
KH
69912000-08-07 Kenichi Handa <handa@etl.go.jp>
6992
6993 * syntax.c (skip_chars): Fix previous change. Make the handling
6994 of unibyte string consistent with that of regex search.
6995
1fd4c450
GM
69962000-08-05 Gerd Moellmann <gerd@gnu.org>
6997
e49aa397
GM
6998 * xmenu.c (popup_get_selection): Use xfree instead of free.
6999
7000 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7001
7002 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7003
7004 * callproc.c (child_setup): Use xfree instead of free.
7005
7006 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7007 instead of malloc.
7008 (run_mac_command, closedir): Use `xfree' instead of `free'.
7009
7010 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7011
7012 * eval.c (error): Use xfree instead of free.
7013
1fd4c450
GM
7014 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7015
7016 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7017 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7018
82d497fc
KH
70192000-08-05 Kenichi Handa <handa@etl.go.jp>
7020
7021 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7022 conversion.
7023
59f953a2
NF
70242000-08-04 Noah Friedman <friedman@splode.com>
7025
7026 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7027 docstring.
7028
688351f2
GM
70292000-08-04 Gerd Moellmann <gerd@gnu.org>
7030
7031 * syntax.c (skip_chars): Fix typo in error message.
7032
2dad51cc
AS
70332000-08-04 Andreas Schwab <schwab@suse.de>
7034
7035 * m/ia64.h: Moved from s/ia64.h.
7036
99bb2c60
KH
70372000-08-04 Kenichi Handa <handa@etl.go.jp>
7038
082a1df2
KH
7039 * process.c (read_process_output): Big simplification. Handle
7040 composition and post-read-conversion of coding system correctly.
7041 (send_process): Handle composition correctly.
7042
7043 * callproc.c (Fcall_process): Handle post-read-conversion of
7044 coding system if any.
7045
99bb2c60
KH
7046 * coding.c (decode_coding_iso2022): More strict check for handling
7047 single shifting.
082a1df2
KH
7048 (coding_restore_composition): Pay attention to the case that
7049 cmp_data is not set properly (because of invalid code in the
7050 source text).
7051 (run_pre_post_conversion_on_str): Include text properties in the
7052 resulting string.
7053 (decode_coding_string): Set members of coding correctly.
99bb2c60 7054
f4988be7
GM
70552000-08-03 Gerd Moellmann <gerd@gnu.org>
7056
7057 * s/ia64.h: New file.
7058
7059 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7060 Use NULL instead of 0 at the end of variable argument list of
7061 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7062 sizeof (int) < sizeof (void *).
7063
7064 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7065 of variable argument lists of XtVaGetValues and XtVaSetValues.
7066
7067 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7068 variable argument lists of XtVaGetValues and XtVaSetValues.
7069
ead53494
GM
70702000-08-02 Gerd Moellmann <gerd@gnu.org>
7071
7072 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7073 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7074
7075 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7076 prototype.
7077
7078 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7079 in call to Fsingle_key_description.
7080
7081 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7082 Callers changed.
7083
70842000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7085
7086 * window.c (display_buffer_reuse_frames): New variable.
7087 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7088 frames displaying BUFFER.
52283633 7089 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7090
10b0f752
MB
70912000-08-01 Miles Bader <miles@gnu.org>
7092
7093 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7094 when to constrain NEW_POS (they were pretty screwed up before).
7095
16425c4a
EZ
70962000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7097
7098 * msdos.c (run_msdos_command): Save and restore the master
7099 environment, for the case that child_setup signals an error.
7100 When mirroring slashes in DOS shell commands, don't fail when
7101 argv[2] has embedded blanks.
da288c14
EZ
7102 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7103 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7104 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7105
7106 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7107 using alloca; free it after run_msdos_command returns.
7108
27f73852
DL
71092000-07-27 Dave Love <fx@gnu.org>
7110
52283633
SM
7111 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7112 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7113
7114 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7115
c0261b5e
EZ
71162000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7117
7118 * editfns.c (lisp_time_argument): Fix last change.
7119
b548072f
GM
71202000-07-27 Gerd Moellmann <gerd@gnu.org>
7121
3ab82477
GM
7122 * fns.c (Fdelete): Make it work on vectors and strings in addition
7123 to lists.
7124
b548072f
GM
7125 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7126 (syms_of_fns): Initialize new variables.
52283633 7127 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7128 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7129 weakness, with t meaning the same as `key-and-value'.
7130
91ae8751
KH
71312000-07-27 Kenichi Handa <handa@etl.go.jp>
7132
7133 * coding.h (struct coding_system): Member safe_charset deleted.
7134
7135 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7136 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7137 New variables.
91ae8751
KH
7138 (coding_safe_chars): New function.
7139 (CODING_SAFE_CHAR_P): New macro.
7140 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7141 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7142 (detect_coding_iso2022): New local variable safe_chars.
7143 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7144 safe_charsets member of the coding system.
7145 (decode_coding_iso2022): New local variable safe_chars.
7146 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7147 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7148 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7149 (ENCODE_UNSAFE_CHARACTER): New macro.
7150 (encode_coding_iso2022): New local variable safe_chars. Check
7151 unsafe chars.
7152 (setup_coding_system): Delete the code to initialize
7153 coding->safe_charses
7154 (intersection, find_safe_codings): New functions.
7155 (Ffind_coding_systems_region_internal): New function.
7156 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7157 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7158 variable and initialize it.
7159
7160 * fns.c (char_table_ref_and_index): New function.
7161
7162 * lisp.h (char_table_ref_and_index): Add prototype.
7163
34a7a267
SS
71642000-07-26 Sam Steingold <sds@gnu.org>
7165
7166 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7167 (Ffloat_time): New built-in Lisp function.
34a7a267 7168
a95cb10a
GM
71692000-07-26 Gerd Moellmann <gerd@gnu.org>
7170
3353ef5a
GM
7171 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7172 for the character code.
7173
7174 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7175 GNU/Linux.
7176
a95cb10a
GM
7177 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7178 if called for a popup menu.
7179 (xmenu_show): Store help string in widget values.
7180
b4a12321
DL
71812000-07-26 Dave Love <fx@gnu.org>
7182
7183 * syswait.h: Move some definitions.
7184 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7185 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7186 perspicuous definitions.
7187 (WTERMSIG): Fix bit pattern used.
7188
13f5ad37
KH
71892000-07-26 Kenichi Handa <handa@etl.go.jp>
7190
7191 * print.c (print_object): If vector printing is truncated, print
7192 "..." to indicate it as well as the case of list printing.
7193
070fe99c
GM
71942000-07-25 Gerd Moellmann <gerd@gnu.org>
7195
969065c3
GM
7196 * xdisp.c (next_element_from_display_vector): Improve comments.
7197
7198 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7199 for the character code, and the rest for the face id as in 20.x.
7200 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7201
7202 * window.c (window_display_table): Cleaned up.
7203
070fe99c
GM
7204 * syntax.c (Fforward_word): Add last arg nil in call of
7205 Fconstrain_to_field.
7206
bad77ef7
EZ
72072000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7208
969065c3 7209 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7210 identical but for the letter-case, don't call
7211 barf_or_query_if_file_exists.
bad77ef7 7212
c28da489
MB
72132000-07-25 Miles Bader <miles@gnu.org>
7214
7215 * editfns.c (find_field): Honor special `boundary' fields.
7216 (Qboundary): New variables.
7217 (syms_of_editfns): Initialize Qboundary.
7218 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7219 Use scan_buffer instead of find_before_next_newline, because it
7220 allows us to detect the boundary case where there's a newline at
7221 the search limit.
7222 * lisp.h (Fconstrain_to_field): Update external declaration.
7223
e3c31fd5
GM
72242000-07-24 Gerd Moellmann <gerd@gnu.org>
7225
7226 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7227 if that is nil.
c28da489 7228
c66c29a2
DL
72292000-07-24 Dave Love <fx@gnu.org>
7230
7231 * s/sunos4-0.h, s/sol2.h:
7232 (LIBS_TERMCAP): Move from m/sparc.h.
7233
7234 * m/sparc.h (TERMINFO): Moved to system files (probably only
7235 relevant for sunos4 judging by its vintage).
7236 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7237 __arch64__.
7238
fbe0a958
EZ
72392000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7240
7241 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7242 name to single_keymap_panes.
7243
7d88e5c9
AS
72442000-07-24 Andreas Schwab <schwab@suse.de>
7245
7246 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7247
e024b101
GM
72482000-07-24 Gerd Moellmann <gerd@gnu.org>
7249
7250 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7251 parameters instead of using int parameters. Expect FN to accept
7252 EMACS_INT parameters.
7253 (display_echo_area, resize_echo_area_axactly, current_message)
7254 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7255 with new argument list.
7256 (resize_mini_window_1): New callback function.
7257 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7258 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7259
25c1a9ce
KH
72602000-07-24 Kenichi Handa <handa@etl.go.jp>
7261
7262 * fontset.c (fontset_ref): Remove INLINE declaration.
7263 (fontset_ref_via_base): Likewise.
7264 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7265 to downcase.
7266
7f987ac0
EZ
72672000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7268
7269 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7270 correct order of priority. If help echo was found in an overlay,
7271 use that overlay as the object in which the help echo was found.
7272
e2db3069
MB
72732000-07-22 Miles Bader <miles@gnu.org>
7274
7275 * textprop.c (Fprevious_single_char_property_change): The initial
7276 property value should be from the position preceding POSITION, not
7277 following it.
7278
5e3203e4
EZ
72792000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7280
7281 * coding.c (syms_of_coding): Doc fix for
7282 inhibit-iso-escape-detection.
7283
62145073
GM
72842000-07-21 Gerd Moellmann <gerd@gnu.org>
7285
c20aeb83
GM
7286 * xterm.c (note_mouse_highlight): Process overlays in the right
7287 order of priority.
34a7a267 7288
743934db
GM
7289 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7290
7291 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7292 overlay, use that overlay as the object in which the help was found.
743934db 7293
d1dc7e43 7294 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7295
62145073
GM
7296 * window.c (foreach_window): Instead of a fake variable argument
7297 list, take one USER_DATA argument.
7298 (foreach_window_1): Likewise, and call callback functions with two
7299 args, the window and USER_DATA.
7300 (struct check_window_data): New struct.
7301 (check_window_containing): Use it.
7302 (window_from_coordinates): Set up a struct check_window_data for
7303 foreach_window.
7304 (add_window_to_list, freeze_window_start): Change parameters
7305 according to new calling convention.
7306
7307 * window.h (foreach_window): Change prototype.
7308
7309 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7310
73112000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7312
7313 * xmenu.c (menu_help_callback): Call show_help_echo with
7314 additional arguments OBJECT and POS.
7315
11270583
KH
73162000-07-21 Kenichi Handa <handa@etl.go.jp>
7317
07b14857
KH
7318 * data.c (Faset): Allow storing any multibyte character in a
7319 string. Convert unibyte string to multibyte if necessary.
7320
11270583
KH
7321 * xfns.c (x_encode_text): New function.
7322 (x_set_name): Use x_encode_text.
7323 (x_set_title): Likewise.
7324
7325 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7326
7327 * xterm.h (x_encode_text): Add prototype.
7328
bc75b4fd
DL
73292000-07-20 Dave Love <fx@gnu.org>
7330
7331 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7332 xfree, not free.
7333
48c14970
EZ
73342000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7335
7336 * msdos.c (help_echo_window): New variable.
7337 (syms_of_msdos): Initialize and staticpro it.
7338 (IT_note_mode_line_highlight): Set help_echo_window.
7339 (IT_note_mouse_highlight): Ditto.
7340 (dos_rawgetc): Store help_echo_window in the second event produced
7341 for HELP_EVENTs.
7342
7343 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7344 Record the object that generated the help echo and the position of
7345 that object in help_echo_object and help_echo_pos. Record that
7346 some glyphs in a row are displayed in mouse-face.
7347 (IT_update_begin): Don't clear mouse highlight unless one of the
7348 enabled glyph rows is marked as being displayed in mouse-face.
7349 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7350 and position recorded in help_echo_object and help_echo_pos to the
7351 event queue.
7352 (IT_menu_display): Accept a new argument PN: the pane number of
7353 the current menu pane. Record the pane number and the item
7354 number of the item which has associated help string.
7355 (XMenuActivate): Update the prototype for help_callback in
7356 function declaration. Call IT_menu_display with the current menu
7357 pane number as an additional argument. Call help_callback with
7358 two additional arguments: the pane number and the item number of
7359 the menu item associated with the help text.
7360 (help_echo_object, help_echo_pos): New variables.
7361 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7362
7363 * msdos.h (XMenuActivate): Update prototype.
7364
4279296d
GM
73652000-07-19 Gerd Moellmann <gerd@gnu.org>
7366
47db06aa
GM
7367 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7368 Add some more prototypes.
7369
7370 * xterm.c, xterm.h: Add some more prototypes.
7371
7372 * lisp.h (Fnext_single_char_property_change): Add prototype.
7373
7374 * dispnew.c (direct_output_for_insert): Remove confusing
7375 outer local variable mouse_face_overwritten_p.
7376 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7377
4279296d
GM
7378 * alloc.c (allocate_string_data): Don't copy old string contents.
7379
670acd62
KH
73802000-07-19 Kenichi Handa <handa@etl.go.jp>
7381
7382 * coding.c (code_convert_region): Delete text properties before
7383 shrinking the conversion region.
7384
7cea38bc
GM
73852000-07-18 Gerd Moellmann <gerd@gnu.org>
7386
dc1cac59
GM
7387 * dispnew.c (update_text_area): Write the whole row if it
7388 has mouse-face in it.
7389
85a8aca9
GM
7390 * xfaces.c (face-alternative-font-family-alist): Remove
7391 DEFVAR_LISP; staticpro instead.
7392
34a7a267 7393 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7394 new arguments.
7395
7396 * keyboard.c (show_help_echo): Add parameter WINDOW.
7397 (read_char): Call show_help_echo with window extracted from Lisp
7398 help event.
7399 (gen_help_event): Add parameter WINDOW.
7400
7401 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7402
7403 * xterm.c (help_echo_window): New variable.
52283633 7404 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7405 (XTread_socket): Pass help_echo_window to gen_help_event.
7406 (syms_of_xterm): Initialize and staticpro help_echo_window.
7407
f8276b77
DL
74082000-07-18 Dave Love <fx@gnu.org>
7409
52283633 7410 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7411
088831a6
GM
74122000-07-18 Gerd Moellmann <gerd@gnu.org>
7413
3d6cd763
GM
7414 * alloc.c (allocate_string_data): If string had already data
7415 assigned, copy old contents to new string data.
7416
7417 * coding.c (syms_of_coding): Fix typo in spelling of variable
7418 `inhibit-iso-escape-detection'.
7419
088831a6
GM
7420 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7421
7422 * Makefile.in: Add dependencies on dispextern.h.
7423 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7424 `free'; both can conflict with system header files.
7425
bc8a8d55
KH
74262000-07-18 Kenichi Handa <handa@etl.go.jp>
7427
7428 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7429 undefined.
7430
069f5950
DL
74312000-07-18 Dave Love <fx@gnu.org>
7432
7433 * window.c (Fwindow_list): Declare arg `window'.
7434
aa96c820
KH
74352000-07-18 Kenichi Handa <handa@etl.go.jp>
7436
7437 * coding.c (setup_coding_system): Don't override the explicitly
7438 specified designations.
7439
06be8d32
MB
74402000-07-15 Miles Bader <miles@gnu.org>
7441
7442 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7443 from `text_property_eq' and `text_property_stickiness', respectively.
7444 (find_field, Fconstrain_to_field, char_property_eq)
7445 (char_property_stickiness): Changed to call char-property functions
7446 instead of text-property-only ones.
7447
7448 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7449 `next_single_char_property_change'). Do more error checking, and
7450 cleanup limit behavior.
7451 (Fprevious_single_char_property_change): New function.
7452 (syms_of_textprop): Initialize new subrs.
7453
7454 * xdisp.c (display_prop_end, invisible_text_between_p):
7455 Call Fnext_single_char_property_change instead of
7456 next_single_char_property_change.
7457
3fddcdc3
JR
74582000-07-15 Jason Rumney <jasonr@gnu.org>
7459
7460 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7461 after menu is finished with.
7462 (add_menu_item): Only consider wv->title as a menu title.
7463 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7464
7465 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7466 null title.
7467 (FONT_REGEXP): Remove unused macro, and its sub-components.
7468 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7469
7470 * w32term.c (help_echo_object, help_echo_pos): New variables.
7471 (note_mode_line_highlight): Store additional information about the
7472 help-echo in help_echo_object and help_echo_pos. Check both
7473 `local-map' and `keymap' properties for changing the cursor
7474 (note_mouse_highlight): Store additional information about the
7475 help-echo in help_echo_object and help_echo_pos.
7476 (note_tool_bar_highlight): Set help_echo_object to nil and
7477 help_echo_pos to -1.
7478 (w32_read_socket): Use gen_help_event instead of filling
7479 input_events manually.
7480 (syms_of_w32term): Staticpro help_echo_object.
7481 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7482 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7483 (x_clear_mouse_face): New function.
7484 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7485 (x_update_window_begin): No need to turn off the mouse
7486 highlight here.
7487 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7488 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7489 (x_fill_stretch_glyph_string): Consume runs of stretch
7490 glyphs instead of a single one.
7491 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7492 with new argument list.
7493 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7494 (x_append_glyph, x_append_composite_glyph)
7495 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7496 changes in struct glyph starting 1999-12-27. See comments for
7497 xterm.c on 2000-07-05.
7498
178c5d9c
SS
74992000-07-14 Sam Steingold <sds@gnu.org>
7500
7501 * xfaces.c (realize_x_face): Fix the last patch:
7502 check `default_face' before dereferencing.
7503
6fe533f6
DL
75042000-07-14 Dave Love <fx@gnu.org>
7505
069f5950 7506 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7507
dd7b81cf
KH
75082000-07-14 Kenichi Handa <handa@etl.go.jp>
7509
0693904a 7510 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7511 default_face's fontset, not using the default fontset.
0693904a 7512
dd7b81cf
KH
7513 * coding.c (inhibit_iso_escape_detection): New variable.
7514 (syms_of_coding): Make it a Lisp variable.
7515 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7516 nonzero, ignore ISO2022's escape sequence.
7517
d5aa31d8
GM
75182000-07-14 Gerd Moellmann <gerd@gnu.org>
7519
e5acf0ca
GM
7520 * alloca.c (malloc) [emacs]: Define as xmalloc.
7521
bd23a692
GM
7522 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7523 use that instead of the mouse position. Add parameters DX and DY.
7524
7525 * dispextern.h (Fx_show_tip): Adjust number of parameters
7526 in prototype.
7527
9662da0b
GM
7528 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7529 if HELP is a function, call it with OBJECT and POS as parameters
7530 to get the help to display.
7531 (gen_help_event, kbd_buffer_store_help_event): New functions.
7532 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7533 (read_char): Call show_help_echo with new parameters.
7534
178c5d9c 7535 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7536 Add prototypes.
7537
7538 * xterm.c (help_echo_object, help_echo_pos): New variables.
7539 (note_mode_line_highlight): Store additional information about the
7540 help-echo in help_echo_object and help_echo_pos. Check both
7541 `local-map' and `keymap' properties for changing the cursor
7542 (note_mouse_highlight): Store additional information about the
7543 help-echo in help_echo_object and help_echo_pos.
7544 (note_tool_bar_highlight): Set help_echo_object to nil and
7545 help_echo_pos to -1.
7546 (XTread_socket): Use gen_help_event instead of filling
7547 input_events manually.
7548 (syms_of_xterm): Staticpro help_echo_object.
7549
7550 * xmenu.c (menu_highlight_callback): Use
7551 kbd_buffer_store_help_event instead of setting up and input_event
7552 structure manually.
7553
7554 * xdisp.c (eval_form): GCPRO argument sexpr.
7555 (call_function): New function.
7556 (handle_single_display_prop): Use call_function and FUNCTIONP
7557 instead of checking whether if font_height is a symbol and
7558 using eval_form.
7559
7560 * eval.c (internal_condition_case_2): New function.
7561
7562 * lisp.h (FUNCTIONP): New macro.
7563 (internal_condition_case_2, call_function): Add prototypes.
7564
d5aa31d8
GM
7565 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7566 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7567 Always set `arg' member of input_events.
7568 (construct_menu_click): Unused function removed.
7569
7570 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7571
7572 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7573 (construct_drag_n_drop, x_scroll_bar_handle_click)
7574 (w32_read_socket): Always set `arg' member of input_events.
7575
7576 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7577
7578 * lisp.h (eval_form): Add prototype.
7579
7580 * xdisp.c (eval_form): Make it externally visible.
7581
0f1a9b23
GM
75822000-07-13 Gerd Moellmann <gerd@gnu.org>
7583
7584 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7585 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7586 consing. For prefix events, store the frame in the `arg' slot of
7587 the event, otherwise store the key there.
7588 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7589 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7590
7591 * xmenu.c (menu_highlight_callback): Store help string in the
7592 `arg' member of the input event; don't cons.
7593 (menubar_selection_callback): Use the `arg' slot of input events
7594 to queue additional information, instead of consing.
7595
7596 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7597
7598 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7599 TOOL_BAR_EVENTs.
7600 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7601
7602 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7603 input events to queue additional information, instead of consing.
7604
7605 * keyboard.c (kbd_buffer_gcpro): Renamed from
7606 kbd_buffer_frame_or_window. Now used for all Lisp objects
7607 referenced from the input queue.
7608 (kbd_buffer_store_event): Always use structure assignment for
7609 copying input events. Record all Lisp objects referenced from
7610 events in kbd_buffer_gcpro.
7611 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7612 differently from input events. Test for prefix menu_bar_events
7613 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7614 event in kbd_buffer_gcpro to nil.
7615 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7616 frame_or_window is equal to its arg member as prefix events.
7617 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7618 used by an input event to nil.
7619 (init_keyboard): Use two times the size of the input queue
7620 for kbd_buffer_gcpro.
7621 (syms_of_keyboard): Likewise.
7622
52283633
SM
7623 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7624 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7625
7626 * termhooks.h (struct input_event): Add member `arg'.
7627 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7628 (USER_SIGNAL_EVENT): Renamed from user_signal.
7629
7630 * xfaces.c (ASET): Remove definition.
7631
7632 * lisp.h (AREF, ASET, ASIZE): New macros.
7633
7634 * fontset.c (AREF, ASIZE): Remove definitions.
7635
7636 * fns.c (AREF): Remove definition.
178c5d9c 7637
0f1a9b23
GM
7638 * composite.c (AREF): Remove definition.
7639
712eaef2
GM
76402000-07-12 Gerd Moellmann <gerd@gnu.org>
7641
d8ee7803
GM
7642 * dispnew.c (redraw_overlapped_rows): Add missing local.
7643 (scrolling_window): Remove debug code.
7644
712eaef2
GM
7645 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7646 Before scrolling, turn off a mouse-highlight in the window
7647 being scrolled.
7648
7649 * xterm.c (x_update_window_end): Add parameter
7650 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7651 redisplay in XTframe_up_to_date.
7652 (x_clear_mouse_face): New function.
7653 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7654
7655 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7656 current glyph row.
7657 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7658 it when any row is written to that contains glyphs highlighted in
7659 mouse-face.
7660 (update_window): Call the window update end hook with new
7661 parameter MOUSE_FACE_OVERWRITTEN_P.
7662 (direct_output_for_insert): Give up if row contains mouse-face.
7663
7664 * dispextern.h (struct redisplay_interface): Add parameter
7665 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7666 (clear_mouse_face): New function pointer member.
7667
02010917
SM
76682000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7669
7670 * syntax.c (back_comment): Use one switch rather than a few `if's.
7671 Obey open_paren_in_column_0_is_defun_start.
7672 When reverting to the `slow' method, try to nicely handle the case
7673 of nested comments by checking that the comment-starter we found
7674 does indeed match the comment-ender.
7675 (scan_sexps_forward, scan_sexps_forward):
7676 Ignore excessive opening parenthesis rather than throwing an error.
7677
d76c03ea
GM
76782000-07-11 Gerd Moellmann <gerd@gnu.org>
7679
7680 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7681 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7682
7683 * dispnew.c (direct_output_forward_char): Give up if currently
7684 displaying a message instead of the minibuffer contents.
7685
7686 * xterm.c (x_update_window_begin): No need to turn off the mouse
7687 highlight here.
7688 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7689 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7690
7691 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7692 compare the mouse_face_p flags of both rows.
7693
7694 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7695
d55ead18
EZ
76962000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7697
7698 * keyboard.c (show_help_echo): Accept additional parameter
7699 ok_to_overwrite_keystroke_echo.
7700 (read_char): Call show_help_echo with a zero
7701 ok_to_overwrite_keystroke_echo argument.
52283633 7702 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7703 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7704 ok_to_overwrite_keystroke_echo argument.
7705 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7706 non-zero ok_to_overwrite_keystroke_echo argument.
7707
df75b1a3
GM
77082000-07-10 Gerd Moellmann <gerd@gnu.org>
7709
4b92c49a
GM
7710 * xdisp.c (try_window_id): If changes are all below what is
7711 displayed in the window, and point is in the window, we still
7712 might have to find point on the display.
7713
7714 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7715 glyphs instead of a single one.
7716 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7717 with new argument list.
7718 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7719
df75b1a3
GM
7720 * keymap.c (get_keymap_1): Add comment that this function can GC.
7721 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7722 comment that functions can GC.
7723 (Fset_keymap_parent): GCPRO arg KEYMAP.
7724
4314cf3e
EZ
77252000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7726
7727 * msdos.c (XMenuActivate): After exiting the menu, restore the
7728 echo area message and erase it.
7729
ab49ce15
KH
77302000-07-10 Kenichi Handa <handa@etl.go.jp>
7731
7732 * fontset.c (Ffontset_info): Make the return value more compatible
7733 with that of Emacs 20.
7734
090a072f
GM
77352000-07-07 Gerd Moellmann <gerd@gnu.org>
7736
7737 * eval.c (Fsignal): Handle case that backtrace_list is null.
7738
f92de4a6
KH
77392000-07-07 Kenichi Handa <handa@etl.go.jp>
7740
7741 * ccl.c (Fccl_execute): Typo fixed.
7742
dd8888a1
GM
77432000-07-06 Gerd Moellmann <gerd@gnu.org>
7744
e5c81191 7745 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7746
dd8888a1
GM
7747 * window.c (Fwindow_list): Reverse list at the end.
7748 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7749 means allow windows on OWINDOW's frame, only.
7750 (window_loop): Simplified; use Fwindow_list.
7751
7752 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7753
485266d0
GM
77542000-07-05 Gerd Moellmann <gerd@gnu.org>
7755
7756 * xterm.c (XTread_socket): Increment handling_signal at the start,
7757 decrement it at the end.
7758
7759 * eval.c (handling_signal): New variable.
7760 (Fsignal): Abort if handling_signal is non-zero.
7761
7762 * lisp.h (handling_signal): External declaration.
178c5d9c 7763
485266d0
GM
7764 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7765
80fcd514
KR
77662000-07-05 Ken Raeburn <raeburn@gnu.org>
7767
7768 Sound support for NetBSD through "Linux emulation" support:
7769 * config.in (HAVE_SOUNDCARD_H): Undef.
7770 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7771 * Makefile.in (LIBSOUND): New variable.
7772 (LIBES): Include it.
52283633
SM
7773 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7774 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7775 (vox_open): Use DEFAULT_SOUND_DEVICE.
7776 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7777
d5c5cddd
GM
77782000-07-05 Gerd Moellmann <gerd@gnu.org>
7779
7780 * print.c (print_error_message): If Vsignaling_function is set,
7781 show it in *Messages*.
7782
7783 * lisp.h (Vsignaling_function): External declaration.
7784
7785 * eval.c (Vsignaling_function): New variable.
7786 (Fsignal): Compute it.
7787 (syms_of_eval): Staticpro it.
7788
65171e3a
DL
77892000-07-05 Dave Love <fx@gnu.org>
7790
7791 * syswait.h: Use the autoconf recommended approach. Old code
7792 #if'd out in case we need to revert.
7793
178c5d9c 7794 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7795
e2c46326
AI
77962000-07-05 Andrew Innes <andrewi@gnu.org>
7797
7798 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7799 when non-NULL instead of __morecore, to take account of buffer
7800 memory. This also solves a problem with spurious memory warnings
7801 on Windows.
7802
7803 * ralloc.c: Make real_morecore non-static.
7804
7805 * eval.c (internal_condition_case): Comment out abort if
7806 interrupt_input_blocked is not zero.
7807
7808 * makefile.nt: Add support for `bootstrap' and related targets.
7809 Include minimal debug info in emacs.exe in release build.
7810 Remove all dependencies on lisp.h, and fixup some others.
7811
7812 * w32.c (init_environment): Install code from 20.7 for providing
7813 default values for environment variables, based on the
7814 executable's own location.
52283633 7815 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7816 (sys_socket): Install socket inheritance bug fix from 20.7.
7817
7818 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7819 here via blockinput.h).
7820
a027a91b
SM
78212000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7822
e4b31601
SM
7823 * w32menu.c (w32_menu_display_help):
7824 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7825
7826 * keyboard.h (show_help_echo): Declare.
7827
7828 * keyboard.c (show_help_echo): New function, extracted from read_char.
7829 Feval its `msg' argument if it's a cons cell.
7830 (read_char): Use it.
4cf8d9d5 7831 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7832
178c5d9c 7833 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7834 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7835 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7836 (dos_rawgetc):
7837 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7838 (note_tool_bar_highlight, w32_read_socket):
7839 Do not gratuitously ignore non-string `help-echo' properties.
7840
88d75730
GM
78412000-07-05 Gerd Moellmann <gerd@gnu.org>
7842
969f7e79
GM
7843 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7844
71201b00
GM
7845 * window.c (delete_all_subwindows): Reset Vwindow_list.
7846
88d75730
GM
7847 * xterm.c (x_append_glyph, x_append_composite_glyph)
7848 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7849 changes in struct glyph starting 1999-12-27. Some bit-fields of
7850 struct glyph were not set, which made glyphs unequal when compared
7851 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7852 effects were the result. This also depended on the contents of
7853 memory returned by xmalloc. If flickering happens again, activate
7854 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7855 gone with that, chances are that it is caused by something similar.
88d75730
GM
7856
7857 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7858
88d75730
GM
7859 * dispextern.h: Add some comments.
7860
7861 * window.c (add_window_to_list): Add parameter LIST.
7862 (window_list): Order list so that, for each frame, windows are
7863 in canonical order, and so that frames appear in the list in
7864 the order given by Vframe_list.
7865 (next_window): Reverse the handling of NEXT_P.
7866
53654733
GM
78672000-07-04 Gerd Moellmann <gerd@gnu.org>
7868
87efd256
GM
7869 * window.c (Vwindow_list): New variable.
7870 (make_window, delete_window): Set Vwindow_list to nil.
7871 (check_window_containing): New function.
7872 (window_from_coordinates): Rewritten.
7873 (add_window_to_list, window_list, candidate_window_p)
7874 (decode_next_window_args, next_window): New functions.
52283633 7875 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7876 (Fwindow_list): New function.
7877 (Fother_window): Cleaned up.
7878 (foreach_window): Add a longer "variable argument list". Let
7879 callback function return 0 to indicate that cycling over windows
7880 should stop.
7881 (foreach_window_1): Likewise.
7882 (freeze_window_start): Return int.
7883 (init_window): New function.
7884 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7885
7886 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7887 input_event with bzero.
7888 (main): Call init_window.
7889
53654733
GM
7890 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7891 a menu filter.
7892
4a8c194f
KH
78932000-07-04 Kenichi Handa <handa@etl.go.jp>
7894
7895 * composite.h (make_composition_value_copy): Extern it.
7896
7897 * composite.c (make_composition_value_copy): New function.
7898
7899 * editfns.c (Fformat): While copying text properties, make each
7900 composition property value a copy.
7901
7902 * fns.c (concat): While copying text properties, make each
7903 composition property value a copy.
7904
831a6cb0
GM
79052000-07-03 Gerd Moellmann <gerd@gnu.org>
7906
2f516940
GM
7907 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7908
178c5d9c 7909 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7910 marked already.
7911
831a6cb0
GM
7912 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7913 include those frames as candidates which have their focus
7914 redirected to the minibuffer frame.
7915
d9c4f922
SM
79162000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7917
7918 * fns.c (Fputhash): Return `value' rather than nil.
7919
3780bc22
GM
79202000-06-30 Gerd Moellmann <gerd@gnu.org>
7921
97d176db
GM
7922 * frame.c (next_frame): Don't check focus redirection in case
7923 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7924 unless their focus is redirected, which contradicts the
7925 specification of next-frame, and leads to infinite loops in
7926 certain situations when cycling through windows with next-window.
7927
dca9961d
KH
79282000-06-30 Kenichi Handa <handa@etl.go.jp>
7929
7930 * coding.c (code_convert_region): Even if the length of text is
7931 zero, try to convert it if coding->type is coding_type_ccl.
7932 (decode_coding_string, encode_coding_string): Likewise.
7933
d5483ab1
GM
79342000-06-28 Gerd Moellmann <gerd@gnu.org>
7935
af5c25e1 7936 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7937 the display if windows_or_buffers_changed.
af5c25e1
GM
7938
7939 * dispnew.c (struct row_entry): New structure.
7940 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7941 (row_table_size, old_lines, new_lines, old_lines_size)
7942 (new_lines_size, run_pool, runs_size, runs): New variables.
7943 (add_row_entry): New function.
7944 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7945 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7946 holding them in local variables. Use a larger hash table whose
7947 size depends on glyph matrix sizes. Don't use bzero to clear the
7948 hash table; instead, clear used slots only.
7949
7950 * fns.c (next_almost_prime): Make it externally visible.
7951
7952 * lisp.h (next_almost_prime): Add prototype.
7953
d5483ab1
GM
7954 * s/isc4-0.h (sigunblock): Define.
7955
7956 * s/sco5.h (sigunblock): Define.
7957
93e40f40
DL
79582000-06-27 Dave Love <fx@gnu.org>
7959
7960 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7961 (moved to osf5-0.h).
7962 [!NOT_C_CODE]: Protect string.h stuff.
7963
7964 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7965 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7966
3c4b7685
GM
79672000-06-27 Gerd Moellmann <gerd@gnu.org>
7968
97d176db 7969 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7970 below the last line from the needed window height.
7971
32cad0aa
SM
79722000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7973
7974 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7975 (Fwidget_get): Use it.
7976 (syms_of_fns): Defsubr it.
7977
2c69ced2
GM
79782000-06-26 Gerd Moellmann <gerd@gnu.org>
7979
178c5d9c 7980 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7981 display info for XIM.
7982 (xim_open_dpy): Likewise.
7983 (xim_close_dpy): Don't free the display info's XIM.
7984
7985 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7986
7987 * config.in (USE_XIM): New define.
7988
3fc720e4
GM
7989 * keymap.c (get_keyelt): For menu-items containing a `:filter
7990 FILTER', apply FILTER to the menu-item's definition to get the
7991 real definition to use.
7992
7993 * lisp.h (QCfilter): External declaration.
7994
2c69ced2
GM
7995 * xfns.c (Fimage_size): New function.
7996 (syms_of_xfns): Defsubr it.
7997
f978b2a2
AS
79982000-06-26 Andreas Schwab <schwab@suse.de>
7999
8000 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8001 Fstring_as_unibyte.
8002
94cc7892
DL
80032000-06-25 Dave Love <fx@gnu.org>
8004
52283633 8005 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8006
8007 * Makefile.in (blockinput.h): Depend on atimer.h.
8008 (atimer.h): Depend on systime.h.
8009
52283633 8010 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8011
52283633 8012 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8013
8014 * lisp.h (swap_in_global_binding): Declare.
8015
b8c24556
KR
80162000-06-24 Ken Raeburn <raeburn@gnu.org>
8017
8018 * process.c (Fopen_network_stream): Turn off atimers for duration
8019 of call to connect. (Patch from Gerd.)
8020
8cf8560b
DL
80212000-06-23 Dave Love <fx@gnu.org>
8022
511c7541
DL
8023 * ralloc.c: Maybe include unistd.h
8024
8cf8560b
DL
8025 * emacs.c (setgrp): Undefine before defining.
8026 (malloc_warning, set_time_zone_rule, index): Prototype.
8027
8028 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8029 HAVE_STRUCT_TIMEZONE.
8030
8031 * s/osf1.h: Move string.h hack here from alpha.h and make it
8032 conditional.
8033 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8034 _XOPEN_SOURCE.
8035 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8036 (SOCKLEN_TYPE): Don't define.
8037
8038 * m/alpha.h: Remove string.h hack.
8039
8040 * s/osf5-0.h: New file.
8041
8042 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8043 include time.h, done by systime.h.
8044 [__FreeBSD__]: Remove redundant includes.
8045
3fc720e4 8046 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8047 (delete_temp_file): Return Qnil to avoid warning.
8048
8049 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8050
8051 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8052 HAVE_X_WINDOWS.
8053
8054 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8055
8056 * composite.h (compose_text): Declare.
8057
8058 * xterm.c: Don't include sys/types.h unconditionally. Don't
8059 protect its inclusion with !USG (following xmenu.c).
8060
ea055732
GM
80612000-06-23 Gerd Moellmann <gerd@gnu.org>
8062
8063 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8064 in x_create_frame.
8065
74b01b80
EZ
80662000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8067
8068 * coding.c (decode_eol_post_ccl): Special handling for undecided
8069 and inconsistent EOL types.
8070
64f3a166
GM
80712000-06-22 Gerd Moellmann <gerd@gnu.org>
8072
16cf31f7
GM
8073 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8074 trough color and main window's background color.
8075
52283633 8076 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8077
8078 * xterm.h (Xt_app_con): External declaration.
8079
8080 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8081
486a103d
GM
8082 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8083
64f3a166
GM
8084 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8085 (handle_invisible_prop): Record the start of invisible text in
8086 it->add_overlay_start.
8087 (struct overlay_entry): Add member `overlay'.
8088 (handle_overlay_change): Simplify.
8089 (next_overlay_string): After having processed overlay strings at the
8090 end of the buffer, record that fact in
8091 it->overlay_strings_at_end_processed_p.
8092 (compare_overlay_entries): If before- and after-strings come
8093 from the same overlay, let before-strings come first.
8094 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8095 (load_overlay_strings): Take it->add_overlay_start into account
8096 when adding overlay strings.
8097
8098 * dispextern.h (struct it): Add member add_overlay_start.
8099
bb746ea6
DL
81002000-06-22 Dave Love <fx@gnu.org>
8101
8102 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8103
8104 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8105
a8f573f3
KH
81062000-06-22 Kenichi Handa <handa@etl.go.jp>
8107
8108 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8109 is greater than 0.
8110
9f2bbc92
DL
81112000-06-21 Dave Love <fx@gnu.org>
8112
178c5d9c 8113 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8114
3ee5041c
SM
81152000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8116
8117 * syntax.c (back_comment): Simplify string-parity counting (with
8118 the added benefit of handling multiple string-styles as long as
8119 they are not intertwined).
8120 Jump to the slow code as soon as a comment starter is found in
8121 a "string_lossage" position. Fixes the case: " /* " /* " */.
8122
4c343001
DL
81232000-06-21 Dave Love <fx@gnu.org>
8124
8125 * Makefile.in: Use GETLOADAVG_LIBS.
8126
8127 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8128 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8129
e6365855
SM
81302000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8131
8132 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8133 (Fforward_comment, scan_lists):
8134 Check the comstyle of single-char comment-starters.
8135 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8136 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8137 Check the comstyle of single-char comment-starters.
8138 Clarify control-flow around the Scomment case.
e6365855 8139
5700d2cc
DL
81402000-06-20 Dave Love <fx@gnu.org>
8141
d355bd8a
SM
8142 * fns.c (make_hash_table, maybe_resize_hash_table):
8143 Cast arg of next_almost_prime.
5700d2cc 8144
178c5d9c 8145 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8146
8147 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8148 and unistd.h.
8149
4a27bdfb
GM
81502000-06-20 Gerd Moellmann <gerd@gnu.org>
8151
a61d762c 8152 * keyboard.c (adjust_point_for_property): Check if display
52283633 8153 property should be treated as intangible by looking at its value.
a61d762c 8154
178c5d9c 8155 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8156 (display_prop_intangible_p): New functions.
8157
8158 * dispextern.h (display_prop_intangible_p): Add prototype.
8159
8160 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8161
4a27bdfb
GM
8162 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8163 argument to sigprocmask.
8164
8165 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8166 argument to sigprocmask.
8167
8168 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8169 sigprocmask_set, and pass a pointer to it to sigprocmask.
8170
8171 * sysdep.c (sigprocmask_set): New variable.
8172
8173 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8174 report_file_error.
8175
427ec082
SS
81762000-06-20 Sam Steingold <sds@gnu.org>
8177
8178 * xrdb.c: Don't declare xmalloc, xrealloc.
8179
8972fe79 81802000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8181
8182 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8183 (re_comp): Cast gettext return value to avoid complaints when
8184 !HAVE_LIBINTL.
8185
074b6efe
DL
81862000-06-20 Dave Love <fx@gnu.org>
8187
52283633 8188 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8189
5700d2cc 8190 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8191
d355bd8a 8192 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8193
8194 * m/alpha.h: Don't declare xmalloc, xrealloc.
8195
0af4f205
DL
8196 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8197
8198 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8199
8200 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8201
8202 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8203 HAVE_GETWD.
8204
074b6efe
DL
8205 * keyboard.h (poll_for_input_1): Declare.
8206
8207 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8208
8209 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8210
8211 * doprnt.c: Don't declare xmalloc, xrealloc.
8212
8213 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8214 (getenv, ctime, getwd): Removed.
8215 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8216
8217 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8218 x_set_tool_bar_lines.
8219
8220 * config.in: Add HAVE_GETWD. Move some definitions above
8221 machine/system includes.
8222
68a5e97b
KH
82232000-06-20 Kenichi Handa <handa@etl.go.jp>
8224
95417e1e
KH
8225 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8226
68a5e97b
KH
8227 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8228 contain information about ENCODING.
8229
8230 * fontset.c (FONTSET_ASCII): Use the first element of char table
8231 for an ASCII font, not defalt slot.
8232 (fontset_ref_via_base): If FONTSET doesn't contain information for
8233 C, try the default fontset.
8234 (make_fontset): Don't copy the default fontset.
8235 (fontset_font_pattern): Likewise.
8236 (accumulate_font_info): If ELT is nil, use the corresponding
8237 element in the default fontset.
8238
3b4fa1b2
DL
82392000-06-19 Dave Love <fx@gnu.org>
8240
943e731c
DL
8241 * syntax.c (Fparse_partial_sexp): Doc fix.
8242
8243 * regex.h: Test PROTOTYPES as well as __STDC__.
8244
3b4fa1b2
DL
8245 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8246 errno, strerror. Put text after #endif in comment.
8247
52283633 8248 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8249
8250 * xterm.c (x_frame_of_widget): Likewise.
8251
cdf0357b
GM
82522000-06-19 Gerd Moellmann <gerd@gnu.org>
8253
8254 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8255 to Vfundamental_mode_abbrev_table.
8256
8257 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8258 bogus objects are marked. This slows down GC by ~80 percent, but
8259 it might be worth trying when debugging GC-related problems.
8260 This feature requires conservative stack marking to be enabled.
8261
8262 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8263 returns XLookupChars, reset `modifiers' to zero.
8264
998e9f8c
DL
82652000-06-19 Dave Love <fx@gnu.org>
8266
8267 * mktime.c: Unprotoized.
8268
18e21ce8 82692000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8270
8271 * data.c (set_internal): If variable is frame-local,
8272 store the new value immediately into the frame parameter alist.
8273
140c4ac6
KR
82742000-06-19 Ken Raeburn <raeburn@gnu.org>
8275
14358466
KR
8276 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8277 in the custom handler pointer.
8278
140c4ac6
KR
8279 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8280 value, or checks for CHAR_META can fail when Lisp_Object is a
8281 union type.
8282 * keymap.c (get_keyelt): Likewise.
8283
10d7bf84
KH
82842000-06-19 Kenichi Handa <handa@etl.go.jp>
8285
8286 * ccl.h (struct ccl_program): New member eol_type.
8287 (struct ccl_spec): New member cr_carryover.
8288
8289 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8290 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8291
8292 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8293 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8294 (decode_eol_post_ccl): New function.
8295 (decode_coding): Don't detect EOL format here for CCL based coding
8296 systems.
8297 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8298 decode_eol_post_ccl after running the CCL program.
8299 (code_convert_region): Don't detect EOL format here for CCL based
8300 coding systems.
8301 (decode_coding_string): Likewise.
8302
52e386c2
KR
83032000-06-18 Ken Raeburn <raeburn@gnu.org>
8304
8305 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8306 when treating it as an integer.
8307
8308 * coding.h (encode_coding_string): Declare.
8309
8310 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8311 it as an integer.
8312
8313 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8314 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8315 to be passed to get_local_map.
8316
8317 * sound.c (Fplay_sound): Don't call make_number on
8318 Frun_hook_with_args count argument.
8319
8320 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8321 for lisp objects in X event structure data field, when lisp
8322 objects are represented with unions.
8323 (x_scroll_bar_to_input_event): Ditto.
8324
b357b9d4
KR
83252000-06-16 Ken Raeburn <raeburn@gnu.org>
8326
8327 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8328 termination of string. Fix sense of test whether
8329 Vline_number_display_limit is an integer.
b357b9d4 8330
a871441d
GM
83312000-06-16 Gerd Moellmann <gerd@gnu.org>
8332
a9021acd
GM
8333 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8334 only if HAVE_X_WINDOWS.
8335
6344985d
GM
8336 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8337 of titles.
8338
427ec082 8339 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8340 out of bounds.
8341
228b083e
EZ
83422000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8343
8344 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8345 of its headers.
8346
c25b53a2
KH
83472000-06-15 Kenichi Handa <handa@etl.go.jp>
8348
8349 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8350 start of the while loop.
8351
a6981b11
GM
83522000-06-15 Gerd Moellmann <gerd@gnu.org>
8353
e9924e52
GM
8354 * atimer.c (alarm_signal_handler): Add forward declaration.
8355
a6981b11
GM
8356 * data.c (set_internal): Remove debug code.
8357
25fa6deb
GM
83582000-06-14 Gerd Moellmann <gerd@gnu.org>
8359
dce6b995
GM
8360 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8361
9f817ea4
GM
8362 * unexec.c (toplevel) [COFF]: Include coff.h.
8363
8364 * s/lynxos.h: New file.
8365
8366 * keymap.c (Fsingle_key_description): Enclose function key and
8367 event symbol names in angle brackets.
8368
8a4e3c0c
GM
8369 * xdisp.c (setup_echo_area_for_printing): Call
8370 message_log_maybe_newline if message_buf_print is not set.
8371
8372 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8373 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8374 function does something useful even when message_buf_print is
8375 already set.
8376
52283633
SM
8377 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8378 New variables.
25fa6deb
GM
8379 (ensure_echo_area_buffers): Initialize echo buffer's
8380 truncate lines setting to nil.
8381 (with_echo_area_buffer): Don't set the echo buffer's truncate
8382 lines setting here.
8a4e3c0c 8383 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8384 of message_truncate_lines.
8385 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8386 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8387 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8388
8389 * keyboard.c (read_char): Bind message-truncate-lines to t
8390 while displaying a help-echo.
8391
8392 * lisp.h (Qmessage_truncate_lines): External declaration.
8393
163dcff3
GM
83942000-06-13 Gerd Moellmann <gerd@gnu.org>
8395
1681ead6
GM
8396 * xdisp.c (Vline_number_display_limit): Renamed from
8397 line_number_display_limit.
8398 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8399 Extend documentation string. Initialize
8400 Vline_number_display_limit to nil meaning no limit.
8401 (decode_mode_spec): Use Vline_number_display_limit with its new
8402 meaning.
8403
163dcff3
GM
8404 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8405
18e21ce8 84062000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8407
8408 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8409
163dcff3
GM
8410 * xfns.c (x_set_frame_parameters): Comment fix.
8411
8412 * frame.c (store_frame_param): Call swap_in_global_binding if the
8413 variable's current binding was chosen based on this frame.
8414
8415 * data.c (swap_in_global_binding): New function.
8416
a704139d
EZ
84172000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8418
8419 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8420 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8421
9b6610db
EZ
84222000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8423
8424 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8425
c68833d2
JR
84262000-06-12 Jason Rumney <jasonr@gnu.org>
8427
8428 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8429
8430 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8431
8432 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8433
8434 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8435
ed1056b3
GM
84362000-06-12 Gerd Moellmann <gerd@gnu.org>
8437
8438 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8439 (syms_of_xfaces): Defsubr Sdump_colors.
8440 (x_free_colors): Don't treat b&w specially on default visual.
8441 (x_free_dpy_colors): New function.
8442 (free_face_colors): Don't check visual class; it's done
8443 in x_free_colors.
8444
8445 * xterm.c (x_frame_of_widget): New function.
8446 (x_alloc_nearest_color_for_widget): Use it.
8447 (x_copy_dpy_color): New function.
8448 (x_destroy_window): Free various colors.
8449
5050a2ef
KH
84502000-06-12 Kenichi Handa <handa@etl.go.jp>
8451
8452 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8453
8454 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8455
8456 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8457
8458 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8459
8460 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8461
fb1b041d
DL
84622000-06-11 Dave Love <fx@gnu.org>
8463
8464 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8465
ff96b5f4
EZ
84662000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8467
8468 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8469
db8eeecd
GM
84702000-06-11 Gerd Moellmann <gerd@gnu.org>
8471
ed1056b3 8472 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8473 to `XEvent *'.
8474
49b71c5f
KH
84752000-06-10 Kenichi Handa <handa@etl.go.jp>
8476
c479bd55
KH
8477 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8478 (regex_compile): Fix the code for handling the case of single byte
8479 char and multibyte char being mixed in a range within [...].
8480
ff6a65c2
KH
8481 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8482 and dst_multibyte members of coding.
8483
49b71c5f
KH
8484 * charset.c (update_charset_table): Update the table
8485 bytes_by_char_head.
8486 (init_charset_once): Initialize elements of bytes_by_char_head to
8487 1 except for leading codes for private charases.
8488
8489 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8490 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8491
9e80b57d
KR
84922000-06-09 Ken Raeburn <raeburn@gnu.org>
8493
8494 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8495 access the data it doesn't point to.
8496
f83fe4b4
GM
84972000-06-08 Gerd Moellmann <gerd@gnu.org>
8498
8499 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8500 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8501 event queue. This is necessary because Emacs otherwise won't
8502 perform a switch-frame to a new frame until some other event, for
8503 example a keystroke event, forces it to do so. This has various
8504 effects, one visible being that the cursor of a frame created with
8505 C-x 5 2 or switched to with a window manager key binding like
8506 A-TAB stays hollow because selected_window isn't on the newly
8507 focused frame until the switch-frame is performed.
8508
8509 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8510 generating a switch-frame event if necessary.
8511
8512 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8513
8514 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8515 it's an integer.
8516
0890801b
KH
85172000-06-08 Kenichi Handa <handa@etl.go.jp>
8518
52283633 8519 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8520
173cbca8
GM
85212000-06-07 Gerd Moellmann <gerd@gnu.org>
8522
3091c2a6
GM
8523 * window.c (displayed_window_lines): Take empty lines at
8524 the bottom of a window into account.
427ec082 8525
f38952fe
GM
8526 * window.c (displayed_window_lines): New function.
8527 (Fmove_to_window_line): Use displayed_window_lines to determine
8528 the number of lines to move, instead of using the window's height.
8529
8530 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8531 to stop reading, even if the form read sets point to a different
8532 value when evaluated.
8533
427ec082 8534 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8535 put the cursor.
8536
6ba6c818
KH
85372000-06-07 Kenichi Handa <handa@etl.go.jp>
8538
8539 * fileio.c (e_write): Free composition data if stored in
8540 coding->cmp_data.
8541
5f1aea9a
GM
85422000-06-06 Gerd Moellmann <gerd@gnu.org>
8543
666852af
GM
8544 * xdisp.c (display_line): Set row's and iterator's
8545 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8546 Set cursor even if row ends in the middle of a character.
8547 (dump_glyph_row): Print values of new flags.
8548 (redisplay_window) <cursor movement in unchanged window>: When
8549 point has been moved forward, and PT is at the end of the cursor
8550 row, don't place the cursor in the next row if the cursor row ends
8551 in the middle of a character or at ZV.
8552
8553 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8554 (struct glyph_row): Add starts_in_middle_of_char_p and
8555 ends_in_middle_of_char_p.
8556 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8557 ends_in_middle_of_char_p flag.
8558 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8559
d13f3e2e
GM
8560 * term.c (append_glyph): Revert change of 2000-06-06.
8561
8562 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8563 padding glyph not fitting on line as whole character not
8564 fitting on line.
8565
5f1aea9a
GM
8566 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8567 this isn't true for images with `:ascent 100'.
8568
10cda9b0
KH
85692000-06-06 Kenichi Handa <handa@etl.go.jp>
8570
ed00559d
KH
8571 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8572 as modified if it is originally unmodified.
8573
10cda9b0
KH
8574 * term.c (encode_terminal_code): Change the way to check if
8575 terminal coding does any conversion.
8576 (append_glyph): Set glyph->pixel_width correctly.
8577
8578 * xdisp.c (display_line): While checking line continuation, pay
8579 attention to a padding glyph.
8580
1969fae2
GM
85812000-06-05 Gerd Moellmann <gerd@gnu.org>
8582
8583 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8584
162ccef4
DL
85852000-06-05 Dave Love <fx@gnu.org>
8586
f19f32dd
DL
8587 * xdisp.c: Include fontset.h.
8588
8589 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8590
8591 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8592
8593 * dispnew.c: Conditionally include term.h.
8594
8595 * coding.h: Declare code_convert_string_norecord.
8596
8597 * frame.h (struct frame): Use volatile unconditionally.
8598
8599 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8600
8601 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8602
8603 * systime.h: Protect against multiple inclusion.
8604 (timezone) [USG5_4]: Define as time_t.
8605
8606 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8607 (Foptimize_char_table, make_temp_name): Declare.
8608
8609 * Makefile.in (xdisp.o): Depend on fontset.h.
8610
8611 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8612
8613 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8614 (Foptimize_char_table, make_temp_name): Declare.
8615
427ec082 8616 * s/irix4-0.h:
162ccef4
DL
8617 * s/irix5-0.h:
8618 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8619
2082fe81
DL
86202000-06-02 Dave Love <fx@gnu.org>
8621
8622 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8623
dcf671d2
GM
86242000-06-02 Gerd Moellmann <gerd@gnu.org>
8625
8626 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8627 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8628 be freed.
8629
8630 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8631 glyph, use the ASCII NUL character to determine the face.
8632
d42122a3
DL
86332000-06-02 Dave Love <fx@gnu.org>
8634
8635 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8636 (VFORK_RETURN_TYPE): Remove.
427ec082 8637
d42122a3
DL
8638 * config.in: Add NO_MATHERR.
8639
dd432f16
DL
86402000-06-01 Dave Love <fx@gnu.org>
8641
90aa4ea8
DL
8642 * cmds.c (internal_self_insert): Don't check
8643 Vbefore_change_function, Vafter_change_function.
8644
8645 * insdel.c (signal_before_change, signal_after_change): Likewise.
8646
8647 * buffer.c (Vbefore_change_function, Vafter_change_function):
8648 Variables and their initializations deleted.
8649
2330c9d4
DL
8650 * callint.c (Fcall_interactively): Doc fix.
8651
dd432f16
DL
8652 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8653
bf9e8804
DL
86542000-05-31 Dave Love <fx@gnu.org>
8655
8656 * textprop.c: Revert last change -- duplicated.
8657
3694b4ab
GM
86582000-05-31 Gerd Moellmann <gerd@gnu.org>
8659
8660 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8661 in #if 0.
8662
8663 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8664
f14156cd
JR
86652000-05-31 Jason Rumney <jasonr@gnu.org>
8666
8119aab8
JR
8667 * search.c (Fre_search_forward, Fre_search_backward)
8668 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8669
f14156cd
JR
8670 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8671
4aab9be3
JR
86722000-05-30 Jason Rumney <jasonr@gnu.org>
8673
8674 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8675 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8676
52283633 8677 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8678
8679 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8680 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8681 expand a nil default_filename.
8682
8683 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8684 pointer to glyph_to_pixel_coords, not a frame.
8685
8686 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8687 coding.h to dependencies.
8688
8689 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8690
8691 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8692 window pointer to be consistent with w32term.c and xterm.c.
8693
8694 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8695 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8696 (Qline_spacing, Qcenter): New variables.
8697 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8698 (x_set_line_spacing): New function.
52283633 8699 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8700 (x_specified_cursor_type): New function.
8701 (x_set_cursor_type): Use it.
8702 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8703 and icon strings.
8704 (validate_x_resource_name, x_get_resource_string): Measure lengths
8705 of external strings in bytes.
8706 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8707 GetTextExtentPoint32 with NULL title.
8708 (Fx_create_frame): Initialize Qline_spacing.
8709 (w32_load_system_font): Initialize font->double_byte_p.
8710 (x_to_w32_charset): Use Vw32_charset_info_alist.
8711 (Image, busy cursor, tooltip functions): Merged changes from
8712 xfns.c. Not yet functional on Windows.
8713
8714 * w32gui.h (W32FontStruct): Add double_byte_p member.
8715
8716 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8717 (emacs_button_translation): Use it.
8718 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8719 in `mask' to be set.
8720
8721 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8722 menu strings.
8723
8724 * w32term.c: Format and doc changes to bring closer to xterm.c.
8725 (w32_char_font_type): New enum.
8726 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8727 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8728 (w32_encode_char): New function.
8729 (x_encode_char): Removed.
8730 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8731 x_encode_char and w32_font_is_double_byte.
8732 (x_produce_image_glyph): Use image_ascent.
8733 (x_produce_glyphs): Use new version of w32_per_char_metric and
8734 handle NULL return value. Allow extra line spacing.
8735 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8736 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8737 w32_font_type member of glyph instead.
8738 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8739 (fast_find_position): Make sure not to consider rows not visible
8740 in the window.
8741 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8742 w32_menu_display_help with input blocked, as it can abort.
8743 (x_display_and_set_cursor): Choose cursor depending
8744 on buffer-local value of cursor_type.
8745 (x_draw_bar_cursor): Add parameter WIDTH.
8746
8747 * w32term.h (CP_DEFAULT): Define.
8748 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8749
10fc3187
GM
87502000-05-30 Gerd Moellmann <gerd@gnu.org>
8751
8752 * search.c (Fre_search_forward, Fre_search_backward)
8753 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8754
d0555360
KH
87552000-05-30 Kenichi Handa <handa@etl.go.jp>
8756
8757 * coding.c (detect_coding_iso2022): Fix code for checking
8758 CODING_CATEGORY_MASK_ISO_8_2.
8759
f1ad044f
SM
87602000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8761
8762 * regex.c (PREFETCH_NOLIMIT): New function.
8763 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8764
84ec3b4b
GM
87652000-05-29 Gerd Moellmann <gerd@gnu.org>
8766
66254a13
GM
8767 * syntax.c (find_defun_start): Move test for
8768 open_paren_in_column_0_is_defun_start outside of the loop.
8769
49e70dec
GM
8770 * xdisp.c (redisplay_window): Really switch buffers when
8771 displaying mode lines, and temporarily set selected_frame to the
8772 frame of the window that's redisplayed.
8773
84ec3b4b
GM
8774 * xfaces.c (free_realized_faces): Block/unblock input.
8775 (free_realized_multibyte_face): Ditto.
8776
869a3a14
DL
87772000-05-29 Dave Love <fx@gnu.org>
8778
8779 * textprop.c (Qkeymap): New variable.
8780 (syms_of_textprop): Intern it.
8781
8782 * keymap.c: Include intervals.h.
8783 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8784
8785 * Makefile.in (keymap.o): Depend on intervals.h.
8786
8787 * keyboard.c (menu_bar_items, tool_bar_items)
8788 (Fexecute_extended_command): Deal with `keymap' property.
8789 (read_key_sequence): Track map from `keymap' property as well as
8790 `local_map'.
8791
8792 * intervals.c (get_local_map): Extra arg to allow looking for
8793 `keymap' too.
8794
8795 * intervals.h (map_property): New enum.
8796 (get_local_map): Extra arg using it.
8797 (Qkeymap): Declare.
8798
84ec3b4b 8799 * lisp.h (get_local_map): Don't declare here.
869a3a14 8800
89d0c844
KH
88012000-05-29 Kenichi Handa <handa@etl.go.jp>
8802
8803 * Makefile.in (callproc.o): Depend on composite.h.
8804
8805 * callproc.c: Include composite.h.
8806 (Fcall_process): Handle composition correctly.
8807
8808 * coding.h (coding_allocate_composition_data): Extern it.
8809 (coding_restore_composition): Likewise.
8810
8811 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8812 yet allocated, finish decoding with result
8813 CODING_FINISH_INSUFFICIENT_CMP.
8814 (coding_allocate_composition_data): Make it non-static.
8815 (coding_restore_composition): Likewise.
8816
797a084a
EZ
88172000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8818
8819 * charset.c (syms_of_charset): Revert last change.
8820
cf872af5
EZ
88212000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8822
8823 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8824 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8825 Handa.
cf872af5 8826
5b1ae051
EZ
88272000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8828
8829 * charset.c (syms_of_charset): Set width of character sets
8830 eight-bit-control and eight-bit-graphic to 1 column.
8831
34ec9ebe
GM
88322000-05-26 Gerd Moellmann <gerd@gnu.org>
8833
8834 * config.in (HAVE_SPEED_T): New define.
8835
8836 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8837 `extern speed_t'.
8838
dd854dc2
DL
88392000-05-26 Dave Love <fx@gnu.org>
8840
8841 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8842
8843 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8844 (Fsubr_arity): New function.
8845 (syms_of_data): Install them.
8846
ba9f8f95
KH
88472000-05-26 Kenichi Handa <handa@etl.go.jp>
8848
0f3e0672
KH
8849 * charset.c (init_charset_once): Set the table bytes_by_char_head
8850 correctly.
8851
cebefb44
KH
8852 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8853 the default fontset to what Emacs uses by default.
0f3e0672
KH
8854 (check_registry_encoding): This function deleted.
8855 (Fset_fontset_font): Remove the adhoc condition for the default
8856 fontset. Allow cons in FONTNAME.
cebefb44 8857
0f3e0672
KH
8858 * fns.c (map_char_table): Ignore char-table entries for
8859 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8860
7a18af49
KR
88612000-05-25 Ken Raeburn <raeburn@gnu.org>
8862
8863 * emacs.c (main): Initialize keyboard syms before initializing
8864 window code, so face names are available.
8865
d2af47df
SM
88662000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8867
8868 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8869 of an anchor at the beginning of a shy-group.
8870
fc6a6a4e
GM
88712000-05-25 Gerd Moellmann <gerd@gnu.org>
8872
8873 * xdisp.c (handle_invisible_prop): Don't try to skip over
8874 invisible text if end of text is already reached.
8875
005f0d35
DL
88762000-05-25 Dave Love <fx@gnu.org>
8877
02513cdd
DL
8878 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8879
005f0d35
DL
8880 * coding.c (encode_eol): Add null statement after label.
8881
89f6ca4e
EZ
88822000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8883
8884 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8885 2000-05-20.
8886
a4e1759e
KH
88872000-05-25 Kenichi Handa <handa@etl.go.jp>
8888
8889 * ccl.c (ccl_driver): Fix previous change.
8890
eacfd7fe
KH
88912000-05-25 Kenichi Handa <handa@etl.go.jp>
8892
46ab33a9
KH
8893 * coding.c (run_pre_post_conversion_on_str): Set point to the
8894 beginning of buffer before calling coding->post_read_conversion.
8895 (decode_coding_string): Give correct args to
8896 run_pre_post_conversion_on_str.
8897 (encode_coding_string): Likewise.
8898
eacfd7fe
KH
8899 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8900 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8901 eight-bit-graphic correctly.
8902
f8569325
DL
89032000-05-24 Kenichi HANDA <handa@etl.go.jp>
8904
8905 * fileio.c (Finsert_file_contents): Even if a file is not found,
8906 execute codes for setting up coding system. Call
8907 after-insert-file-functions unconditionally.
8908
04545643
GM
89092000-05-24 Gerd Moellmann <gerd@gnu.org>
8910
8911 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8912 BSD_PGRPS are not defined.
8913
747d90ea
KH
89142000-05-24 Kenichi Handa <handa@etl.go.jp>
8915
8916 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8917 DESCRIPTION.
8918 (syms_of_charset): Avoid building same strings.
8919
716e3b88
GM
89202000-05-23 Gerd Moellmann <gerd@gnu.org>
8921
8922 * lread.c (Fload): Add a comment about the meaning of
8923 Vuser_init_file being t.
8924
8925 * puresize.h (BASE_PURESIZE): Increase to 675000.
8926
8927 * s/gnu-linux.h (setpgrp): Don't define it here because this
8928 prevents compilation on GNU/Linux systems with glib 2.2.
8929
8930 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8931 as setpgid.
427ec082 8932
9aeb39fa
EZ
89332000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8934
8935 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8936 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8937 version.
8938 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8939
29ced61b
KH
89402000-05-23 Kenichi Handa <handa@etl.go.jp>
8941
52283633 8942 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8943
3d80f24d
KH
8944 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8945
52283633 8946 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8947
29ced61b
KH
8948 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8949
d7e00792
KH
89502000-05-22 Kenichi Handa <handa@etl.go.jp>
8951
c9d80d38
KH
8952 * keyboard.c (read_char): Allow character codes 128..255 to be
8953 handled by input-method-function.
8954
d7e00792
KH
8955 * insdel.c (adjust_markers_for_replace): Fix previous change.
8956 (adjust_after_replace): If PREV_TEXT is nil, call
8957 adjust_markers_for_insert, not adjust_markers_for_replace.
8958
087121cc 89592000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8960
087121cc
GM
8961 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8962 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8963 [HAVE_GRANDPT]: Define.
8964 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8965
8966 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8967 like SYSV_PTYS.
8968
8969 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8970
8971 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8972
c9671f81
KH
89732000-05-20 Kenichi Handa <handa@etl.go.jp>
8974
8975 The following changes are to handle 8-bit characters in a
8976 multibyte buffer/string without facing with byte combining
8977 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8978 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8979
8980 * Makefile.in (fns.o): Depend on charset.h.
8981
8982 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8983 convert it to unibyte.
8984 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8985
8986 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8987 apparent char boundary.
8988 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8989 0x80..0x9F to/from multibyte form.
8990
8991 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8992 to unibyte.
8993
8994 * callproc.c (Fcall_process): Always encode an argument string if
8995 it is multibyte. Setup src_multibyte and dst_multibyte members of
8996 process_coding properly.
ce75fd23 8997
c9671f81
KH
8998 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8999 SPLIT_NON_ASCII_CHAR.
9000
9001 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9002 as is.
9003 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9004
52283633 9005 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9006 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9007 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9008 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9009 and eight-bit-graphic.
9010 (char_to_string): Likewise. Signal an error for too large
9011 character code.
9012 (char_printable_p): Return 0 for 8-bit characters.
9013 (update_charset_table): Update iso_charset_table only when a final
9014 character is non-negative.
9015 (find_charset_in_text): Renamed from find_charset_in_str.
9016 Arguments and return value changed. Callers changed.
9017 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9018 be -1 if CHARSET is used only internally.
9019 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9020 eight-bit-graphic.
9021 (Fcharset_after): Simplified.
9022 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9023 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9024 (multibyte_chars_in_text): Simplified by assuming there's no
9025 invalid multibyte sequence.
52283633
SM
9026 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9027 (str_as_unibyte): New functions.
9028 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9029 (init_charset_once): Initialization for
9030 LEADING_CODE_8_BIT_CONTROL.
9031 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9032 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9033 eight-bit-control and eight-bit-graphic.
9034
52283633
SM
9035 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9036 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9037 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9038 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9039 (CHARSET_REVERSE_CHARSET): Likewise.
9040 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9041 eight-bit-graphic.
9042 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9043 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9044 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9045 encounter an invalid multibyte sequence.
9046 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9047 sequence is always valid.
9048 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9049 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9050 (CHAR_STRING): For 8-bit characters, call char_to_string.
9051 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9052 multibyte sequence is always valid.
9053 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9054 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9055 (str_as_unibyte): Extern them.
c9671f81 9056 (BCOPY_SHORT): Fix a bug.
52283633 9057 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9058 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9059 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9060 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9061
bd4bde7f 9062 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9063 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9064 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9065 (EMIT_BYTES): New macros.
9066 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9067 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9068 macros deleted.
9069 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9070 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9071 check the validity of multibyte sequence.
9072 (decode_coding_emacs_mule): New function.
9073 (encode_coding_emacs_mule): New macro.
9074 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9075 the source.
9076 (DECODE_ISO_CHARACTER): Just return a character code.
9077 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9078 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9079 EMIT_CHAR to produced decoded characters. Exit the loop only by
9080 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9081 block here.
9082 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9083 only position codes for an invalid character.
9084 (encode_designation_at_bol): Return new destination pointer. 5th
9085 arg DSTP is changed to DST.
9086 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9087 from the source by ONE_MORE_CHAR. Don't handle the case of last
9088 block here.
9089 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9090 macros deleted.
52283633
SM
9091 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9092 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9093 TWO_MORE_BYTES to fetch a byte from the source.
9094 (encode_eol): Pay attention to coding->src_multibyte.
9095 (detect_coding, detect_eol): Preserve members src_multibyte and
9096 dst_multibyte.
9097 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9098 (encoding_buffer_size): Set magnification to 3 for all coding
9099 systems that require encoding.
9100 (ccl_coding_driver): For decoding, be sure that the result is
9101 valid multibyte sequence.
9102 (decode_coding): Initialize coding->errors and coding->result.
9103 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9104 and raw-text, always call decode_eol. Handle the case of last
9105 block here. If not coding->dst_multibyte, convert the resulting
9106 sequence to unibyte.
9107 (encode_coding): Initialize coding->errors and coding->result.
9108 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9109 and raw-text, always call encode_eol. Handle the case of last
9110 block here.
9111 (shrink_decoding_region, shrink_encoding_region): Detect cases
9112 that we can't skip data more rigidly.
9113 (code_convert_region): Setup src_multibyte and dst_multibyte
9114 members of coding. For decoding, if the buffer is multibyte,
9115 convert the source sequence to unibyte in advance. For encoding,
9116 if the buffer is multibyte, convert the resulting sequence to
9117 multibyte afterward.
9118 (run_pre_post_conversion_on_str): New function.
9119 (code_convert_string): Deleted and divided into the following two.
9120 (decode_coding_string, encode_coding_string): New functions.
9121 (code_convert_string1, code_convert_string_norecord): Call one of
9122 above.
9123 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9124 MAKE_NON_ASCII_CHAR.
52283633
SM
9125 (Fset_terminal_coding_system_internal)
9126 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9127 and dst_multibyte members.
9128 (init_coding_once): Initialize iso_code_class with new enum
9129 ISO_control_0 and ISO_control_1.
9130
9131 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9132 devided into ISO_control_0 and ISO_control_1.
9133 (struct coding_system): New members src_multibyte, dst_multibyte,
9134 errors, and result. Delete member fake_multibyte.
9135 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9136 nonzero.
9137 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9138 nonzero.
9139
9140 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9141 (Faset): Likewise.
9142
9143 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9144 multibyte form.
9145 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9146 combining occurs.
9147 (Ftranspose_region): Delete codes for handling byte combining.
9148
9149 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9150 dst_multibyte members of coding. On handling REPLACE on unibyte
9151 buffer, convert the result of decode_coding to unibyte. On
9152 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9153 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9154 multibyteness of the source (buffer or string).
9155
9156 * fns.c (concat): Handle 8-bit characters correctly.
9157 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9158 unibyte in the result.
9159 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9160 valid multibyte form in the result.
9161 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9162 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9163 return -1, signal an error.
9164 (base64_encode_1): New arg MULTIBYTE. Get each character by
9165 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9166 character is found, return -1.
9167 (Fbase64_decode_region): Delete codes for handling byte-combining.
9168 Treat each decoded byte as a unibyte character.
9169 (Fbase64_decode_string): Return unibyte string.
9170 (Fcompare_strings, concat, string_byte_to_char): Use
9171 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9172 FETCH_STRING_CHAR_ADVANCE.
9173 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9174 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9175
9176 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9177 SPLIT_NON_ASCII_CHAR.
9178 (fontset_ref_via_base, fontset_set): Likewise
9179
9180 * insdel.c (adjust_markers_for_record_delete): Deleted.
9181 (adjust_markers_for_insert): Argument changed. Caller changed.
9182 (adjust_markers_for_replace): Likewise.
52283633
SM
9183 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9184 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9185 (copy_text): Delete unused local varialbe c_save. For converting
9186 to multibyte, be sure to make all 8-bit characters in valid
9187 multibyte form.
9188 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9189 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9190 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9191 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9192 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9193 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9194 handling byte combining.
9195 (adjust_before_replace): Deleted.
427ec082 9196
c9671f81
KH
9197 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9198 SPLIT_NON_ASCII_CHAR.
9199 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9200 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9201 (Fkey_description): Likewise.
9202
9203 * lread.c (read1): On reading multibyte string, be sure to make
9204 all 8-bit chararacters in valid multibyte form.
9205 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9206
9207 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9208 unconditionally.
9209
9210 * process.c (Fstart_process): GCPRO current_dir before calling
9211 Ffind_operation_coding_system. Encode arguments here.
9212 (create_process): Don't encode arguments here. Setup
9213 src_multibyte and dst_multibyte members of struct coding.
9214 (read_process_output): Setup src_multibyte and dst_multibyte
9215 members of struct coding. If the output is to multibyte buffer,
9216 always decode the output of the process. Adjust the
52283633 9217 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9218 (send_process): Setup coding->src_multibyte according to the
9219 multibyteness of the source.
9220
52283633 9221 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9222 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9223 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9224
52283633 9225 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9226
9227 * w16select.c (Fw16_set_clipboard_data): Setup members
9228 src_multibyte and dst_multibyte of coding. Adjusted for the
9229 change for find_charset_in_str.
9230 (Fw16_get_clipboard_data): Likewise.
9231
9232 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9233 dst_multibyte of coding.
9234 (x_to_w32_font): Likewise.
9235
9236 * w32select.c (Fw32_set_clipboard_data): Setup members
9237 src_multibyte and dst_multibyte of coding. Adjusted for the
9238 change for find_charset_in_str.
9239 (Fw32_get_clipboard_data): Likewise.
9240
9241 * xdisp.c (get_next_display_element): Handle 8-bit characters
9242 correctly.
52283633
SM
9243 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9244 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9245
9246 * xselect.c (selection_data_to_lisp_data): Setup members
9247 src_multibyte and dst_multibyte of coding. Adjusted for the
9248 change for find_charset_in_str.
9249 (lisp_data_to_selection_data): Likewise.
9250
5f64c9e0
GM
92512000-05-19 Gerd Moellmann <gerd@gnu.org>
9252
52283633 9253 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9254
5f64c9e0
GM
9255 * dispextern.h (Vimage_types): Add extern declaration.
9256
9257 * xdisp.c (Vimage_types): Moved here from xfns.c.
9258 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9259
9260 * xfns.c (Vimages_types): Moved to xdisp.c.
9261 (syms_of_xfns): Move `image-types' to xdisp.c.
9262
9263 * w32fns.c (Vimage_types): Removed.
9264 (syms_of_w32fns): Remove `image-types'.
9265
813086ea
KH
92662000-05-18 Kenichi Handa <handa@etl.go.jp>
9267
9268 * fns.c (map_char_table): Pay attention to character number of
9269 charset. Check the validity of charset at the first level. For
9270 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9271 the default value.
9272
9273 * fontset.c: Include "buffer.h".
9274 (fs_load_font): If the face has fontset, record the face ID in
9275 that fontset.
9276 (Finternal_char_font): New function.
9277 (accumulate_font_info): New function.
9278 (Ffontset_info): Rewritten for the new fontset implementation.
9279 (syms_of_fontset): Register Vdefault_fontset in the first element
9280 of Vfontset_table. Include Vdefault_fontset in
9281 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9282 function.
9283
bdaebbf0
DL
92842000-05-16 Dave Love <fx@gnu.org>
9285
9286 * m/iris5d.h: Deleted -- unused.
9287
cb613bb8
GM
92882000-05-16 Gerd Moellmann <gerd@gnu.org>
9289
b15f3b77
GM
9290 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9291 `invalid' instead of `illegal'.
9292
9293 * indent.c (Fmove_to_column): When ending within a tab, insert
9294 spaces first so that markers at the end of the tab get adjusted.
9295
835c1b36
GM
9296 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9297 buffer list that wasn't selected in that frame.
9298
cb613bb8
GM
9299 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9300 is needed on mescaline, use a 2 char prefix, and call
9301 make_temp_name with second arg non-zero.
9302
9303 * fileio.c (make_temp_name): New function, extracted from
9304 Fmake_temp_name.
9305 (Fmake_temp_name): Use it.
9306
f685bea9
EZ
93072000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9308
52283633 9309 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9310
a1b8d58b
GM
93112000-05-15 Gerd Moellmann <gerd@gnu.org>
9312
9313 * Makefile.in (lisp): Add env.elc.
9314
9315 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9316
a265079f
GM
93172000-05-12 Gerd Moellmann <gerd@gnu.org>
9318
9319 * search.c (Freplace_match): Handle case of `\N' in the
9320 replacement when there's no group N.
9321
da4496b6
GM
93222000-05-11 Gerd Moellmann <gerd@gnu.org>
9323
0ace421a
GM
9324 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9325 of the message to message_dolog.
9326
1172eb8d
GM
9327 * keyboard.c (read_char): Don't clear current message for help
9328 events; let the code handling help events handle this. Change
9329 code detecting help events that should be ignored.
9330
da4496b6
GM
9331 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9332 we're interating over a string.
9333
0623e40f
DL
93342000-05-09 Dave Love <fx@gnu.org>
9335
9336 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9337 that offset before writing. Move gcpro region past call of
9338 Ffile_regular_p.
9339
bae2503b
DL
93402000-05-04 Dave Love <fx@gnu.org>
9341
9342 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9343
ec82fb2f
GM
93442000-05-04 Gerd Moellmann <gerd@gnu.org>
9345
9346 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9347 of inserted characters when BUF equals the current buffer, and PT
9348 is in front of or equal to FROM.
9349
cbf18892
GM
93502000-05-03 Gerd Moellmann <gerd@gnu.org>
9351
4ff40dd0
GM
9352 * xdisp.c (handle_single_display_prop): If display property value
9353 is invalid, or something not supported on the frame, restore
9354 iterator's position to what it was initially. Make sure to return
9355 0 for invalid and unsupported property values.
9356
cbf18892
GM
9357 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9358 that x_per_char_metric returns null.
9359
1b0672c3
GM
93602000-05-02 Gerd Moellmann <gerd@gnu.org>
9361
576da55d
GM
9362 * xterm.h (struct face): Add forward declaration.
9363 (struct image): Ditto.
9364 (image_ascent): Add prototype.
9365
9366 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9367 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9368 image_ascent instead of using IMAGE_ASCENT.
9369
9370 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9371 (IMAGE_ASCENT): Removed.
9372
9373 * xfns.c (Qcenter): New variable.
9374 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9375 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9376 (image_ascent): New function.
9377 (lookup_image): Recognize `:ascent center'.
9378 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9379 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9380 (xbm_load): Don't set image's ascent here.
9381 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9382 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9383 check ascent values here.
9384 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9385 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9386 (syms_of_xfns): Initialize Qcenter.
9387
1b0672c3
GM
9388 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9389 to the limits, increase the limits.
9390
0d7811ed
KH
93912000-05-01 Kenichi Handa <handa@etl.go.jp>
9392
9393 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9394 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9395
a943a5ca
GM
93962000-04-28 Gerd Moellmann <gerd@gnu.org>
9397
9398 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9399 taller than the window.
9400
5dba1e29
KH
94012000-04-28 Kenichi Handa <handa@etl.go.jp>
9402
9403 * xfaces.c (realize_x_face): Fix the argument of the second
9404 xassert. BASE_FACE may not be a face for ASCII.
9405
353964e3
GM
94062000-04-27 Gerd Moellmann <gerd@gnu.org>
9407
c76e04a8
GM
9408 * print.c (print_object): Treat print-length < 0 as nil.
9409
9410 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9411
9412 * s/freebsd.h (TERMCAP_OBJ): Removed.
9413 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9414
9415 * lread.c (read1): Don't treat period followed by certain
9416 characters as symbol start.
9417
9418 * xfns.c (slurp_file): New function.
9419 (xbm_image_p): Handle case of in-memory XBM files.
9420 (xbm_scan): Rewritten to work on memory buffers instead of files.
9421 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9422 Work on memory buffers instead of files. If DATA is null test
9423 if buffer looks like an in-memory XBM file.
9424 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9425 memory buffers instead of files.
9426 (xbm_file_p): New function.
9427 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9428
353964e3
GM
9429 * lread.c (end_of_file_error): New function.
9430 (read1): Call it instead of signaling `end-of-file' directly.
9431
427ec082 9432 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9433 with Fprinc instead of Fprin1.
9434
24d744ac
KR
94352000-04-26 Ken Raeburn <raeburn@gnu.org>
9436
9437 * window.c (freeze_window_start): Check that minibuffer scroll
9438 window isn't nil before extracting the window structure pointer
9439 from it.
9440
9441 * undo.c (record_delete): If we hit the end of the undo list, stop
9442 picking elements apart.
9443
7464346d
GM
94442000-04-26 Gerd Moellmann <gerd@gnu.org>
9445
9446 * xdisp.c (display_line): If lines are continued, restore
9447 iterator's ascent/descent information to the values before the
9448 first glyph not fitting on the line.
9449
612839b6
GM
94502000-04-25 Gerd Moellmann <gerd@gnu.org>
9451
9452 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9453 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9454
9455 * dispnew.c (increment_matrix_positions): Renamed from
9456 increment_glyph_matrix_buffer_positions.
9457 (increment_row_positions): Renamed from
9458 increment_glyph_row_buffer_positions.
9459
9460 * dispextern.h: Change names of renamed functions from dispnew.c
9461 in prototypes.
9462
cc181e95
GM
94632000-04-24 Gerd Moellmann <gerd@gnu.org>
9464
abfcc168
GM
9465 * fileio.c (Fdo_auto_save): Create directories for auto-save
9466 list file if necessary.
9467
cc181e95
GM
9468 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9469 from buffer or frame.
9470 (automatic_hscrolling_p): New variable.
9471 (hscroll_windows): Scroll windows horizontally only if automatic
9472 hscrolling is allowed.
9473 (syms_of_xdisp): New variable `automatic-hscrolling'.
9474
9475 * frame.h (struct frame): Add member extra_line_spacing.
9476
9477 * xfns.c (x_set_line_spacing): New function.
9478 (Fx_create_frame): Set line spacing from resources.
9479 (Qline_spacing): New variable.
9480 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9481
cc181e95
GM
9482 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9483
9484 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9485 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9486 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9487 extra_line_spacing from default value.
9488 (init_buffer_once): Initialize default value of extra_line_spacing.
9489
9490 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9491 and extra3.
9492
9493 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9494 prompt_width. Add extra line spacing.
9495
9496 * term.c (produce_glyphs): Remove reference to struct it's
9497 prompt_width.
9498
9499 * dispextern.h (struct it): Remove member prompt_width, add
9500 extra_line_spacing.
9501
58827478
GM
95022000-04-22 Gerd Moellmann <gerd@gnu.org>
9503
9504 * dispnew.c (update_frame_line): When writing a whole line, make
9505 sure cursor is in the right row afterwards, otherwise a use of
9506 capability `ch' in cmgoto might leave the cursor in the row below.
9507
25a87f42
GM
95082000-04-21 Gerd Moellmann <gerd@gnu.org>
9509
9510 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9511
9512 * keyboard.c (timer_check): Fix typo in comment.
9513
54edf5c2
KH
95142000-04-21 Kenichi Handa <handa@etl.go.jp>
9515
9516 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9517 name change: ch -> character.
9518
3a64eef5
GM
95192000-04-20 Gerd Moellmann <gerd@gnu.org>
9520
9521 * keyboard.c (echo_message_buffer): New variable.
9522 (echo_now): Set echo_message_buffer to the echo area buffer used
9523 to display the echo.
9524 (cancel_echoing): Reset echo_message_buffer to nil.
9525 (read_char): Code rewritten that handles canceling an echo or
9526 echoing a dash, respectively.
9527
9528 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9529 directory doesn't exist.
9530
6142fdcb
DL
95312000-04-19 Dave Love <fx@gnu.org>
9532
9533 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9534 (concat): Don't allow numeric args.
9535 (Fconcat): Doc change.
6142fdcb 9536
ac6b5352
SM
95372000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9538
9539 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9540 instead define end_match(1|2) more carefully.
9541 Use GET_CHAR_BEFORE_2 for `begline'.
9542
cb9215e4
GM
95432000-04-19 Gerd Moellmann <gerd@gnu.org>
9544
5e3dac3f
GM
9545 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9546 on 64-bit systems where NULL is defined as `0'.
9547
9548 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9549 the `variable argument list' to make it work on Alpha.
9550
cb9215e4
GM
9551 * m/alpha.h (_LP64) [!_LP64]: Define.
9552 (ORDINARY_LINK): Define for NetBSD.
9553
9554 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9555
f532dca0
DL
95562000-04-19 Dave Love <fx@gnu.org>
9557
c750667e
DL
9558 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9559 change.
9560
9561 * Makefile.in (LIBS): Don't use.
9562 (GETLOADAVG_OBJ): Define again.
9563 (otherobj): Add GETLOADAVG_OBJ.
9564
f532dca0
DL
9565 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9566
1c7e22fd
GM
95672000-04-18 Gerd Moellmann <gerd@gnu.org>
9568
f6d3257b
GM
9569 * lread.c (read_filtered_event): Cancel and start busy cursor.
9570
427ec082 9571 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9572 that the per-character metrics may be null.
9573
e10f64e7
GM
95742000-04-17 Gerd Moellmann <gerd@gnu.org>
9575
0daee095
GM
9576 * buffer.c (clone_per_buffer_values): New function.
9577 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9578 clone_per_buffer_values if CLONE is not nil.
9579
e10f64e7
GM
9580 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9581
38687d43
DL
95822000-04-16 Dave Love <fx@gnu.org>
9583
9584 * Makefile.in: Remove obsolete localcpp stuff.
9585 (GETLOADAVG_OBJ): Don't define.
9586 (obj): Move LIBOBJS...
9587 (otherobj): ... to here.
9588 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9589 whitespace-only lines after the continuation (Irix).
9590
c21c7262
GM
95912000-04-14 Gerd Moellmann <gerd@gnu.org>
9592
9593 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9594
9595 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9596
314767c0
DL
95972000-04-14 Dave Love <fx@gnu.org>
9598
9599 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9600 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9601 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9602 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9603 NLIST_STRUCT.
9604
9605 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9606 autoconfiscated HAVE_GETLOADAVG.
9607
9608 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9609 BROKEN_MKTIME.
9610
a2522dca
GM
96112000-04-14 Gerd Moellmann <gerd@gnu.org>
9612
9613 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9614 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9615
33744b5d
DL
96162000-04-14 Dave Love <fx@gnu.org>
9617
c21c7262 9618 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9619 (INTERVAL_SRC): Convert to make variable.
9620 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9621 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9622 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9623 add LIBOBJS.
9624 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9625 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9626 (shortlisp): Add facemenu, float-sup, frame.
9627 (SOME_MACHINE_LISP): Remove them from here.
9628 (LIBES): Change unused LDLIBS to autoconf LIBS.
9629
9630 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9631
9d3d5916
KH
96322000-04-14 Kenichi Handa <handa@etl.go.jp>
9633
9634 * composite.c (update_compositions): If FROM and TO are not in a
9635 valid range, do nothing.
9636
198e3c7a
GM
96372000-04-13 Gerd Moellmann <gerd@gnu.org>
9638
52283633 9639 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9640
52283633 9641 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9642
9643 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9644 as TERMCAP_OBJ.
9645
055a28c9
EZ
96462000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9647
9648 * fileio.c (a_write): Remove redundant semi-colons.
9649 (e_write): Return -1 if failed to write all the data.
9650 This fixes the changes made at 1999-12-15.
9651
f5c75033
DL
96522000-04-12 Dave Love <fx@gnu.org>
9653
9654 * fns.c (mapcar1): Test for null vals to support mapc.
9655 (Fmapc): New function.
9656
0c3cfc51
EZ
96572000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9658
9659 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9660 (IT_frame_up_to_date): Support the buffer local value of
9661 cursor-type, if defined.
9662
33465a31
DL
96632000-04-10 Dave Love <fx@gnu.org>
9664
9665 * editfns.c (preceding-char, following-char): Doc fix.
9666
6ed56568
KR
96672000-04-10 Ken Raeburn <raeburn@gnu.org>
9668
9669 * Makefile.in (temacs): Revert 2000-03-12 change.
9670
7cf80d4e
JR
96712000-04-10 Jason Rumney <jasonr@gnu.org>
9672
9673 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9674
34f3f342
GM
96752000-04-10 Gerd Moellmann <gerd@gnu.org>
9676
1a1b1895
GM
9677 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9678 area buffer, if it's not set up yet.
9679
34f3f342
GM
9680 * indent.c (compute_motion): Set immediate_quit.
9681
be0dbdab
GM
96822000-04-09 Gerd Moellmann <gerd@gnu.org>
9683
52283633 9684 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9685 (realize_tty_face): Suppress boldness if colors are the inverse of
9686 the default colors, and tty_suppress_bold_inverse_default_colors_p
9687 is set.
9688 (Ftty_suppress_bold_inverse_default_colors): New function.
9689 (syms_of_xfaces): Defsubr it.
9690
be0dbdab
GM
9691 * buffer.c (Frestore_buffer_modified_p): New function.
9692 (syms_of_buffer): Defsubr it.
9693
e8413c3b
KR
96942000-04-08 Ken Raeburn <raeburn@gnu.org>
9695
87f67317
KR
9696 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9697 charset id (int) argument, not a charset (Lisp_Object).
9698
e8413c3b
KR
9699 * coding.h (code_convert_string): Declare.
9700 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9701 object, as the fourth argument to code_convert_string.
9702
52283633 9703 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9704 (Fset_fontset_font): Use EQ to compare lisp objects.
9705
7c752c80
KR
97062000-04-05 Ken Raeburn <raeburn@gnu.org>
9707
c0333abc
KR
9708 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9709 a pointer that looks like a lisp object.
9710 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9711 zero, instead see whether it's an integer object, since they can't
9712 have intervals.
9713 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9714
52283633
SM
9715 * dispnew.c (allocate_matrices_for_frame_redisplay)
9716 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9717 to convert between (unsigned) int values and lisp integers.
9718 * keyboard.c (read_key_sequence): Likewise.
9719 * lread.c (substitute_object_recurse): Likewise.
9720 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9721 * minibuf.c (do_completion, Fminibuffer_complete_word)
9722 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9723 * term.c (produce_special_glyphs): Likewise.
9724
9725 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9726 * print.c (print_preprocess, print_object): Likewise.
9727
9728 * search.c (compile_pattern): Use NILP when checking for nil.
9729
74e49b38
KR
9730 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9731 __OPTIMIZE__]: Provide a GNU C macro version that handles
9732 lisp-object unions.
9733 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9734 field, to better cope with ENABLE_CHECKING and calls that modify a
9735 Lisp_Object using its old value.
9736
685e5ed2
GM
97372000-04-04 Gerd Moellmann <gerd@gnu.org>
9738
c407c570
GM
9739 * window.c (compare_window_configurations): Signal an error
9740 if parameters C1 or C2 aren't window configurations.
9741
685e5ed2
GM
9742 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9743 AFTER_POTENTIAL_GC calls around calls to functions that can
9744 signal an error and thus invoke the debugger.
9745
587a49ab
GM
97462000-04-03 Gerd Moellmann <gerd@gnu.org>
9747
62f20204
GM
9748 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9749 an error if decoding fails.
9750
587a49ab
GM
9751 * keyboard.c (lispy_mouse_names): Variable removed.
9752 (Vlispy_mouse_stem): New variable.
9753 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9754 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9755 for any mouse button number. Increase size of mouse_syms and
9756 button_down_location as needed. Call modify_event_symbol with
9757 different arguments.
9758 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9759 Call modify_event_symbol with different arguments.
9760 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9761 for any button number. Call modify_event_symbol with different
9762 arguments.
9763 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9764 Accept a string for NAME_ALIST_OR_STEM.
9765
9766 * lisp.h (larger_vector): Add prototype.
9767
9768 * fns.c (larger_vector): Make externally visible.
9769
9770 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9771
2d1675e4
SM
97722000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9773
9774 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9775 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9776 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9777 we are between str1 and str2.
9778 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9779 (PATFETCH): Use `TRANSLATE'.
9780 (PATFETCH_RAW): Fetch multibyte char if applicable.
9781 (PATUNFETCH): Remove.
9782 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9783 When writing a char, write it directly into the pattern buffer rather
9784 than going needlessly through a temp char-array.
9785 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9786 multibyte magic and remove the useless `#ifdef emacs'.
9787 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9788 buffer.
9789
9790 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9791 conditional on `emacs'.
9792
9793 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9794
cc2d8c6b
KR
97952000-04-01 Ken Raeburn <raeburn@gnu.org>
9796
9797 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9798 non-union-type versions of XMARK and friends here, because XMARK
9799 and friends won't work on an integer field if NO_UNION_TYPE is not
9800 defined.
52283633 9801 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9802
52283633 9803 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9804 (syms_of_composite): Delete local var NARGS, pass an int as first
9805 argument to Fmake_hash_table.
9806
2387b382
KR
9807 * editfns.c (text_property_stickiness): Use NILP to test
9808 Lisp_Object boolean value.
9809 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9810 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9811 problems reading from and changing the same lisp value in an
9812 XSETSTRING call.
9813
27660e89
GM
98142000-04-01 Gerd Moellmann <gerd@gnu.org>
9815
9816 * term.c (TN_no_color_video): New variable.
9817 (term_init): Intitialize TN_no_color_video.
9818 (enum no_color_bit): New enumeration.
9819 (MAY_USE_WITH_COLORS_P): New macro.
9820 (turn_on_face): Use it to determine if attributes may be used
9821 combined with colors.
9822
3578db3c
KR
98232000-04-01 Ken Raeburn <raeburn@gnu.org>
9824
9825 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9826 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9827 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9828 proper accessor macros.
9829 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9830 (grow_mini_window): Fix typo getting int value of root->height.
9831
6fc556fd
KR
9832 * xdisp.c (compute_string_pos): Fix order of arguments to
9833 string_pos_nchars_ahead.
9834 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9835 count arg to variable-arg routines like Frun_hook_with_args and
9836 Fformat.
587a49ab
GM
9837 (back_to_previous_visible_line_start)
9838 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9839 fixed-arg routines like Fget_char_property and Fmake_string.
9840 (reconsider_clip_changes): Use XINT when comparing integer lisp
9841 objects, or passing them as int arguments.
587a49ab
GM
9842 (mark_window_display_accurate, insert_left_trunc_glyphs)
9843 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9844 storing or passing integer values as lisp objects.
9845 (set_cursor_from_row, highlight_trailing_whitespace): Use
9846 INTEGERP, not implicit test against zero, for glyph object.
9847 (try_window_id): Don't use make_number when we want an int value.
9848
9849 * xfaces.c (xlfd_symbolic_value): Make last argument a
9850 Lisp_Object, to be consistent with callers.
9851 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9852 (lface_hash): Apply XFASTINT to lisp values before folding in.
9853
9854 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9855 fill in window width and height. Pass an int, not a lisp object,
9856 as first arg to Finsert.
9857
6e7b2457
GM
98582000-04-01 Gerd Moellmann <gerd@gnu.org>
9859
610d841e
GM
9860 * xfaces.c (realize_basic_faces): Block input while realizing
9861 the faces.
9862
6e7b2457
GM
9863 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9864
9865 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9866
aa110c0c
GM
98672000-03-31 Gerd Moellmann <gerd@gnu.org>
9868
9869 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9870 or ASCII, handle case that per-char metric is null.
aa110c0c 9871
8801a864
KR
98722000-03-30 Ken Raeburn <raeburn@gnu.org>
9873
c6129d7e
KR
9874 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9875
52283633
SM
9876 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9877 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9878 pointer, using eassert.
9879 * frame.h (XFRAME): Likewise.
9880
52283633
SM
9881 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9882 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9883 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9884 * data.c (set_internal): Likewise.
52283633
SM
9885 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9886 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9887 * fileio.c (auto_save_1): Likewise.
9888 * insdel.c (check_markers): Likewise.
9889 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9890 * undo.c (record_insert): Likewise.
9891 * vmsproc.c (child_sig): Likewise.
9892 * window.c (unshow_buffer, window_loop): Likewise.
9893 * xterm.c (x_erase_phys_cursor): Likewise.
9894
8e7af858
GM
98952000-03-30 Gerd Moellmann <gerd@gnu.org>
9896
9897 * xfns.c (free_image_cache): Free the cache structure itself
9898 last, after all its members have been freed.
9899
9900 * lisp.h (xstrdup): Add prototype.
9901
9902 * alloc.c (xstrdup): Moved here from xfaces.c.
9903 (allocating_for_lisp): Variable removed.
52283633 9904 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9905
9906 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9907 of Fsymbol_value.
9908 (xstrdup): Moved to alloc.c.
9909
e0b8c689
KR
99102000-03-29 Ken Raeburn <raeburn@gnu.org>
9911
b96f9fb7
KR
9912 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9913
9914 * emacs.c (main): Fix sense of no-loadup test.
9915
e0b8c689
KR
9916 * config.in (ENABLE_CHECKING): Undef.
9917
9918 * lisp.h (struct interval): Replace "parent" field with a union of
9919 interval pointer and Lisp_Object; add new bitfield to use as
9920 discriminant. Change other flag fields to bitfields.
9921 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9922 is defined and the supplied test fails, print a message and abort.
9923 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9924
9925 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9926 pointers; abort if the value looks like a lisp object.
52283633
SM
9927 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9928 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9929 Modify for new interval parent definition.
9930
52283633
SM
9931 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9932 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9933 addressable lisp object in the interval structure.
9934 (die): New function.
9935 (suppress_checking): New variable.
9936
9937 * intervals.c (interval_start_pos): Just return 0 if there's no
9938 parent object.
9939
f83c5440
GM
99402000-03-29 Gerd Moellmann <gerd@gnu.org>
9941
9942 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9943 and earlier Emacs versions.
9944
9945 * keyboard.c (Ftop_level): Cancel busy-cursor.
9946
9947 * eval.c (call_debugger): Cancel busy-cursor.
9948
fdce64ff
KH
99492000-03-29 Kenichi Handa <handa@etl.go.jp>
9950
9951 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9952 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9953
f6a3f532
SM
99542000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9955
9956 * regex.c (analyse_first): New function obtained by ripping out most
9957 of re_compile_fastmap and generalizing it a little bit so that it
9958 can also just return whether a given (sub)pattern can match the empty
9959 string or not.
9960 (regex_compile): Use `analyse_first' to decide whether the loop-check
9961 needs to be done or not for *, +, *? and +? (the loop check is costly
9962 for non-greedy repetition).
9963 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9964
e9b309ac
DL
99652000-03-28 Dave Love <fx@gnu.org>
9966
52283633 9967 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9968
e9b309ac
DL
9969 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9970
ed0767d8
SM
99712000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9972
9973 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9974 an expression.
9975 (enum re_opcode_t): Update description of succeed_n.
9976 (PATFETCH): Always define.
9977 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9978 operators, char classes, shy-groups and intervals).
9979 Optimize special cases of intervals so as to only use succeed_n and
9980 jump_n when really needed.
9981 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9982 that we don't have to handle the special cases any more.
9983 Simplify on_failure_jump handling as well.
9984
e11e7e46
JR
99852000-03-28 Jason Rumney <jasonr@gnu.org>
9986
9987 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9988
88faab89
GM
99892000-03-27 Gerd Moellmann <gerd@gnu.org>
9990
182ff242
GM
9991 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9992
9993 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9994
182ff242
GM
9995 * alloc.c (mark_maybe_object): New function.
9996 (mark_memory): Use it.
9997 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9998 (setjmp_tested_p, longjmp_done): New variables.
9999 (test_setjmp): New function.
10000 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10001 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10002
c1005d06
GM
10003 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10004 to DEC_TEXT_POS and INC_TEXT_POS.
10005
10006 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10007 with parameter MULTIBYTE_P.
10008
52283633 10009 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10010
7439e5b9 10011 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10012 buffers because it looks for multibyte character byte sequences
10013 which don't exist in unibyte text.
7439e5b9 10014
d9c545da
GM
10015 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10016
11fd416e 10017 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10018 [DEBUG_X_COLORS]: New functions.
10019 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10020
10021 * xfns.c (x_set_cursor_color): Get color reference counts right.
10022
10023 * xterm.c (x_copy_color): New function.
10024 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10025
10026 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10027 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10028 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10029 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10030 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10031 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10032 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10033 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10034 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10035 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10036
11fd416e
GM
10037 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10038 names for handling per-buffer variables.
d9c545da
GM
10039
10040 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10041 instead of MAX_BUFFER_LOCAL_VARS.
10042 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10043
10044 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10045
88faab89
GM
10046 * xfns.c (x_specified_cursor_type): New function.
10047 (x_set_cursor_type): Use it.
10048
10049 * buffer.h (struct buffer): Add cursor_type.
10050
d80f42b7
SM
100512000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10052
10053 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10054 (print_partial_compiled_pattern, re_compile_fastmap):
10055 Handle new opcode.
d80f42b7
SM
10056 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10057 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10058 executing it as well as when popping it off the stack to find infinite
10059 loops in non-greedy repetition operators.
10060
89e80928
GM
100612000-03-26 Gerd Moellmann <gerd@gnu.org>
10062
3d4ff2dd
GM
10063 * doc.c (Qfunction_documentation): New variable.
10064 (syms_of_doc): Initialize Qfunction_documentation.
10065 (Fdocumentation): If FUNCTION is a symbol with non-nil
10066 `function-documentation' property, return a documentation derived
10067 from that.
10068
bd96bd79
GM
10069 * buffer.c (syms_of_buffer): Add default-cursor-type.
10070 (init_buffer_once): Don't let cursor_type have a local value
10071 in every buffer.
10072
19d1bc27
GM
10073 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10074 on buffer-local value of cursor_type.
10075 (x_draw_bar_cursor): Add parameter WIDTH.
10076
10077 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10078 (init_buffer_once): Set default cursor_type value to t.
10079 Mark cursor_type as local everywhere.
10080 (syms_of_buffer): New per-buffer variable cursor-type.
10081
89e80928
GM
10082 * buffer.h (struct buffer): Remove member local_var_flags,
10083 add local_flags.
10084 (MAX_BUFFER_LOCAL_VARS): New macro.
10085 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10086 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10087 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10088 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10089
52283633 10090 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10091
10092 * category.c (Fset_category_table): Use new macros for per-buffer
10093 variables.
10094
10095 * buffer.c (buffer_permanent_local_flags): Make a char array.
10096 (max_buffer_local_idx): New variable.
10097 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10098 for new handling of per-buffer variables.
10099 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10100 (init_buffer_once): Initialize per-buffer vars differently.
10101 Set max_buffer_local_idx.
10102
10103 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10104 variables.
10105
52283633 10106 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10107
10108 * data.c (do_symval_forwarding, store_symval_forwarding)
10109 (find_symbol_value, set_internal, default_value, Fset_default)
10110 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10111 per-buffer variables.
10112
10113 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10114
9a0dd3dc
GM
101152000-03-24 Gerd Moellmann <gerd@gnu.org>
10116
b68c375f
GM
10117 * xterm.c (x_term_init): Unblock input around call1 of
10118 Qvendor_specific_keysyms.
10119
9a0dd3dc
GM
10120 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10121 (find_defun_start): Consider an open parenthesis in column 0
10122 a defun start only if open_paren_in_column_0_is_defun_start is set.
10123 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10124
7973e637
SM
101252000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10126
10127 * eval.c (Fautoload): Add entry in load-history (if after dump).
10128 * lread.c (load-history): Update docstring.
10129
39210e90
GM
101302000-03-24 Gerd Moellmann <gerd@gnu.org>
10131
10132 * indent.c (Fvertical_motion): Always use the current buffer.
10133 Temporarily change the window's buffer, if necessary.
10134
72db3ab5
GM
101352000-03-23 Gerd Moellmann <gerd@gnu.org>
10136
10137 * xterm.c (fast_find_position): Make sure not to consider rows
10138 not visible in the window.
10139
990b2375
SM
101402000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10141
10142 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10143 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10144
ff4df011
JR
101452000-03-22 Jason Rumney <jasonr@gnu.org>
10146
10147 * w32menu.c (single_submenu): Set help string to NULL if none.
10148 (w32_menu_show): Set help string correctly.
10149 (add-menu-item): Set help string in MIIM_DATA for menu item.
10150 Load SetMenuItemInfoA explicitly.
10151 (w32_menu_display_help): New function.
427ec082 10152
ff4df011
JR
10153 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10154 (QCdata): Moved to xdisp.c.
10155
10156 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10157 (Vw32_charset_to_codepage_alist): Removed.
10158 (Vw32_charset_info_alist): New variable.
52283633
SM
10159 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10160 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10161 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10162 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10163 with TODO comment.
10164 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10165 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10166 Define Vw32_charset_info_alist and w32_charset symbols.
10167
101682000-03-22 Jason Rumney <jasonr@gnu.org>
10169
10170 * makefile.nt (w32bdf.obj): Update dependencies.
10171
10172 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10173
10174 * w32fns.c: Include fontset.h after dispextern.h.
10175 (Fx_create_frame): Do not create fontset.
10176 (w32_load_system_font): Doc fix.
10177 (Fx_close_connection): Free full_name if it is not shared.
10178
10179 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10180 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10181 Callers updated.
ff4df011
JR
10182 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10183 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10184 (w32_font_is_double_byte): New function, needs body.
10185 (x_append_glyph): Set glyph->glyph_not_available_p.
10186 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10187 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10188 character, convert it to a unibyte character.
10189 (struct glyph_string): Delete member `charset'.
10190 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10191 calculating it is found.
10192 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10193 the case that per char metric is not available correctly.
10194 (x_fill_glyph_string): Handle the case that the specific glyph is
10195 not available correctly.
10196 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10197 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10198 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10199 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10200 fontset. Don't call FS_LOAD_FONT.
10201
439d5cb4
KR
102022000-03-22 Ken Raeburn <raeburn@gnu.org>
10203
10204 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10205 (INT_LISPLIKE): New macro.
10206 (NULL_INTERVAL_P): Use it.
52283633
SM
10207 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10208 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10209 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10210
10211 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10212 explicit references to "parent" field of struct interval and
10213 associated unclean type conversions.
52283633
SM
10214 * intervals.c (create_root_interval, root_interval, rotate_right)
10215 (rotate_left, balance_possible_root_interval, split_interval_right)
10216 (split_interval_left, interval_start_pos, find_interval)
10217 (next_interval, previous_interval, update_interval)
10218 (adjust_intervals_for_insertion, delete_node, delete_interval)
10219 (adjust_intervals_for_deletion, merge_interval_right)
10220 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10221 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10222 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10223 Likewise.
10224 * syntax.c (update_syntax_table): Likewise.
10225
10226 * intervals.c (reproduce_tree_obj): New function, like
10227 reproduce_tree but takes a Lisp_Object for the parent. Declare
10228 with prototype.
10229 (graft_intervals_into_buffer): Use it when appropriate.
10230 (reproduce_tree): Declare with prototype.
10231 (balance_possible_root_interval): Check that the parent is a lisp
10232 object before trying to examine its type.
10233
ee1c5b21
GM
102342000-03-22 Gerd Moellmann <gerd@gnu.org>
10235
10236 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10237 as strings only if both are known to be strings.
10238
10239 * s/openbsd.h (LIBS_TERMCAP): Undef.
10240
1fb352e0
SM
102412000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10242
10243 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10244 definitions for non-Emacs compilation.
10245 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10246 outside of `#ifdef emacs'.
10247 (print_partial_compiled_pattern): Update.
10248 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10249 (re_compile_fastmap): Merge handling of charset and charset_not (for
10250 emacs and non-emacs compilation as well).
10251 Similarly for (not)categoryspec and (not)syntaxspec.
10252 Don't use the fastmap when reaching `anychar' since the added
10253 complexity is not justified.
10254 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10255 and (not)syntaxspec. Merge (not)categoryspec.
10256
fdaa1f77
KH
102572000-03-22 Kenichi Handa <handa@etl.go.jp>
10258
52283633
SM
10259 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10260 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10261 --without-x.
fdaa1f77 10262
d152fb46
DL
102632000-03-21 Dave Love <fx@gnu.org>
10264
10265 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10266 doc string.
10267
d2cafc8c
GM
102682000-03-21 Gerd Moellmann <gerd@gnu.org>
10269
10270 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10271 (lface_fully_specified_p): Don't check contents of
10272 LFACE_FONT_INDEX because that attribute is optional.
10273 (realize_x_face): Remove now unwarranted xassert.
10274
9111d4b5
KH
102752000-03-21 Kenichi HANDA <handa@etl.go.jp>
10276
10277 The following changes are to make font selection based on
10278 characters, not charset. In addition, they recover fontset
10279 facilities while utilizing the new font selection mechanism.
10280
6c4bfdc0
KH
10281 * Makefile.in (fontset.o): Depend on dispextern.h.
10282
10283 * alloc.c (mark_face_cache): Don't mark face->registry.
10284
9111d4b5
KH
10285 * dispextern.h (struct glyph): New member glyph_not_available_p.
10286 Use 22 bits for face_id.
10287 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10288 (struct face): Delete member registry, new member ascii_face.
10289 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10290 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10291 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10292 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10293
10294 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10295 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10296 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10297 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10298 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10299 (fs_free_face_fontset, fontset_font_pattern)
10300 (face_suitable_for_char_p, face_for_char)
10301 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10302 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10303 (FS_LOAD_FACE_FONT): New macro.
10304
10305 * fontset.c: All codes rewritten or adjusted for the change of
10306 fontset implementation. Now fontset is represented by char table.
52283633
SM
10307 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10308 Variables removed.
9111d4b5 10309 (my_strcasecmp): Function removed.
52283633 10310 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10311 (AREF, ASIZE): New macros.
52283633
SM
10312 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10313 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10314 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10315 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10316 (fontset_id_valid_p, font_family_registry, fontset_name)
10317 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10318 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10319 New functions.
10320 (fs_load_font): New arg FACE. Caller changed.
10321 (fs_query_fontset): Argument changed. Caller changed.
10322 (Fquery_fontset): call fs_query_fontset.
10323 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10324 Functions removed.
52283633
SM
10325 (clear_fontset_elements, check_registry_encoding)
10326 (check_fontset_name): New functions.
9111d4b5
KH
10327 (syms_of_fontset): Set char-table-extra-slots property of fontset
10328 to 3. Staticpro and initialize Vfontset_table and
10329 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10330
10331 * frame.h (struct frame): Member `fontset_data' removed.
10332 (FRAME_FONTSET_DATA): Macro removed.
10333
10334 * frame.c (make_frame): Don't allocate f->fontset_data.
10335 (Fdelete_frame): Don't free f->fontset_data.
10336
6c4bfdc0
KH
10337 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10338
9111d4b5
KH
10339 * xdisp.c (charset_at_position): Function removed.
10340 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10341 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10342 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10343 Likewise.
10344 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10345 FACE_FOR_CHARSET.
52283633
SM
10346 (get_next_display_element, append_space)
10347 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10348
10349 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10350 Variables removed.
10351 (clear_font_table, frame_update_line_height, load_face_font):
10352 Adjusted for the change of fontset implementation.
10353 (load_face_fontset_font): Function removed.
10354 (pixel_point_size): New function.
10355 (font_list): Argument type changed. Caller changed.
10356 (LFACE_FONT): New macro.
10357 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10358 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10359 Lisp_Object. Determine the font name by actually loading a font
10360 by the specified pattern. Set LFACE_FONT (lface) to the specified
10361 pattern. Even if a font is not found, don't try alternatives.
10362 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10363 (set_font_frame_param): If `font' is specified in lface, use it.
10364 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10365 (lface_same_font_attributes_p): Likewise.
10366 (make_realized_face): Arguent changed. Caller changed. Set
10367 face->ascii_face to face itself.
10368 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10369 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10370 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10371 (free_realized_multibyte_face): New function.
10372 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10373 changed. Caller changed.
10374 (try_font_list): Argument type changed.
10375 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10376 (choose_face_font): Argument changed. Handle fontset properly.
10377 (choose_face_fontset_font): Function removed.
10378 (realize_default_face, realize_named_face): Don't remove the
10379 former face here.
10380 (realize_face): Argument changed. Caller changed. Remove face
52283633 10381 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10382 (realize_x_face): Argument changed. Caller changed. For a
10383 multibyte character, share fontset with base_face. For a single
52283633 10384 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10385 (realize_tty_face): Argument changed. Caller changed.
10386 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10387 (face_at_buffer_position): Don't check multibyte_p for returning
10388 DEFAULT_FACE_ID.
10389 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10390 FACE_SUITABLE_FOR_CHARSET_P.
10391 (syms_of_xfaces): Remove code for Qx_charset_registry and
10392 Vface_default_registry.
10393
6c4bfdc0
KH
10394 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10395 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10396 (x_per_char_metric): Don't try FONT->default_char. Even if
10397 pcm->width is zero, glyph bits may exist.
10398 (x_encode_char): Always initialize char2b->byte1.
10399 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10400 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10401 (x_append_glyph): Set glyph->glyph_not_available_p.
10402 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10403 it->charset. Handle the case that per char metric is not
10404 available. If it->multibyte_p is zero and it->c is a multibyte
10405 character, convert it to a unibyte character.
10406 (struct glyph_string): Delete member `charset'.
10407 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10408 the case that per char metric is not available correctly.
10409 (x_fill_glyph_string): Handle the case that the specific glyph is
10410 not available correctly.
10411 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10412 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10413 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10414 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10415 fontset. Don't call FS_LOAD_FONT.
10416
10417 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10418 (x_create_tip_frame): Likewise.
10419 (Fx_close_connection): Free full_name of font_info.
10420
10421 * fns.c (optimize_sub_char_table): New function.
10422 (Foptimize_char_table): New function.
10423 (syms_of_fns): Defsubr Soptimize_char_table.
10424
b33dd3b0
GM
104252000-03-20 Gerd Moellmann <gerd@gnu.org>
10426
10427 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10428 only if buffer is displayed in some window.
10429
10430 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10431 (try_window_reusing_current_matrix): Don't call scroll run
10432 function if run's current and desired position are the same;
10433 this prevents cursor flickering.
10434
4e8a9132
SM
104352000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10436
10437 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10438
10439 * regex.c (RE_STRING_CHAR): New macro.
10440 (GET_CHAR_AFER_2): Remove.
10441 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10442 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10443 (print_partial_compiled_pattern, re_compile_fastmap)
10444 (re_match_2_internal): Remove on_failure_jump_exclusive.
10445 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10446 optimization only need to work for * (ie. can use of_keep_string_jump).
10447 Remove the special case for .*\n since it is now covered by the general
10448 optimization.
10449 (re_search_2): Don't bother with `room'.
10450 (skip_one_char): New function.
10451 (skip_noops): Simplify since `memory' is not needed any more.
10452 (mutually_exclusive_p): Restructure slightly to use `switch' and
10453 add handling for "all" remaining cases.
10454 (re_match_2_internal): Change on_failure_jump_smart to use
10455 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10456 rather than on_failure_jump_exclusive.
10457
2136fdd4
GM
104582000-03-19 Gerd Moellmann <gerd@gnu.org>
10459
10460 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10461 number of bits per RGB because it's everywhere used as the depth
10462 of the visual.
10463
10464 * term.c (calculate_costs): Remove code dealing with X frames.
10465
18e21ce8 104662000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10467
10468 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10469
d7b511c4
GM
104702000-03-18 Gerd Moellmann <gerd@gnu.org>
10471
10472 * lread.c (read_integer): Unread the last char not consumed.
10473
16b5d424
GM
104742000-03-17 Gerd Moellmann <gerd@gnu.org>
10475
10476 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10477 which are in the process of being deleted.
16b5d424 10478
1fa28578
GM
104792000-03-16 Gerd Moellmann <gerd@gnu.org>
10480
83488cce
GM
10481 * Makefile.in (mostlyclean): Add `*.core'.
10482 (clean): Add `bootstrap-emacs'.
10483
1fa28578
GM
10484 * lread.c (read_integer): New function.
10485 (read1): Support read syntax #o, #x, #b, #r.
10486
99633e97
SM
104872000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10488
1fa28578
GM
10489 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10490 make sure POINTER_TO_OFFSET gives the same value before and after
10491 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10492 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10493 (debug): Now only active if > 0 rather than if != 0.
10494 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10495 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10496 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10497 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10498 (store_op1, store_op2, insert_op1, insert_op2)
10499 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10500 (group_in_compile_stack): Move to after its arg's types are
10501 declared and add a prototype.
99633e97 10502 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10503 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10504 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10505 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10506 indentation of the greedy-op and shy-group code.
99633e97
SM
10507 (at_(beg|end)line_loc_p): Fix argument's types.
10508 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10509 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10510 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10511 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10512 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10513 QUIT unconditionally.
99633e97 10514
699238d9
GM
105152000-03-15 Gerd Moellmann <gerd@gnu.org>
10516
10517 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10518 a sole completion.
10519
10520 * process.c (send_process): Add a hint that the function
10521 can call Lisp code to its comment.
10522
10523 * lread.c (load_dangerous_libraries): New variable.
10524 (Vbytecomp_version_regexp): New variable.
10525 (safe_to_load_p): New function.
10526 (Fload): Handle files not compiled with Emacs specially.
10527 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10528
34e23e5a
GM
105292000-03-14 Gerd Moellmann <gerd@gnu.org>
10530
9c763cca
GM
10531 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10532
10533 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10534 support functions only if HAVE_X11R6_XIM is defined.
10535 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10536
10537 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10538
10539 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10540 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10541 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10542
10543 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10544 (HAVE_X11R6_XIM): Define.
10545
10546 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10547
34e23e5a
GM
10548 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10549 If set, call XSynchronize.
10550
66f0296e
SM
105512000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10552
34e23e5a
GM
10553 * regex.c: Declare a new type `re_char' used throughout the code
10554 for the string char type. It's `const unsigned char' to match the
10555 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10556 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10557 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10558 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10559 code duplication.
66f0296e
SM
10560
10561 * charset.h (GET_CHAR_AFTER_2): Remove.
10562 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10563
854a025c
KR
105642000-03-12 Ken Raeburn <raeburn@gnu.org>
10565
10566 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10567 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10568 of them try to use backquotes.
10569
b9d2c7e2
DL
105702000-03-12 Dave Love <fx@gnu.org>
10571
10572 * unexelf.c: Restore changes of 1999-10-19.
10573 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10574 fix its type and alignment; copy it from current process.
10575
5e5dff44
GM
105762000-03-12 Gerd Moellmann <gerd@gnu.org>
10577
9b2f3c38
GM
10578 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10579 has been found. Fix bug not computing timer's predecessor.
10580
427ec082 10581 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10582 file name.
10583
e1cff360
GM
10584 * window.c (Fsave_window_excursion): Doc fix.
10585
52283633 10586 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10587
e411ce4b
EZ
105882000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10589
10590 * msdos.c (vga_installed): New function, code moved from
10591 dos_set_window_size.
10592 (Qbar, Qcursor_type, outside_cursor): New variables.
10593 (syms_of_msdos): Intern and staticpro them.
10594 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10595 shape used outside Emacs when called for the first time.
10596 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10597 cursor shape used outside Emacs.
10598 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10599 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10600 type has changed.
10601 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10602 parameters specify the cursor. Make qreverse a global
10603 variable (renamed to Qreverse).
10604
80460654
GM
106052000-03-09 Gerd Moellmann <gerd@gnu.org>
10606
10607 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10608
95cd4c40
SM
106092000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10610
10611 This is a big redesign of failure-stack and register handling, prompted
10612 by bugs revealed when trying to add shy-groups. Overall, what happened
10613 is that loops are now structured a little differently, groups can be
10614 shy and the code is a little simpler.
10615
10616 * regex.h: Update the copyright.
10617 (RE_SHY_GROUPS): New value.
10618 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10619 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10620
80460654
GM
10621 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10622 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10623 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10624 for (start|stop)_memory since they now only take one argument (the
10625 second has becomes unnecessary).
52283633 10626 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10627 (print_compiled_pattern): Use %ld to printf long ints and flush to
10628 make debugging a little easier.
95cd4c40
SM
10629 (union fail_stack_elt): Make the integer unsigned.
10630 (struct fail_stack_type): Add a `frame' element.
10631 (INIT_FAIL_STACK): Init `frame' as well.
10632 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10633 (DEBUG_PUSH, DEBUG_POP): Remove.
10634 (NUM_REG_ITEMS): Remove.
10635 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10636 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10637 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10638 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10639 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10640 New macros.
80460654
GM
10641 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10642 address pushed is not the destination of the jump but the source
10643 of it instead.
95cd4c40
SM
10644 (NUM_FAILURE_ITEMS): Remove.
10645 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10646 registers before the actual failure point). Don't hardcode any
10647 meaning for str==NULL anymore.
95cd4c40 10648 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10649 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10650 Remove.
95cd4c40
SM
10651 (REG_UNSET_VALUE): Use NULL (why not?).
10652 (compile_range): Remove declaration since it doesn't exist.
10653 (struct compile_stack_elt_t): Remove inner_group_offset.
10654 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10655 (regex_grow_registers): Remove dead code.
10656 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10657 (regex_compile): Add shy-groups Change loops to use
10658 on_failure_jump_smart&jump instead of
10659 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10660 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10661 variable to me). Use `jump' instead of `jump_past_alt' and don't
10662 bother with push_dummy_failure in alternatives since it is now
10663 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10664 emacs' for (re)allocating the stack.
10665 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10666 from loop when bufp->can_be_null rather than jumping to `done'.
10667 Avoid jumping backwards so as to ensure termination. Use
10668 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10669 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10670 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10671 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10672 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10673 (lowest_active_reg, highest_active_reg)
10674 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10675 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10676 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10677 variables. Push register (in `start_memory') on the stack rather
10678 than storing it in old_reg(start|end). Remove the cycle detection
10679 from `stop_memory', replaced by the use of on_failure_jump_loop
10680 for greedy loops. Add code for the new on_failure_jump_<foo>.
10681 Remove ad-hoc code in `on_failure_jump' to push more registers in
10682 the case of a loop. Take out code from `maybe_pop_jump' into
10683 separate functions and adapt it to the semantics of
10684 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10685 and push_dummy_failure. Remove dummy_failure handling and
10686 handling of `failures to jump to on_failure_jump' (this last one
10687 was already dead code, it seems).
10688 (group_match_null_string_p, alt_match_null_string_p)
10689 (common_op_match_null_string_p): Remove.
95cd4c40 10690
7397acc4
DL
106912000-03-08 Dave Love <fx@gnu.org>
10692
10693 * config.in: Don't depend on __STDC__ for volatile.
10694 Add POINTER_TYPE, PTR, PROTOTYPES.
10695
10696 * hftctl.c, strftime.c: Use PROTOTYPES.
10697 * eval.c (find_handler_clause): Likewise.
10698
10699 * mem-limits.h: Use POINTER_TYPE.
10700
10701 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10702 (memory_warnings): Declare using POINTER_TYPE.
10703
5e91ff9e
GM
107042000-03-08 Gerd Moellmann <gerd@gnu.org>
10705
feab4fba
GM
10706 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10707
52283633 10708 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10709
5e91ff9e
GM
10710 * xfns.c: Remove obsolete code in #if 0.
10711 (Fx_focus_frame): New function.
10712
a735b7e1
KH
107132000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10714
10715 * coding.c (coding_category_name): Add coding-category-utf-8,
10716 coding-category-utf-16-be, coding-category-utf-16-le.
10717 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10718 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10719 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10720 (detect_coding_utf_8): New function.
10721 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10722 UTF_16_LOW_SURROGATE_P): New macros.
10723 (detect_coding_utf_16): New function
10724 (detect_coding_mask): When priorities are specified, skip any
10725 categories that have `nil' coding-system. Fix bug of returning
10726 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10727 returns a mask not set in PRIORITIES.
10728 (detect_eol_type_in_2_octet_form): New function.
10729 (detect_eol): selects detect_eol_type_XXX to call according to
10730 cooding->category_idx.
10731 (detect_coding_system): Remove `nil' coding-system in the result.
10732 (Fupdate_coding_systems_internal): Update all coding-categories.
10733
52283633
SM
10734 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10735 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10736 New macros.
10737 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10738 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10739 (CODING_CATEGORY_IDX_UTF_16_LE)
10740 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10741 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10742 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10743 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10744
9994cc69
GM
107452000-03-07 Gerd Moellmann <gerd@gnu.org>
10746
e9b4e5ff
GM
10747 * doc.c (Fdocumentation_property): If value is not a string,
10748 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10749
f7daf1e1
GM
10750 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10751 close the display with XtCloseDisplay. This caused a bus error
10752 on OpenWindows.
10753
9994cc69
GM
10754 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10755 complete but not unique.
10756
4336c705
GM
107572000-03-06 Gerd Moellmann <gerd@gnu.org>
10758
18bb0684
GM
10759 * process.c (send_process): Remove local variable `procname' that
10760 might become invalid when a GC happens. Instead, access the
10761 process name slot directly.
10762
4336c705
GM
10763 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10764 orig_height if set.
10765
10766 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10767 orig_height if set.
10768
515d0d0e
EZ
107692000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10770
10771 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10772 glyph matrices have been freed.
10773
100b3cbb
GM
107742000-03-05 Gerd Moellmann <gerd@gnu.org>
10775
50df5e5a 10776 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10777 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10778
10779 * xfns.c (QCdata): Moved to xdisp.c.
10780
10781 * xdisp.c (QCdata): Moved here from xfns.c.
10782 (syms_of_xdisp): Initialize QCdata.
10783
10784 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10785
10786 * window.c (coordinates_in_window): Use
10787 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10788 FRAME_INTERNAL_BORDER_WIDTH.
10789
100b3cbb 10790 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10791 it is obviously invalid.
100b3cbb
GM
10792
10793 * xterm.c (x_term_init): Create a colormap if not using the
10794 default visual.
10795
10796 * xterm.h (select_visual): Change prototype.
10797
10798 * xfns.c (select_visual): Rewritten. Recognize user-specified
10799 visual classes.
10800 (visual_classes): New variable.
10801
64d739c4
GM
108022000-03-04 Gerd Moellmann <gerd@gnu.org>
10803
10804 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10805 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10806 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10807 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10808 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10809 XtNcolormap resources.
10810 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10811 (Fx_create_frame): Initialize color members of x_output structure.
10812 (xpm_load): Pass colormap to XPM lib.
10813
10814 * xfaces.c (x_free_colors): Access colormap of frame using
10815 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10816 when default colormap is used.
10817
10818 * xterm.c (x_term_init): Set Colormap member of x_display_info
10819 structure. Copy colormap if resource `privateColormap' is
10820 specified (PseudoColor only).
10821 (x_setup_relief_color): Access colormap of frame using
10822 FRAME_X_COLORMAP.
10823
10824 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10825 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10826
c3cee013
JR
108272000-03-04 Jason Rumney <jasonr@gnu.org>
10828
10829 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10830 other non-platform-specific equivalents.
64d739c4 10831 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10832 specific functions and macros as their w32 equivalents where
10833 non-platform-specifics are not available.
10834 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10835 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10836 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10837 (frame_update_line_height): Use macros to access f->output_data.
10838 (defined_color): Remove FIXME comments; fixed.
10839 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10840 into #ifdef blocks. Add WINDOWSNT blocks.
10841 (Fx_list_fonts): Use macros for accessing font data.
10842 (set_lface_from_font_name): Different default fonts for X and
10843 WINDOWSNT.
10844 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10845 scalable for backward compatibility.
64d739c4 10846 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10847 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10848
64d739c4 10849 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10850 syms_of_w32faces.
10851
10852 * makefile.nt (w32faces.obj): Remove.
10853 (xfaces.obj): Add.
10854
807cc41c
JR
108552000-03-03 Jason Rumney <jasonr@gnu.org>
10856
10857 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10858 correct parameters.
10859
0007072a
KR
108602000-03-03 Ken Raeburn <raeburn@gnu.org>
10861
10862 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10863 standard ELF definitions here if the system header does not.
10864
71a6ba55
GM
108652000-03-03 Gerd Moellmann <gerd@gnu.org>
10866
10867 * xterm.c (PER_CHAR_METRIC): Removed.
10868 (x_per_char_metric_1, x_default_char): New functions.
10869 (x_per_char_metric): If font's default char is invalid, return
10870 metrics of a suitably chosen usable default char.
10871 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10872 char, replace occurrences of unprintable chars with a suitably
10873 chosen usable default char.
71a6ba55 10874
900fa1f1
GM
108752000-03-02 Gerd Moellmann <gerd@gnu.org>
10876
42f55fe0
GM
10877 * xterm.c (note_mouse_highlight): Return quickly if frame's
10878 glyph matrices have been freed.
10879
10880 * dispnew.c (free_glyphs): Block input while freeing matrices.
10881
900fa1f1
GM
10882 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10883
52283633
SM
10884 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10885 Use x_free_colors.
900fa1f1
GM
10886
10887 * dispextern.h (x_free_colors): Add prototype.
10888
10889 * xfaces.c (x_free_colors): New function.
10890 (unload_color, free_face_colors): Use it.
10891
2f950292
EZ
108922000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10893
10894 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10895
10896 * window.c [MSDOS]: Include msdos.h.
10897
54d04320
DL
108982000-03-02 Dave Love <fx@gnu.org>
10899
10900 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10901
10902 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10903 set C_OPTIMIZE_SWITCH for gcc.
10904
0ba93ac4
KH
109052000-03-02 Kenichi Handa <handa@etl.go.jp>
10906
10907 * coding.c (coding_save_composition): Be sure to allocate
10908 composition data area in coding even if there's no composition in
10909 the current run.
10910
a2bc11d4
JR
109112000-03-01 Jason Rumney <jasonr@gnu.org>
10912
10913 * w32term.c: Equivalent changes to those made to xterm.c on
10914 2000-02-25 and 2000-02-24.
10915
10916 * w32fns.c: Equivalent changes to those made to xfns.c on
10917 2000-02-25 and 2000-02-21.
10918
10919 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10920 correct line-end convention is followed.
10921
10922 * w32menu.c [HAVE_BOXES]: Remove #undef.
10923 (single_keymap_panes): Remove code for simulating checkmarks.
10924 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10925 Remove code for drawing simulated checkmarks.
10926 (w32_menu_show): make unibyte help string correctly.
10927 (add_menu_item): draw standard Windows checkmarks. Draw radio
10928 buttons as radio buttons if possible.
10929
72d19d75
GM
109302000-03-01 Gerd Moellmann <gerd@gnu.org>
10931
2df636f4
GM
10932 * sysdep.c (start_of_text): Don't define this function for NetBSD
10933 with ELF.
10934
427ec082 10935 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10936 Don't define.
10937 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10938 (LINKER): Don't undef if __NetBSD__ is defined.
10939
10940 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10941
10942 * fileio.c [__NetBSD__]: Define `unix'.
10943
72d19d75
GM
10944 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10945
ed4d0512
GM
109462000-02-29 Gerd Moellmann <gerd@gnu.org>
10947
50b1039f
GM
10948 * atimer.c (start_atimer): Don't abort when timers are stopped.
10949 (append_atimer_lists): New function.
10950 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10951 arbitrary lists of stopped and running atimers.
10952
ed4d0512
GM
10953 * atimer.c (cancel_atimer): Handle canceling an atimer when
10954 some timers are stopped.
10955
10956 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10957 after canceling it.
10958
10959 * fns.c (maybe_resize_hash_table): Handle case of new size
10960 coming out as being the same as old size.
10961
387023ee
JR
109622000-02-27 Jason Rumney <jasonr@gnu.org>
10963
10964 * makefile.nt: Add atimer.h to dependencies.
10965 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10966 * w32console.c: Only disable window system features for dispextern.h
10967 (initialize_w32_display): Build a display info for the console.
10968 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10969 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10970 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10971 as 2 button mice.
10972 * w32gui.h (struct W32FontStruct): Revert last change after change
10973 to xdisp.c.
10974 * w32menu.c (single_submenu): Set up help string.
10975 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10976 (w32_dialog_show): Set up help string.
10977 * w32term.c (w32_display_info_for_display): Remove unused function.
10978 (w32_draw_bitmap): Use pre-built bitmaps.
10979 (w32_initialize_display_info): New function to initialize parts of
10980 display info that are common to both GUI and console frames.
10981 (w32_term_init): Use w32_initialize_display_info. Do not set
10982 Vw32_num_mouse_buttons here, as it is not called for console
10983 frames. Build bitmaps for indicating truncated lines etc.
10984 (x_delete_display): Destroy pre-built bitmaps.
10985 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10986 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10987
4516715a
DL
109882000-02-27 Dave Love <fx@gnu.org>
10989
10990 * lisp.h: Add a bunch of prototypes.
10991
171ca836
KH
109922000-02-26 Kenichi Handa <handa@etl.go.jp>
10993
10994 * keyboard.c (read_char): Set `usec' correctly.
10995
4013921d
KH
109962000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10997
10998 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10999 `lambda', set reg[RRR] to the map index.
11000 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11001 reg[RRR] to 0. Otherwise, set it to -1.
11002
9244a058
GM
110032000-02-25 Gerd Moellmann <gerd@gnu.org>
11004
2df636f4 11005 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11006
18e21ce8 110072000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11008
f43d79c1
GM
11009 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11010 and contains a `:', prepend `/:'.
11011
11012 * window.c (select_window_1): If selected_window is nil,
11013 don't "swap out" the buffer's point.
11014 (Fset_window_configuration): Set selected_window to nil
11015 before calling Fselect_window.
11016 (unshow_buffer): Don't set point in buffer from window's point
11017 if another more recently selected window also shows the buffer.
11018
bed0c171
GM
110192000-02-25 Gerd Moellmann <gerd@gnu.org>
11020
449c3c52
GM
11021 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11022
f5b58615
GM
11023 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11024 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11025 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11026 New variables.
f5b58615
GM
11027 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11028 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11029 (hide_busy_cursor): New functions.
11030 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11031
11032 * minibuf.c (read_minibuf): Cancel busy-cursor.
11033
11034 * keyboard.c (command_loop_1): Call start_busy_cursor before
11035 Fcommand_execute and cancel_busy_cursor after it.
11036 (timer_check): Remove busy-cursor code.
11037 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11038 cursor timer.
11039
11040 * process.c (wait_reading_process_input): Remove busy-cursor code.
11041
11042 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11043 Fx_hide_busy_cursor.
11044
11045 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11046 Remove prototyoes.
11047 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11048
11049 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11050
11051 * xterm.c (XTread_socket): Remove busy-cursor code.
11052
4eb8436f
GM
11053 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11054 (build_frame_matrix_from_leaf_window): Put code handling
11055 glyph row's not being a slice of a frame row in #if 0.
11056 (sync_window_with_frame_matrix_rows): New function.
11057 (frame_row_to_window): New function.
11058 (mirror_line_dance): Handle copies between windows.
11059
3cb65b0e
GM
11060 * lread.c (Fload): Use `xfree' instead of `free'.
11061 (init_obarray): Use `xmalloc' instead of `malloc'.
11062
bed0c171
GM
11063 * window.c (Fset_window_buffer): Set WINDOW to the window
11064 after decoding.
2add4349
GM
11065 (coordinates_in_window): Take frame's internal border width
11066 into account.
bed0c171 11067
42088c12
GM
110682000-02-24 Gerd Moellmann <gerd@gnu.org>
11069
11070 * xterm.c (x_display_and_set_cursor): Display cursor of
11071 non-selected windows depending on the setting of
11072 cursor_in_non_selected_windows.
11073
11074 * xdisp.c (cursor_in_non_selected_windows): New variable.
11075 (syms_of_xdisp): DEFVAR_BOOL it.
11076
d1e103b2
GM
110772000-02-23 Gerd Moellmann <gerd@gnu.org>
11078
723e779c
GM
11079 * data.c (Fstring_to_number): If number is greater than what
11080 fits into an integer, return a float.
11081
d1e103b2
GM
11082 * eval.c (specbind): Remove references to
11083 keyword_symbols_constant_flag.
11084
11085 * data.c (keyword_symbols_constant_flag): Removed.
11086 (Fmakunbound, set_internal, syms_of_data): Remove references to
11087 keyword_symbols_constant_flag.
11088
11089 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11090
214f877f
KH
110912000-02-23 Kenichi Handa <handa@etl.go.jp>
11092
11093 * syntax.c (multibyte_syntax_as_symbol): New variable.
11094 (syms_of_syntax): Declare it as a Lisp variable.
11095 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11096 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11097 nonzero, treat all multibyte characters as symbol.
52283633 11098 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11099
130adcb7
EZ
111002000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11101
3cb65b0e 11102 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11103 a deleted frame.
130adcb7 11104
17cbbf95
GM
111052000-02-21 Gerd Moellmann <gerd@gnu.org>
11106
11107 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11108
11109 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11110 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11111
beb0bc36
DL
111122000-02-21 Dave Love <fx@gnu.org>
11113
11114 * frame.c (Vmouse_position_function): New variable.
11115 (Fmouse_position): Use it.
11116 (syms_of_frame): Install it.
11117
11118 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11119
1d92afcd
GM
111202000-02-20 Gerd Moellmann <gerd@gnu.org>
11121
11122 * fileio.c (Finsert_file_contents): Unbind the binding of
11123 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11124
11125 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11126 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11127 (specbind, unbind_to): Handle most common case of non-constant
11128 symbol with trivial value specially.
11129
11130 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11131
18e21ce8 111322000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11133
11134 * data.c (Fmake_variable_buffer_local): Doc fix.
11135 Init found_for_buffer to 0.
11136 (Fmake_variable_frame_local): If the variable has already
11137 been buffer-local, set the check_frame field.
11138
1d4311c3
EZ
111392000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11140
11141 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11142 produced for CODING_MODE_LAST_BLOCK requires.
11143
2dc95ddd
DL
111442000-02-18 Dave Love <fx@gnu.org>
11145
11146 * keyboard.c (echo_keystrokes): Remove declaration.
11147 (Vecho_keystrokes) New variable.
11148 (read_char, record_menu_key, read_key_sequence): Use it to allow
11149 use of float value.
11150 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11151
11152 * lread.c: Undef feature selection macros before defining.
11153
f0930f35
GM
111542000-02-18 Gerd Moellmann <gerd@gnu.org>
11155
11156 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11157 for symbols other than the symbol in question.
11158
e3d4de90
DL
111592000-02-17 Dave Love <fx@gnu.org>
11160
11161 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11162
0b378936
GM
111632000-02-17 Gerd Moellmann <gerd@gnu.org>
11164
d621caf7
GM
11165 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11166
0b378936
GM
11167 * alloc.c (enum mem_type): Compile unconditionally.
11168
3b451f74
EZ
111692000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11170
11171 * xfaces.c (tty_defined_color): Don't return faulire indication
11172 for unspecified-fg and unspecified-bg pseudo-colors.
11173
10689a01
GM
111742000-02-17 Gerd Moellmann <gerd@gnu.org>
11175
1216f5e4
GM
11176 * alloc.c (mark_object): Don't mark symbol names in pure space.
11177 (gc_sweep): Don't unmark symbol names in pure space.
11178
11179 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11180 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11181 [GC_MARK_STACK]: New defines.
427ec082 11182 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11183 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11184
11185 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11186
11187 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11188 allocate_buffer instead of xmalloc.
11189
11190 * alloc.c (toplevel): Include setjmp.h.
11191 (PURE_POINTER_P): New define.
11192 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11193 (Vdead) [GC_MARK_STACK]: New variable.
11194 (lisp_malloc): Add parameter TYPE, call mem_insert if
11195 GC_MARK_STACK is defined.
11196 (allocate_buffer): New function.
427ec082 11197 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11198 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11199 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11200 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11201 (MEM_NIL) [GC_MARK_STACK]: New define.
11202 (struct mem_node) [GC_MARK_STACK]: New structure.
11203 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11204 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11205 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11206 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11207 (mark_stack) [GC_MARK_STACK]: New functions.
11208 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11209 (clear_marks): Removed.
11210 (gc_sweep): Set free conses' car, free floats' type, free
11211 symbols' function to Vdead. Use lisp_free to free buffers.
11212 (init_alloc_once): Initialize Vdead.
11213 (survives_gc_p): Return non-zero for pure objects.
11214
11215 * alloc.c: Add comments throughout the file.
11216
2503c8b1
GM
11217 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11218 that unblocks alarms.
11219
8389e1e2
GM
11220 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11221 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11222 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11223
10689a01 11224 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11225
bfc17d18
KH
112262000-02-17 Kenichi Handa <handa@etl.go.jp>
11227
4a09dee0
KH
11228 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11229 avoid infinite error signaling. Allocate sufficient memory for
11230 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11231
2b927d02
SM
112322000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11233
11234 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11235 depends on the previous behavior.
11236
b49cb764
GM
112372000-02-16 Gerd Moellmann <gerd@gnu.org>
11238
11239 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11240
99e95407
GM
112412000-02-15 Gerd Moellmann <gerd@gnu.org>
11242
11243 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11244
11245 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11246 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11247 write(2).
11248
6ffd3cf7
RS
112492000-02-15 Richard M. Stallman <rms@gnu.org>
11250
11251 * data.c (set_internal): Don't make variable buffer-local
11252 if within a let-binding for the same buffer.
11253 (let_shadows_buffer_binding_p): New function.
11254
11255 * eval.c (specbind): For buffer-local value,
11256 record the current buffer also.
11257 (unbind_to): Cope with that change.
11258
cad53475
GM
112592000-02-15 Gerd Moellmann <gerd@gnu.org>
11260
11261 * window.c (Fsave_window_excursion): Doc fix.
11262
1aa963c8
SM
112632000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11264
11265 * syntax.c (back_comment): Make sure we only consider comment-starters
11266 of the relevant style and return -1 in case of a failure to find the
11267 beginning of the comment.
11268 (Fforward_comment): If back_comment fails, go back to the position just
11269 after the comment-end.
11270 (scan_lists): Add comment describing a very minor bug.
11271
b9b84fd3
SM
112722000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11273
11274 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11275 `completion-regexp-list' in the docstring.
11276
3a28db80
DL
112772000-02-14 Dave Love <fx@gnu.org>
11278
11279 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11280
fb4a568d
SM
112812000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11282
11283 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11284 to Emacs' syntax. Also fix the comment about set/not-set meanings
11285 since Emacs syntax is not the value 0 any more.
11286 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11287 since it's now part of RE_SYNTAX_EMACS.
11288
1063ebb5
DL
112892000-02-12 Dave Love <fx@gnu.org>
11290
52283633 11291 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11292
fb07a302
GM
112932000-02-12 Gerd Moellmann <gerd@gnu.org>
11294
11295 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11296
aaf2320c
DL
112972000-02-12 Dave Love <fx@gnu.org>
11298
11299 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11300
11301 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11302 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11303 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11304
11305 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11306
11307 * s/nextstep.h: Don't define HAVE_ALLOCA.
11308
11309 * config.in: Add vfork bits.
11310
eedf8bde
GM
113112000-02-12 Gerd Moellmann <gerd@gnu.org>
11312
11313 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11314 unwind function to undo the effect of stopping atimers.
11315
52283633 11316 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11317
11318 * atimer.c (stopped_atimers): New variable.
11319 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11320 New functions.
11321
11322 * atimer.h (stop_other_atimers, run_all_atimers)
11323 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11324
eedf8bde
GM
11325 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11326
8476c2f8
KR
113272000-02-11 Ken Raeburn <raeburn@gnu.org>
11328
11329 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11330 library may depend on jpeg.
11331 (atimer.o): Depends on atimer.c.
11332
0e85e4a3
KH
113332000-02-11 Kenichi Handa <handa@etl.go.jp>
11334
11335 * insdel.c (del_range_1): Call update_compositions.
11336 (del_range_both): Call update_compositions just once..
11337
97fa0cc8
DL
113382000-02-10 Dave Love <fx@gnu.org>
11339
11340 * xfns.c (create_frame_xic): Fix initialization of automatic
11341 aggregates for pcc.
11342
25566a3c
KH
113432000-02-09 Kenichi Handa <handa@etl.go.jp>
11344
11345 * ccl.c (CCL_MAKE_CHAR): New macro.
11346 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11347 registers by CCL_MAKE_CHAR before calling translate_char.
11348 <CCL_TranslateCharacterConstTbl> Likewise.
11349
69da54ba
DL
113502000-02-08 Dave Love <fx@gnu.org>
11351
11352 * lread.c (__EXTENSIONS__): Define.
11353
f7136ee8
GM
113542000-02-08 Gerd Moellmann <gerd@gnu.org>
11355
11356 * puresize.h (BASE_PURESIZE): Increase to 650000.
11357
7768790b
EZ
113582000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11359
11360 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11361 the help message.
11362
38fd211b
EZ
113632000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11364
11365 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11366 md, mh, mb, mr, and me to the fake termcap entry.
11367
66e4690f
KR
113682000-02-06 Ken Raeburn <raeburn@gnu.org>
11369
11370 * sound.c (sound_cleanup): Don't call device close routine if the
11371 function pointer is null.
11372
a75dfea0
AI
113732000-02-06 Andrew Innes <andrewi@gnu.org>
11374
11375 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11376 around image definitions and prototypes.
11377 (gamma_correct) [WINDOWSNT]: New prototype.
11378
11379 * w32term.c (x_make_frame_visible): Replace call to
11380 input_poll_signal with poll_for_input.
11381
11382 * window.c [WINDOWSNT]: Include w32term.h.
11383
11384 * xdisp.c [WINDOWSNT]: Include w32term.h.
11385
11386 * makefile.nt: Add dependencies on w32gui.h.
11387 (OBJ1): Include atimer.obj.
11388 ($(BLD)\atimer.obj): New dependency rule.
11389
11390 * w32.c (sigmask): New function (does nothing).
11391 (sigunblock): Ditto.
11392
11393 * frame.c [WINDOWSNT]: Include w32term.h.
11394
11395 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11396
11397 * lread.c (syms_of_lread): Fix literal newlines.
11398
11399 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11400 the string constant limit (2048 bytes) in MSVC.
11401 (main): Ditto.
11402
59ddecde
GM
114032000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11404
52283633 11405 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11406 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11407 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11408 dispatch the event.
11409
07590973
DL
114102000-02-04 Dave Love <fx@gnu.org>
11411
11412 * fileio.c: Remove some unused vars.
11413 (_GNU_SOURCE): Define (for euidaccess).
11414
11415 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11416
11417 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11418 gcpro1, gcpro2.
11419 (read_minibuf): Deal with allow_props correctly.
11420
649351f9
EZ
114212000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11422
11423 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11424
66e4690f 114252000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11426
11427 * search.c (compile_pattern): If a cache entry has a nil regexp,
11428 fill in that entry instead of clobbering a previously cached
11429 string regexp.
11430
66e4690f 114312000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11432
11433 * puresize.h (BASE_PURESIZE): Increase to 610000.
11434
d240a249
GM
114352000-02-02 Gerd Moellmann <gerd@gnu.org>
11436
11437 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11438 can GC.
11439
ca91fb26
KH
114402000-02-02 Kenichi Handa <handa@etl.go.jp>
11441
25660570
KH
11442 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11443 instead of incrementing ic directly.
11444 <CCL_WriteExprConst> Likewise.
11445 <ccl_set_expr>: Set ic to jump_address.
11446
ca91fb26
KH
11447 * fileio.c (e_write): Fix the handling of
11448 CODING_FINISH_INSUFFICIENT_SRC.
11449
2ede9689
DL
114502000-02-01 Dave Love <fx@gnu.org>
11451
11452 * editfns.c (Fpropertize): Doc fix.
11453
11454 * process.c (Fstart_process): Doc fix.
11455
11456 * eval.c: Fix various doc strings not to duplicate information
11457 from help-manyarg-func-alist.
11458
52283633 11459 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11460
11461 * doc.c (Vhelp_manyarg_func_alist): New variable.
11462 (Fdocumentation): Use it.
11463 (syms_of_doc): Define it.
11464
b6680a0e
GM
114652000-01-31 Gerd Moellmann <gerd@gnu.org>
11466
2cb750ba
GM
11467 * xterm.c (xim_open_dpy): Remove unused local variable.
11468
52283633 11469 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11470
11471 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11472 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11473
b6680a0e
GM
11474 * fns.c (sweep_weak_table): New function.
11475 (sweep_weak_hash_tables): Use it. Keep on marking until there
11476 is no more change.
11477
994c5afe
GM
114782000-01-30 Gerd Moellmann <gerd@gnu.org>
11479
11480 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11481 that XTread_socket does not crash by trying to call XNoOp on a
11482 closed display.
427ec082 11483
f00276e3
JR
114842000-01-30 Jason Rumney <jasonr@gnu.org>
11485
11486 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11487 Change selected_frame to SELECTED_FRAME ().
11488 (w32_console_mouse_position): Remove #ifndef MULE from around
11489 `insist' parameter.
11490
11491 * makefile.nt: Remove dosfns.obj.
11492
11493 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11494
11495 * w32fns.c (w32_defined_color): Check for valid frame before
11496 applying gamma correction. Eliminate dependency on frame elsewhere.
11497 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11498 (w32_to_x_font): Use resx and resy not height_in and width_in.
11499 (x_to_w32_font): Doc fix.
11500 (xlfd_strip_height): New function to strip and return font height.
11501 (w32_font_match): Compare height separately from rest of xlfd
11502 spec, using xlfd_strip_height.
11503
11504 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11505 width_in. Use w32_defined_color in place of defined_color.
11506
11507 * w32faces.c: Merge more of DOS and X specifics in preparation for
11508 merge with xfaces.c.
11509 (defined_color): Remove FIXME comment.
11510 (tty_color_name): Provide w32-specific function.
11511 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11512
11513 * w32console.c (turn_on_face, turn_off_face): Removed.
11514 (w32_face_attributes): New function.
11515 (Global_variables): Reduce scope where possible.
11516 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11517 fill attribute.
11518 (hl_mode): Don't modify text attributes.
11519 (write_glyphs): Don't do anything if len <= 0. Use
11520 w32_face_attributes to get attributes for drawing. Write
11521 terminating codes using char_attr_normal.
11522 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11523 (update_begin, update_end): Likewise.
11524 (vga_stdcolor_name): New function.
11525 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11526 (Fset_screen_color): Remove char_attr_reverse.
11527
b08e8bb2
GM
115282000-01-29 Gerd Moellmann <gerd@gnu.org>
11529
11530 * xfns.c (xic_set_preeditarea): Take window parameter and
11531 window-relative pixel-positions.
11532
11533 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11534 is its frame's selected window.
11535 (xim_instantiate_callback): Likewise.
11536
11537 * xfns.c (x_create_im): Removed.
11538 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11539 (supported_xim_styles): Renamed from supported_styles.
11540 (best_xim_style): Renamed from best_style.
11541 (create_frame_xic): Renamed from xic_create_frame.
11542 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11543
b08e8bb2
GM
115442000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11545
11546 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11547 our frames, call XFilterEvent with 2nd parameter `None'.
11548 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11549 returning XBufferOverflow.
52283633 11550 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11551 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11552 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11553 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11554 (xim_initialize, xim_close)
11555 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11556 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11557 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11558 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11559
11560 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11561 and `xim_styles'.
11562 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11563 `xic_style' and `xic_xfs'.
11564 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11565 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11566 (FRAME_XIM): Removed.
11567
11568 * xfns.c (supported_styles): New variable.
11569 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11570 (xic_create_xfontset, best_style, xic_create_frame)
11571 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11572 (xic_set_xfontset): New functions.
11573
142e109c
DL
115742000-01-28 Dave Love <fx@gnu.org>
11575
11576 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11577
11578 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11579
b02786f9
GM
115802000-01-28 Gerd Moellmann <gerd@gnu.org>
11581
d060bc9f
GM
11582 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11583 for *scratch* if it already existed.
11584
b02786f9
GM
11585 * emacs.c (USAGE): New macro.
11586 (main): Use it to display usage information.
11587
2c52d7e4
EZ
115882000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11589
11590 Support for the menu-help feature:
11591
52283633 11592 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11593
11594 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11595 part of the line to the termscript file.
11596 (IT_clear_to_end): Clear the entire line, not just its beginning.
11597 (menu_help_message, prev_menu_help_message): New variables.
11598 (IT_menu_make_room): Make room for the help_text member.
11599 (IT_menu_display): New argument disp_help; all callers changed.
11600 If disp_help is non-zero, store the help text of the active menu
11601 item in menu_help_message.
11602 (XMenuAddPane): Initialize the help_text member to NULL.
11603 (XMenuAddSelection): New argument help_text. Store it in the
11604 XMenu structure.
11605 (XMenuActivate): New argument help_callback. If the value of
11606 menu_help_message has changed since the last time, display the
11607 menu help message text while waiting for the mouse to move. Clear
11608 the echo area before exiting.
11609 (XMenuDestroy): Free the help_text member.
11610
ffe0bcd1
GM
116112000-01-27 Gerd Moellmann <gerd@gnu.org>
11612
11613 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11614 XMenuAddSelection. Pass help callback to XMenuActivate.
11615 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11616
50dbd23f
EZ
116172000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11618
11619 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11620 and EMACS_SET_USECS.
11621
f5941bf8
GM
116222000-01-26 Dave Love <fx@gnu.org>
11623
6c67ddee
DL
11624 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11625
f5941bf8
GM
11626 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11627 an error may be signalled.
11628
9e49c990
GM
116292000-01-26 Gerd Moellmann <gerd@gnu.org>
11630
fc3cb460
GM
11631 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11632 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11633
9e49c990
GM
11634 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11635
d0c037d8
GM
116362000-01-25 Gerd Moellmann <gerd@gnu.org>
11637
11638 * charset.c (Fstring): If there is a multibyte char among
11639 the args, always return a multibyte string.
11640
e12489f9
GM
116412000-01-25 Gerd Moellmann <gerd@gnu.org>
11642
11643 * sysdep.c (sys_select): Turn atimers off and on instead of
11644 recording and restoring old alarm handler
11645
11646 * process.c (toplevel): Include atimer.h.
11647 (create_process_1): Rewritten.
11648 (create_process): Use atimers instead of alarm.
11649 (wait_reading_process_input) [hpux]: Turn atimers off instead
11650 of turning off SIGALRM.
11651 (wait_reading_process_input): Turn off atimers instead off
11652 calling stop_polling.
11653
11654 * emacs.c (main): Call init_atimer.
11655
11656 * keyboard.c (toplevel): Include systime.h and atimer.h.
11657 (polling_for_input): Removed because unused.
11658 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11659 (poll_timer): New variable.
11660 (poll_for_input, poll_for_input_1): New functions.
11661 (start_polling, stop_polling): Rewritten.
11662
11663 * keyboard.h (polling_for_input): Removed.
427ec082 11664
e12489f9
GM
11665 * atimer.h, atimer.c: New files.
11666
11667 * Makefile.in (obj): Add atimer.o.
11668 (atimer.o): New target.
11669
11670 * blockinput.h (pending_atimers): Add extern declaration.
11671 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11672
11673 * lisp.h (popup_activated_flag): Add extern declaration.
11674
11675 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11676 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11677 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11678
11679 * xterm.c (toplevel): Include atimer.h.
11680 (toolkit_scroll_bar_interaction): New variable.
11681 (Fxt_process_timeouts): Removed.
11682 (x_process_timeouts): New function.
11683 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11684 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11685 (x_make_frame_visible): Call poll_for_input_1 instead of
11686 input_poll_signal. Don't call alarm.
11687 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11688
1e5279b9
DL
116892000-01-24 Dave Love <fx@gnu.org>
11690
6c67ddee 11691 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11692 Don't use -cckr -- apparently not now necessary.
11693
edf6aeb8
EZ
116942000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11695
11696 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11697 screen boundary.
11698
9badad41
JR
116992000-01-23 Jason Rumney <jasonr@gnu.org>
11700
11701 * w32fns.c (w32_defined_color): Apply gamma correction before
11702 trying to map to the palette.
11703 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11704 to w32_clear_rect.
11705
11706 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11707 here. Callers changed to always pass real device context.
11708 (w32_draw_bitmap): Likewise.
11709 (w32_get_glyph_overhangs): Likewise.
52283633 11710 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11711 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11712 pfnSetScrollInfo and SetScrollRange.
11713 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11714 back into MULE characters after decoding them.
11715 (x_get_glyph_face_and_encoding): Likewise.
11716 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11717 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11718 (x_produce_glyphs): Calculate per char metrics for a character
11719 that we know exists in default font when font_not_found_p is true.
11720
63bd786b
JR
117212000-01-22 Jason Rumney <jasonr@gnu.org>
11722
11723 * makefile.nt (intervals.obj, composite.obj): New modules.
11724 (composite.h): Added as dependency where appropriate.
11725
11726 * w32gui.h (XGCValue): New struct for emulating X GCs.
11727
11728 * w32term.h (XCharStruct): New struct for emulating X.
11729
11730 * w32console.c (turn_on_face, turn_off_face): New functions.
11731 (change_line_highlight): New prototype for new redisplay.
11732 (write_glyphs): Support multibyte text. Support faces.
11733
52283633 11734 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11735
11736 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11737 throughout. struct frame * in place of FRAME_PTR.
11738 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11739 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11740 (w32_get_arg): Renamed from x_get_arg.
11741 (Fx_file_dialog): New function.
11742 (w32_list_fonts): Check cache before asking system.
11743 (Vw32_enable_synthesized_fonts): New variable.
11744 (Vw32_enable_italics): Obsolete, removed.
11745
11746 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11747 Use SELECTED_FRAME macro.
11748
11749 * w32menu.c: Add skeleton support for help strings on menus.
11750 (add_menu_item): Native checkbox and radio support added, but not
11751 yet enabled due to bugs.
11752 (push_menu_item): Add parameters type, selection and help.
11753 Callers updated.
11754 Formatting changes to reduce unnecessary diffs with xmenu.c.
11755
11756 * w32select.c (Fw32_set_clipboard_data): Update call to
11757 find_charset_in_str.
11758
11759 * w32term.c: Complete rewrite for new redisplay based on new
11760 xterm.c with necessary sections merged back in from old w32term.c.
11761
6ffd3cf7 117622000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11763
11764 * data.c (set_internal): Further fix in same criterion.
11765
6ffd3cf7 117662000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11767
11768 * data.c (set_internal): Fix the criteria for whether
11769 to swap out the old cached binding.
11770
60af03f1
DL
117712000-01-19 Dave Love <fx@gnu.org>
11772
11773 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11774
f9be074f
KH
117752000-01-18 Kenichi Handa <handa@etl.go.jp>
11776
11777 * regex.c (re_compile_fastmap): While checking a range table for
11778 `charset', skip flag bits for a character class correctly.
11779
52b8dbf9
GM
117802000-01-17 Gerd Moellmann <gerd@gnu.org>
11781
d36100c9
GM
11782 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11783
52283633 11784 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11785
11786 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11787 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11788
11789 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11790 MENU_ITEMS_ITEM_.*.
11791 (MENU_ITEMS_ITEM_HELP): New enumerator.
11792 (push_menu_item): Add parameter HELP. Record help in menu_items.
11793 (single_menu_item, single_submenu, list_of_items): Call
11794 push_menu_item with new parameter.
11795 (single_submenu): Set help string in widget value.
11796 (menu_highlight_callback): New function.
11797 (set_frame_menubar): Call lw_create_widget with new
11798 parameter list.
11799 (xmenu_show, xdialog_show): Ditto.
11800
3139018f
GM
118012000-01-13 Gerd Moellmann <gerd@gnu.org>
11802
11803 * sound.c (Fplay_sound): Improve doc string.
11804
83c8f461
RS
118052000-01-11 Richard M. Stallman <rms@gnu.org>
11806
11807 * lisp.h (set_internal): Enter the new arg.
11808
11809 * eval.c (specbind): Record buffer-local variables specially,
11810 indicating which buffer's binding was saved.
11811 (unbind_to): Restore buffer-local variables specially
11812 in the proper buffer.
11813
11814 * data.c (set_internal): New arg BUF.
427ec082 11815
83c8f461
RS
11816 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11817 * data.c (Fset): Pass new arg to set_internal.
11818 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11819
1fab1775
GM
118202000-01-11 Gerd Moellmann <gerd@gnu.org>
11821
52283633 11822 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11823
83c8f461 118242000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11825
11826 * minibuf.c (Ftry_completion): Doc fix.
11827
7a85e4df
GM
118282000-01-11 Gerd Moellmann <gerd@gnu.org>
11829
11830 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11831 vector, too.
11832
a970dae4
AS
118332000-01-11 Andreas Schwab <schwab@suse.de>
11834
11835 * coding.c (code_convert_region): Initialize total_skip.
11836
c65d14ee
DL
118372000-01-08 Dave Love <fx@gnu.org>
11838
11839 * eval.c (Fuser_variable_p): Check customizability too.
11840
834938d2
GM
118412000-01-07 Gerd Moellmann <gerd@gnu.org>
11842
11843 * minibuf.c (Fcompleting_read): Doc fix.
11844
e0303cd6
GM
118452000-01-05 Gerd Moellmann <gerd@gnu.org>
11846
8a26744b
GM
11847 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11848 -L /usr/local/lib.
11849
e0303cd6
GM
11850 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11851 Check that input style is supported before trying to create an
11852 IC for it.
11853 (x_window): Call x_create_im.
427ec082 11854
2e471eb5
GM
118552000-01-04 Gerd Moellmann <gerd@gnu.org>
11856
560a7bd2
GM
11857 * xfns.c (current_gif_memory_src): New variable.
11858 (gif_load): Record the address of the current memory source
11859 in current_gif_memory_src.
11860 (gif_read_from_memory): Use current_gif_memory_src.
11861
f9ee84a3
GM
11862 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11863 macros statement form.
11864
d1299cde
GM
11865 * sound.c (struct sound): Renamed from struct sound_file.
11866 (struct sound): Add members `data' and `header_size'.
11867 (enum sound_attr): Add SOUND_DATA.
11868 (current_sound, current_sound_device): Variables renamed from
11869 sound_file and sound_device.
11870 (parse_sound): Parse :data.
11871 (parse_sound): Handle sound data in strings.
11872 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11873 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11874 needed header size.
11875 (wav_play, au_play): Play sounds from string data.
11876
2e471eb5
GM
11877 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11878
11879 * lisp.h: Add prototype for allocate_string_data.
11880
52283633 11881 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11882
11883 * alloc.c (mark_buffer): Remove code in #if 0.
11884 (gc_sweep): Ditto.
11885 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11886 (strings_consed): New variable.
11887 (allocate_string): Set it.
11888 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11889 (Fmemory_use_counts): Return strings_consed. Use Flist.
11890
11891 * alloc.c: General cleanup in comments etc. Remove conditional
11892 compilation for `standalone'.
11893
11894 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11895
11896 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11897 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11898 (DONT_COPY_FLAG): Removed.
11899 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11900 (struct sdata, struct sblock): New
11901 (struct string_block): Rewritten.
11902 (STRINGS_IN_STRING_BLOCK): New macro.
11903 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11904 (large_sblocks, string_blocks, string_free_list): New variables.
11905 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11906 (init_strings): Rewritten.
11907 (allocate_string, allocate_string_data, compact_small_strings)
11908 (free_large_strings, sweep_strings): New functions.
11909 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11910 (struct string_block_head, current_string_block)
11911 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11912 (STRING_PAD): Removed.
11913 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11914 (Fgarbage_collect): Don't set mark bit in large strings.
11915 (mark_object): Mark strings differently. Mark symbol names
11916 differently.
11917 (survives_gc_p): Test marked strings differently.
427ec082 11918 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11919 symbol names.
11920 (compact_strings): Removed.
11921
42608ba8
EZ
119222000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11923
11924 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11925 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11926
e0a09e1a
KH
119272000-01-04 Kenichi Handa <handa@etl.go.jp>
11928
dd9f0750 11929 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11930 in a non-empty buffer.
dd9f0750 11931
3c0f3b15 11932 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11933
44cd3ae5
GM
119342000-01-03 Gerd Moellmann <gerd@gnu.org>
11935
11936 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11937 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11938
11939 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11940
c182a70f
EZ
119412000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11942
11943 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11944 need to test for MSDOS frames.
11945
24480d5b
EZ
119462000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11947
11948 * dosfns.c (unspecified_colors): Remove.
11949 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11950 unspecified_bg.
11951 (msdos_stdcolor_name): Return strings for unspecified fore- and
11952 back-ground colors.
11953
11954 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11955 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11956 (tty_color_name): Return Lisp strings for unspecified fore- and
11957 back-ground colors.
11958 (Finternal_set_lisp_face_attribute): Remove the special treatment
11959 for Qunspecified_{f,b}g.
52283633 11960 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11961
047f434a
GM
119622000-01-03 Gerd Moellmann <gerd@gnu.org>
11963
11964 * xdisp.c (reseat_at_next_visible_line_start): Position before
11965 newline only if ending up on a newline.
11966 (next_element_from_ellipsis): Return success. Handle case of
52283633 11967 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11968 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11969 returns 0.
11970
d684c676
EZ
119712000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11972
11973 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11974 (Fcolor_supported_p): Renamed from face-color-supported-p.
11975
5fe1d139
EZ
119762000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11977
11978 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11979 list of colors renamed to tty-defined-color-alist.
11980 (tty_color_name): Pass the frame to tty-color-by-index.
11981 (realize_tty_face): tty-color-alist is now a function which
11982 accepts the frame as argument.
11983
52283633 11984 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11985
816be8b8
EZ
119862000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11987
11988 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11989 encode_terminal_code.
11990
b635321e
EZ
119912000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11992
11993 * dispnew.c (mode_line_string): Support termcap frames as well.
11994
9b784e96
GM
119952000-01-01 Gerd Moellmann <gerd@gnu.org>
11996
27189709
GM
11997 * syntax.c (Fforward_word): Undo previous change.
11998
11999 * editfns.c (Fconstrain_to_field): Don't constrain if
12000 inhibit-field-text-motion is non-nil.
12001 (Fline_beginning_position): Undo previous change.
12002 (Fline_end_position): Ditto.
12003
12004 * syntax.c (Fforward_word): Notice field boundaries only if
12005 inhibit-field-text-motion is nil.
12006
12007 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12008
12009 * editfns.c (Vinhibit_field_text_motion): New variable.
12010 (inhibit-field-text-motion): New DEFVAR_LISP.
12011 (Fline_beginning_position, Fline_end_position): Notice field
12012 boundaries only if inhibit-field-text-motion is nil.
12013
45158a91
GM
12014 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12015 All calls adjusted.
12016 (x_build_heuristic_mask): Likewise.
12017 (xbm_load_image_from_file): Change error output.
12018 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12019 (gif_load, gs_load, x_kill_gs_process): Ditto.
12020
9b784e96
GM
12021 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12022 color indices when accessing raster pixels.
63cec32f
GM
12023 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12024 one of :file or :data.
12025 (enum pbm_keyword_index): Add PBM_DATA.
12026 (pbm_format): Add :data.
12027 (pbm_image_p): Allow either :file or :data.
12028 (pbm_read_file): New function.
12029 (pbm_scan_number): Rewritten to read from string.
12030 (pbm_load): Support :data.
9b784e96 12031
2cb085db 12032See ChangeLog.8 for earlier changes.
6922b018
KH
12033
12034;; Local Variables:
49b3bd82 12035;; coding: iso-2022-7bit
6922b018 12036;; End: