Document problems with KDE's klipper.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e4cdc335
RS
12001-06-14 Richard M. Stallman <rms@gnu.org>
2
3 * xdisp.c (try_window_id): When EOB is visible, don't treat
4 insertion at EOB as if it were "off the bottom of the screen."
5
a55a5f3c
AI
62001-06-11 Andrew Innes <andrewi@gnu.org>
7
8 * w32proc.c (create_child): Add new parameter is_gui_app.
9 (w32_executable_type): Add new parameter is_gui_app.
10 (sys_spawnve): Use it.
11 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
12 SIGQUIT. This matches better how the signals are interpreted by
13 MSVC compiled programs.
14 (syms_of_ntproc): Update docstring.
15
1b85dc1c
SM
162001-06-02 Stefan Monnier <monnier@cs.yale.edu>
17
18 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
19 well otherwise note_mouse_highlight might optimize away highlighting
20 if we pass over that same overlay again.
21
b75f8eab
EZ
222001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
23
24 * lread.c (Fload): Document that the argument is run via
25 substitute-in-file-name.
26
94843cc1
GM
272001-05-31 Gerd Moellmann <gerd@gnu.org>
28
b14659e6
GM
29 * Makefile.in (bootstrap-doc): New target.
30 (bootstrap-emacs): Depend on it.
31
0894672f
GM
32 * fileio.c (Fdo_auto_save): Don't try to create the directory of
33 auto-save-list-file-name when shutting down Emacs, because
34 creating the directory might signal an error, and leaves
35 Emacs in a strange state.
36
94843cc1
GM
37 * term.c: (tty_cursor_hidden): New variable.
38 (update_begin): Don't call tty_hide_cursor. Clean up.
39 (update_end, set_terminal_window, set_scroll_region): Clean up.
40 (ring_bell, reset_terminal_modes): Clean up.
41 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
42 on tty_cursor_hidden.
43 (write_glyphs): Call tty_hide_cursor.
44
db3a49a6
SM
452001-05-30 Stefan Monnier <monnier@cs.yale.edu>
46
47 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
48
8bd189fb
GM
492001-05-30 Gerd Moellmann <gerd@gnu.org>
50
6f1be3b9
GM
51 * xfns.c (enum image_value_type): New enumerator
52 IMAGE_STRING_OR_NIL_VALUE.
53 (parse_image_spec): Handle it.
54 (xbm_format, pbm_format): Use it for :foreground and :background.
55 (xbm_load, pbm_load): Check for nil color names.
56
8bd189fb
GM
57 * xterm.c (note_mouse_highlight): If an overlapping overlay
58 exists, but we find that we highlight the same overlay as before,
59 don't do the highlighting again.
60
7bdba03c
GM
612001-05-29 Gerd Moellmann <gerd@gnu.org>
62
4c329aa8
GM
63 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
64 Protect unibyte strings created by replacing their multibyte
65 equivalents in menu_items.
66
e15e2828
GM
67 * keymap.c (Fsingle_key_description): NUL-terminate the string
68 buffer before calling build_string.
69
7bdba03c
GM
70 * callproc.c (Fcall_process): Deal with decode_coding returning
71 CODING_FINISH_INCONSISTENT_EOL.
72
89c8dc6c
GM
732001-05-28 Gerd Moellmann <gerd@gnu.org>
74
db3a49a6 75 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
76 an item's name with its key description in case the description
77 is a multibyte string.
78
79 * keymap.c (Fsingle_key_description): Create a multibyte string
80 only if necessary.
81
eb04d6cd
GM
82 * macros.c (Fstart_kbd_macro): Doc fix.
83
8bd6307f
GM
84 * xterm.c (cursor_in_mouse_face_p): New function.
85 (x_draw_stretch_glyph_string): Use it to choose a different GC
86 when drawing a cursor within highlighted text.
87
e26c4089
GM
88 * editfns.c (char_property_eq): Put in #if 0.
89
90 * indent.c (string_display_width): Put in #if 0.
91
92 * lread.c (Fload): Remove unused label.
93
89c8dc6c
GM
94 * termcap.c (speeds): Put in #if 0.
95
9a1211f2
GM
962001-05-18 Gerd Moellmann <gerd@gnu.org>
97
29148a3f
GM
98 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
99
9a1211f2
GM
100 * xfaces.c (xlfd_point_size): Don't divide pixel size from
101 transformation matrix by 10.
102
09393d07
GM
1032001-05-16 Gerd Moellmann <gerd@gnu.org>
104
105 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
106 only if it's equal to the former foreground pixel color.
db3a49a6 107 (x_set_foreground_color, x_set_background_color)
09393d07
GM
108 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
109
460e6bae
GM
1102001-05-16 Dave Love <fx@gnu.org>
111
112 * insdel.c (signal_before_change, signal_after_change): Consider a
113 local change hook which changes the buffer.
99c78ce8
GM
114
115 * process.c (read_process_output): Don't call signal_after_change
116 and update_compositions after insert_from_string_before_markers.
117
dbcf3c03
GM
1182001-05-16 Gerd Moellmann <gerd@gnu.org>
119
a90b3d3c
GM
120 * xfaces.c (split_font_name): Use the right field when
121 checking for `[...]' syntax.
122
1b7818b4
GM
123 * buffer.c (copy_overlays): New function.
124 (clone_per_buffer_values): Use it.
125
126 * buffer.h (OVERLAY_PLIST): New macro.
127
9bae8781
GM
128 * keymap.c (Fsingle_key_description): Replace a build_string with
129 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
130
dbcf3c03
GM
131 * fontset.c (Ffontset_info): Check that face is non-null
132 before accessing its fields.
133
8a1ae4dd
GM
1342001-05-15 Gerd Moellmann <gerd@gnu.org>
135
18a0a39e
GM
136 * keyboard.c (read_key_sequence): Prevent generating a fake
137 prefix key twice.
138
e335b66a
GM
139 * xfaces.c (split_font_name): Handle `[...]' for the right
140 font name fields.
141
8a1ae4dd
GM
142 * ccl.c (ccl_driver): Don't copy remaining bytes in case
143 of CCL_STAT_INVALID_CMD.
144
3cf80731
SM
1452001-05-14 Stefan Monnier <monnier@cs.yale.edu>
146
33568849
SM
147 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
148 in <var> has no default value yet.
149
3cf80731
SM
150 * xfaces.c (try_alternative_families): First try the FAMILY.
151 And if nothing is found in the end, try again with scalable fonts.
152 (try_font_list): Let try_alternative_families do a bit more of
153 the work. Only use FAMILY if it is not nil.
154 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
155
933b0249
GM
1562001-05-14 Gerd Moellmann <gerd@gnu.org>
157
58e5af83
GM
158 * xterm.c (note_mouse_highlight): Avoid changing the mouse
159 pointer shape when show_mouse_face has already done it.
33568849 160
58e5af83 161 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
162 full-width rows.
163
7b16a6bf
GM
164 * xfaces.c (split_font_name): Make sure to leave the loop
165 with the right value of `i'.
3cf80731 166
933b0249
GM
167 * xfaces.c (split_font_name): Handle matrix transformations
168 in the pixel and point size fields of XLFD font names.
169 (xlfd_point_size): Likewise.
170
dddcbf00
EZ
1712001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
172
3cf80731 173 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
174 (x_to_w32_font): Add prototype.
175
7689ef0b
EZ
176 * regex.c (malloc, realloc, free) [emacs]: Undefine before
177 redefining, to avoid compiler warnings.
178
e7c15bba
EZ
179 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
180
dddcbf00
EZ
181 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
182 (w32_get_bdf_glyph): Cast between unsigned char and char when
183 passing arguments to subroutines, to shut up compiler warnings.
184 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
185 GET_HEX_VAL.
186
187 * xfaces.c: Include keyboard.h before frame.h, not after it.
188
189 * widget.c: Include keyboard.h before frame.h.
190
191 * w32term.h (struct image, struct face): Forward declaration, to
192 avoid compiler warnings.
193
7bd2d083
GM
1942001-05-11 Gerd Moellmann <gerd@gnu.org>
195
47e72862
GM
196 * keyboard.c (read_key_sequence): Don't modify events when
197 generating fake prefix keys (mode-line, scroll-bar, ...) since
198 this prevents proper processing of such events when pushed back
199 into unread-command-events.
200
dd5f324b
GM
201 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
202 actually redrawn. Make the function static.
203 (note_mouse_highlight): Fix a case where the mouse cursor
204 was changed back to the text cursor.
205
206 * xterm.h (clear_mouse_face): Remove prototype.
207
d88a79d4
GM
208 * xdisp.c (try_window_id): Fix the fix and set the right
209 window_end_vpos.
210
211 * xdisp.c (try_window_id): Fix computation of window end in the
212 case that lines were deleted at the end of the window. Add some
213 more debug_method_adds.
0416532f 214
7bd2d083
GM
215 * xfaces.c (try_alternative_families): New function.
216 (try_font_list): Use it. If ATTRS specifies a family, check
217 fonts from that family first.
218 (choose_face_font): Remove code setting the family part of
219 the pattern to nil.
220
23fca891
GM
2212001-05-10 Gerd Moellmann <gerd@gnu.org>
222
ff9aa2ca
GM
223 * xdisp.c (try_window_id): Fix case of all changes before
224 the window start.
7b2654b5 225
23fca891
GM
226 * xdisp.c (try_window_id): Add some xasserts.
227
e9726794
GM
2282001-05-09 Gerd Moellmann <gerd@gnu.org>
229
230 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
231
9e53a675
GM
2322001-05-09 Dave Love <fx@gnu.org>
233
234 * xdisp.c (GIVE_UP): Fix for K&R C.
235
0d487c52
GM
2362001-05-09 Gerd Moellmann <gerd@gnu.org>
237
fe88d421
GM
238 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
239
0d487c52
GM
240 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
241 back to the text cursor shape without need.
242
1e9fc92e
GM
2432001-05-07 Gerd Moellmann <gerd@gnu.org>
244
a2a6232e
GM
245 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
246
247 * dispextern.h (inverse_video): Declare extern.
248
1e9fc92e
GM
249 * keyboard.c (delete_kboard): Handle the case that selected_frame
250 has been deleted in the course of x_connection_closed.
251
12949a7f
EZ
2522001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
253
7b2654b5
SM
254 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
255 Fix the change from 2001-04-30.
12949a7f 256
2fa2f461
GM
2572001-05-03 Gerd Moellmann <gerd@gnu.org>
258
a779d213
GM
259 * xfns.c (file_dialog_unmap_cb): New function.
260 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
261 where a dialog is closed via the window manager.
262
7b2654b5 263 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
264 the window start or all below the window end mostly rewritten.
265 (redisplay_window): Move the tests if try_window_id is
266 applicable to try_window_id.
267 (GIVE_UP): New macro.
268
3356df63
GM
2692001-05-02 Gerd Moellmann <gerd@gnu.org>
270
a39202f6 271 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
272 currently being updated, mark the frame garbaged.
273 Fix computation of rows intersecting the exposed rectangle.
a39202f6 274 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 275
3356df63
GM
276 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
277 again if it has already been drawn.
278
a9d2fd1d
SM
2792001-05-01 Stefan Monnier <monnier@cs.yale.edu>
280
281 * syntax.c (update_syntax_table): Check that oldi has the same
282 properties as old_prop before deciding not to invalidate.
283
c95fc5f1
GM
2842001-04-30 Gerd Moellmann <gerd@gnu.org>
285
a9793e45
GM
286 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
287 read-only text that is so because of text properties.
288
c95fc5f1 289 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 290 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
291 windows that are components of a Lucid menu bar.
292
5a5d9185
GM
2932001-04-27 Gerd Moellmann <gerd@gnu.org>
294
295 * term.c (turn_on_face): Fix reverse video handling on terminals
296 that don't support colors.
297
ba973f7a
GM
2982001-04-26 Gerd Moellmann <gerd@gnu.org>
299
300 * editfns.c (save_excursion_restore): Don't use XBUFFER on
301 a non-buffer.
302
8c56a983
GM
3032001-04-25 Gerd Moellmann <gerd@gnu.org>
304
a728644c
GM
305 * term.c (toggle_highlight): New function.
306 (turn_on_face): Change handling of reverse video.
307
7b2654b5
SM
308 * process.c (wait_reading_process_input):
309 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 310
bfd8410f
GM
311 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
312 of the number of overlays to check.
313
be2488ca
GM
314 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
315
8c56a983
GM
316 * xdisp.c (try_window_id): Fix a case where window_end_pos
317 and window_end_bytepos were not adjusted.
318
522d42f7
GM
3192001-04-23 Gerd Moellmann <gerd@gnu.org>
320
321 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
322 zero instead of -1.
323
78c1afb6
EZ
3242001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
325
a9d2fd1d
SM
326 * process.c (wait_reading_process_input) [!subprocesses]:
327 Don't reference waiting_for_user_input_p, it's not defined in the
328 branch without async subprocesses support.
78c1afb6 329
a2fab450
GM
3302001-04-19 Gerd Moellmann <gerd@gnu.org>
331
a122a38e
GM
332 * keyboard.c (delete_kboard): Prevent a dangling reference
333 from current_kboard to KB, which is freed.
334
a9d2fd1d
SM
335 * process.c (wait_reading_process_input):
336 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
337 read_key_sequence aware of buffer changes from under it.
338
0f8d6dc7
GM
3392001-04-18 Gerd Moellmann <gerd@gnu.org>
340
eeffb293
GM
341 * xfaces.c (Qscalable_fonts_allowed): New variable.
342 (realizing_basic_faces_p): Removed.
2fa2f461
GM
343 (x_face_list_fonts): Special handling for realizing_basic_faces_p
344 removed.
eeffb293 345 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
346 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
347 for scalable-fonts-allowed to t.
eeffb293 348
0f8d6dc7
GM
349 * fileio.c (Finsert_file_contents): If the file size returned from
350 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 351 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 352
eec2d1de
EZ
3532001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
354
355 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
356 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
357 (__memalign_hook): Make the two prototypes consistent.
358
f4f480bd
GM
3592001-04-17 Gerd Moellmann <gerd@gnu.org>
360
361 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
362 matrix of mini-windows.
363
52283633
SM
3642001-04-12 Stefan Monnier <monnier@cs.yale.edu>
365
366 * intervals.c (find_interval): Don't rebalance during signal handling.
367
ec2423c9
GM
3682001-04-11 Gerd Moellmann <gerd@gnu.org>
369
30cb0001 370 * fns.c: Include blockinput.h.
52283633 371
ec2423c9
GM
372 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
373
719d83ad
GM
3742001-04-10 Gerd Moellmann <gerd@gnu.org>
375
60f8d735
GM
376 * fns.c (Fcompare_strings): Fix return values.
377
afffeb57
GM
378 * window.c (window_scroll): Change the meaning of N to mean
379 N screen-fulls or N lines.
380 (window_scroll_pixel_based, window_scroll_line_based)
381 (scroll_command, Fscroll_other_window): Change accordingly.
382
52283633
SM
383 * window.c (window_scroll_pixel_based, Frecenter):
384 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
385 height of the window.
386
387 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
388 instead of using it.last_visible_y for the height of the window.
52283633 389
719d83ad 390 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 391 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
392
393 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
394 able to write to hidden and system files. From Dan Holmsand
395 <dan@eyebee.com>.
719d83ad 396
8ddf3ee1
GM
397 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
398 Holmsand <dan@eyebee.com>.
719d83ad 399
522ed7fb
GM
4002001-04-09 Gerd Moellmann <gerd@gnu.org>
401
9170e5d4
GM
402 * fns.c (Fplist_get, Fplist_put): Add QUITs.
403
522ed7fb
GM
404 * window.c (window_internal_height): Return 1 less if the
405 window has a header line.
406
407 * xdisp.c (try_window_id): When scrolling on a terminal, take
408 the change of window_internal_height into account.
409
ceeb3d7d
EZ
4102001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
411
412 * gmalloc.c (align): If the argument SIZE would overflow
413 __malloc_ptrdiff_t, fail right away.
414
63685b9d
GM
4152001-04-06 Gerd Moellmann <gerd@gnu.org>
416
417 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
418 Make sure the tooltip is completely visible.
419 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
420
421 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
422
423 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
424
3ffb33bb
DL
4252001-04-06 Dave Love <fx@gnu.org>
426
52283633
SM
427 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
428 Fix test of `from'.
3ffb33bb 429
869fb12c
GM
4302001-04-06 Gerd Moellmann <gerd@gnu.org>
431
52283633 432 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 433
869fb12c
GM
434 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
435
441bf856
GM
4362001-04-05 Gerd Moellmann <gerd@gnu.org>
437
4d664b04
GM
438 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
439
52283633 440 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 441
30ca89f5
GM
442 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
443 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
444
445 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
446 shell widget's position only if it is non-null.
447
52283633
SM
448 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
449 Set f->output_data.x->widget to null after destroying it.
30ca89f5 450
81a81c0f
GM
451 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
452 FILENAME to bring it in synch with the documentation.
453
441bf856
GM
454 * xfaces.c (realizing_basic_faces_p): Renamed from
455 realize_default_face_p.
456 (realize_basic_faces): Set/clear realizing_basic_faces_p.
457 (realize_default_face): Don't set the flag.
458
702a1e8e
GM
4592001-04-04 Gerd Moellmann <gerd@gnu.org>
460
1013f4e3
GM
461 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
462
52283633
SM
463 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
464
1013f4e3
GM
465 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
466 the buffer that was used for echoing.
467
702a1e8e
GM
468 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
469 (first_font_matching): Removed unused function.
470 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
471 (may_use_scalable_font_p): Remove parameter FONT; rename
472 parameter NAME to FONT.
473 (x_face_list_fonts): Fix missing bounds check.
474 (realizing_default_face_p): New variable.
475 (realize_default_face): Set and clear that flag.
476 (x_face_list_fonts): When called during the realization of the
477 default face, and no matching fonts are found when ignoring
478 scalable fonts and fonts matching a regexp from
479 face-ignored-fonts, try without ignoring fonts.
480
f9dbcda4
GM
4812001-04-03 Gerd Moellmann <gerd@gnu.org>
482
ad18ffb1
GM
483 * xfns.c (postprocess_image): New function.
484 (lookup_image): Call it for all image types except PostScript.
485 (x_kill_gs_process): Call postprocess_image.
486
f9dbcda4
GM
487 * xterm.c (x_use_underline_position_properties): New variable.
488 (x_draw_glyph_string): Use it.
489 (syms_of_xterm): DEFVAR_BOOL it.
490
651f03b6
GM
4912001-04-02 Gerd Moellmann <gerd@gnu.org>
492
493 * xterm.c (x_alloc_nearest_color_1): New function.
494 (x_alloc_nearest_color): Use it.
495 (x_color_cells): Take a Display as argument, instead of a frame.
496 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
497 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
498 (x_initialize): Register cvt_string_to_pixel as resource converter
499 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
500
73d75a62
GM
5012001-03-30 Gerd Moellmann <gerd@gnu.org>
502
b2046df8
GM
503 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
504 (set_iterator_to_next): If a string from a display property ends,
505 consider the case that this might also be the end of an
506 overlay string having the display property.
507
52283633 508 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 509
87d8eba4
GM
510 * xdisp.c (reseat_to_string): Undo last change.
511
73d75a62
GM
512 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
513 matrix of a window when the header line changes, when
514 new rows are allocated, or when the width changes.
515
911a2406
EZ
5162001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
517
52283633 518 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 519
aea51abe
EZ
5202001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
521
522 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
523 deprecated.
524
176bc847
GM
5252001-03-29 Gerd Moellmann <gerd@gnu.org>
526
ed31fabf
GM
527 * data.c (Fsubr_interactive_form): New function.
528 (syms_of_data): Defsubr it.
529
176bc847
GM
530 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
531 (live_float_p, live_misc_p): Return 1 only if the offset of the
532 pointer in its block is >= 0.
533
e59d0e9d
GM
5342001-03-28 Paul Eggert <eggert@twinsun.com>
535
536 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
537 microseconds calcuation. Avoid double-rounding problem.
538 In doc string, warn that the result is approximate.
539
f827b862
GM
5402001-03-28 Gerd Moellmann <gerd@gnu.org>
541
30a3f61c
GM
542 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
543 bind `inhibit-eval-during-redisplay' to t.
544
545 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
546
547 * xdisp.c (inhibit_eval_during_redisplay)
548 (Qinhibit_eval_during_redisplay): New variables.
549 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
550 don't eval, return nil instead.
551 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
552 Initialize Qinhibit_eval_during_redisplay.
553
e719f5ae
GM
554 * xdisp.c (reseat_to_string): If STRING is multibyte, set
555 the iterator's multibyte_p flag.
556
deb2613a
GM
557 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
558 instead of setting it to zero; it's incremented for each frame
559 where the menu face is changed.
560
52283633
SM
561 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
562 change bottom shadow accordingly.
563
564 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
565 intersections here.
566 (expose_window): Do it here instead.
52283633 567 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 568
f827b862
GM
569 * bytecode.c (BYTE_CODE_QUIT): New macro.
570 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
571
4bde0ebb
GM
5722001-03-27 Gerd Moellmann <gerd@gnu.org>
573
607ec83c
GM
574 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
575 Give up if matrix starts in an ellipsis.
576 (init_from_display_pos): Do nothing if POS doesn't specify
577 a dpvec_index but the iterator has such a position.
578
0245398f
GM
579 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
580
aba25348
GM
581 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
582 x/y position is (0, 0) after destroying the menu bar, restore
583 its original position.
584
4bde0ebb
GM
585 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
586 (init_from_display_pos): Use it.
587 (try_window_reusing_current_matrix): Don't use cursor_row_p.
588
8cdb267e
GM
5892001-03-26 Gerd Moellmann <gerd@gnu.org>
590
591 * xdisp.c (try_window_id): Undo last change.
592
9948db79
EZ
5932001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
594
595 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
596
597 * buffer.c (syms_of_buffer): Doc fix.
598
2eddf899
GM
5992001-03-26 Gerd Moellmann <gerd@gnu.org>
600
601 * xfaces.c (x_update_menu_appearance): Use local variable
602 popup_path for setting font resources.
603
6c145d35
EZ
6042001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
605
6a65b1b5
EZ
606 * frame.c (Fframe_list): Don't reference tip_frame if
607 HAVE_WINDOW_SYSTEM is not defined.
608
6c145d35
EZ
609 * emacs.c (main): Update the copyright year. From Werner LEMBERG
610 <wl@gnu.org>.
611
d74c1900
GM
6122001-03-25 Gerd Moellmann <gerd@gnu.org>
613
20fbd925
GM
614 * xdisp.c (init_from_display_pos): Test invisible property
615 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 616
927c5b3b
GM
617 * xdisp.c (redisplay_internal) <update one window>: Make sure
618 last_arrow_position and last_arrow_string are set.
619
d74c1900
GM
620 * frame.c (Fframe_list): Don't return a tooltip frame.
621
091f8878
GM
6222001-03-23 Gerd Moellmann <gerd@gnu.org>
623
52283633
SM
624 * xdisp.c (mark_window_display_accurate_1): New function,
625 extracted from mark_window_display_accurate.
626 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
627 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
628 (mark_window_display_accurate): Use it.
629 (redisplay_internal): Use it for the selected window.
630 (redisplay_internal): Avoid duplicate mark_window_display_accurate
631 for the selected frame.
632
ac90c44f
GM
633 * xdisp.c Use make_number, for readability.
634 (try_window_id): Disable rows below the window end.
635 (try_window_reusing_current_matrix): Use cursor_row_p.
636 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
637 of rows.
638 (init_from_display_pos): If POS specifies a position in a display
639 vector, maybe get the iterator set up for that ellipsis.
43c09969 640
091f8878
GM
641 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
642
991786dd
EZ
6432001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
644
645 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
646
6c29b43c
GM
6472001-03-23 Gerd Moellmann <gerd@gnu.org>
648
649 * xfaces.c (x_update_menu_appearance): Use a different path
650 for Lucid popup menus.
651
d8731202
SM
6522001-03-22 Stefan Monnier <monnier@cs.yale.edu>
653
654 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
655
656 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
657 (string_buffer_position): Use `make_number'.
658
f61a541b
GM
6592001-03-22 Gerd Moellmann <gerd@gnu.org>
660
3c9e997b
GM
661 * xfaces.c (x_update_menu_appearance): Renamed from
662 x_set_menu_face_resources. Use different resources for popups.
663
664 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
665 (GC_CHECK_STRING_BYTES): Don't define.
666
364cd450
GM
667 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
668 Removed, together with subroutines.
669 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 670 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 671
d8731202
SM
672 * dispextern.h (x_set_menu_resources_from_menu_face):
673 Remove prototype.
364cd450 674
d8731202 675 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
676 Remove calls to x_set_menu_resources_from_menu_face.
677
d8731202
SM
678 * xfaces.c (xm_set_menu_resources_from_menu_face):
679 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
680
681 * xmenu.c: Include widget.h.
682 (single_submenu): Return int. Some cleanup.
683 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
684
140330de
GM
6852001-03-21 Gerd Moellmann <gerd@gnu.org>
686
687 * xterm.c (x_update_window_end): Handle overwritten mouse face
688 also for tool bar windows.
689 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
690 DRAW is DRAW_IMAGE_RAISED.
691
1741905c
GM
6922001-03-20 Gerd Moellmann <gerd@gnu.org>
693
fa88947e
GM
694 * print.c (syms_of_print): Doc fixes.
695
1741905c
GM
696 * fns.c (Fmd5): Doc fix.
697
ade0bee1
GM
6982001-03-19 Gerd Moellmann <gerd@gnu.org>
699
357e7376
GM
700 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
701 Clear area of the frame not occupied by the scroll bar.
702
c2c097cc
GM
703 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
704 tip frame's root window buffer to *tip* right after creating
705 the frame.
706
ade0bee1
GM
707 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
708 is an integer don't have to be for space characters.
709
88c6e37e
GM
7102001-03-16 Gerd Moellmann <gerd@gnu.org>
711
52283633
SM
712 * indent.c (current_column, current_column_1, Fmove_to_column)
713 (compute_motion): Handle characters from display vectors differently.
88c6e37e 714
c62eed76
KH
7152001-03-15 Kenichi Handa <handa@etl.go.jp>
716
717 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
718 drawing glyph string.
719
c899e7e6
GM
7202001-03-15 Gerd Moellmann <gerd@gnu.org>
721
d0bbfc99
GM
722 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
723 (command_loop_1): Undo last change.
724
03d1a189
GM
725 * xterm.c (fast_find_position): Return the correct vpos.
726
c899e7e6 727 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 728 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
729 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
730 Call store_symval_forwarding with BUF null.
731 (set_internal): Call store_symval_forwarding with the BUF
732 parameter passed to set_internal. Formerly, the value was always
733 set in the current buffer; the buffer recorded in specbind for
734 this case wasn't used.
735 (arith_driver): Reindent.
736
52283633
SM
737 * buffer.c (swap_out_buffer_local_variables):
738 Call store_symval_forwarding with BUF null.
c899e7e6
GM
739
740 * lisp.h (store_symval_forwarding): Change prototype.
741
742 * eval.c (specbind): Call store_symval_forwarding with BUF null.
743
57ac7c81
GM
7442001-03-14 Gerd Moellmann <gerd@gnu.org>
745
697617d9
GM
746 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
747 FOR_DELETION. Avoid resizing the mini-window of the selected
748 frame if FOR_DELETION is set.
749 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
750 (Fmake_frame_invisible): Change calls to do_switch_frame for new
751 signature.
752
753 * window.c (Fset_window_configuration): Change call to
754 do_switch_frame to new format.
755
756 * keyboard.c (quit_throw_to_read_char): Change call to
757 do_switch_frame to new format.
758
759 * lisp.h (do_switch_frame): Change prototype.
760
819dce0f
GM
761 * frame.c (Fframe_parameters): In the `buffer-list' frame
762 parameter, store the buffer list of FRAME, not the list of the
763 selected frame.
764
57ac7c81
GM
765 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
766 box just because the glyph row's full_width_p flag is set.
767
65008712
GM
7682001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
769
770 * xdisp.c (highlight_trailing_whitespace): On character terminals,
771 skip the padding blanks inserted in extend_face_to_end_of_line,
772 before checking for trailing whitespace.
773
159cf431
GM
7742001-03-13 Gerd Moellmann <gerd@gnu.org>
775
52283633 776 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
777 Remove special handling for LessTif/Motif.
778 (toplevel): Don't include Xm/Xm.h.
779
52283633
SM
780 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
781 Remove workaround code for LessTif; it doesn't work anymore.
782
2564ea1b 783 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 784 Xm/ScrollBarP.h.
afcdc0a1 785
52283633
SM
786 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
787 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
788 contemporary LessTif.
789
52283633
SM
790 * xfaces.c (xm_set_menu_resources_from_menu_face):
791 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 792
159cf431
GM
793 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
794 removing button grabs.
795
c6f7429a
KH
7962001-03-13 Kenichi Handa <handa@etl.go.jp>
797
cb82d767
KH
798 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
799 and clip-large-size-font as obsolete.
800
c6f7429a
KH
801 * lread.c (read_multibyte): Check the validity of multibyte
802 sequence. If invalid, return the first byte.
803
760cefb5
GM
8042001-03-12 Gerd Moellmann <gerd@gnu.org>
805
806 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
807 before running the command; timer functions or process
808 filters may have set it.
809
5141f9d0
EZ
8102001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
811
812 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
813 Doc fix.
814
b6a15240
GM
8152001-03-12 Gerd Moellmann <gerd@gnu.org>
816
817 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
818 to sprintf.
819
95522746
GM
8202001-03-09 Gerd Moellmann <gerd@gnu.org>
821
db14cfc5
GM
822 * dispextern.h (string_buffer_position): Add prototype.
823
52283633 824 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
825 (single_display_prop_string_p): New functions.
826
827 * xterm.c (note_mouse_highlight): If there's no help-echo on
828 a string, look at the buffer text ``under'' it.
829
830 * keyboard.c (make_lispy_event): Add string info to the event,
831 analogous to what's done on mode lines.
832 (read_key_sequence): For a click on a string, consider `local-map'
833 and `keymap' of that string.
834
52283633
SM
835 * keyboard.c (make_lispy_event, make_lispy_movement):
836 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
837
838 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
839
840 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
841 POS; return void.
842
95522746
GM
843 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
844 flags argument to emacs_open; it seems to conflict with O_EXCL.
845
898a399d
KH
8462001-03-09 Kenichi Handa <handa@etl.go.jp>
847
28cd4910
KH
848 * composite.h (struct composition): Change types of members;
849 glyph_len to unsigned, width to unsigned short.
898a399d 850
4cdf6a6c
AI
8512001-03-08 Andrew Innes <andrewi@gnu.org>
852
853 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
854 menu titles.
855
129004d3
GM
8562001-03-08 Gerd Moellmann <gerd@gnu.org>
857
221dd3e7
GM
858 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
859 instead of nil.
860
52283633 861 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
862 help-echo in strings.
863 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
864 (fast_find_string_pos): New function.
865
52283633
SM
866 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
867 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
868
869 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
870 Handle `mouse-face'.
871
872 * dispextern.h (face_at_string_position): Change prototype.
873
52283633 874 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 875
129004d3
GM
876 * keyboard.c (make_lispy_event): Avoid generating drag events
877 if the mouse hasn't actually moved to another buffer position.
52283633 878
80c8ab8c
DL
8792001-03-08 Dave Love <fx@gnu.org>
880
129004d3 881 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 882
989521fd
GM
8832001-03-08 Gerd Moellmann <gerd@gnu.org>
884
885 * process.c (Fset_process_window_size): Fix a typo.
886
bb5c338d
KH
8872001-03-08 Kenichi Handa <handa@etl.go.jp>
888
889 * coding.c (detect_coding_sjis): Do more rigid check.
890 (detect_coding_big5): Likewise.
891 (decode_coding_sjis_big5): Likewise.
892 (Fdetect_coding_region): Call detect_coding_system with tailing
893 anchor byte `\0' for more rigid detection.
52283633 894 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
895 (Fdetect_coding_string): Likewise.
896
8b8f9197
SM
8972001-03-07 Stefan Monnier <monnier@cs.yale.edu>
898
899 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
900 a string before extracting its data.
901
3bdf2660
GM
9022001-03-07 Gerd Moellmann <gerd@gnu.org>
903
904 * window.c (Frecenter): Rewrite code handling negative values
905 of ARG on graphical frames.
906
9072001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
908
909 * window.c (displayed_window_lines): If W->start is outside the
910 accessible portion of the buffer, call start_display with BEGV or
911 ZV instead of W->start.
912
471f86b9
GM
9132001-03-07 Gerd Moellmann <gerd@gnu.org>
914
2ab62c6c
GM
915 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
916
471f86b9
GM
917 * process.c (Fset_process_filter): Don't crash if the input
918 file descriptor of PROCESS is closed.
919 (Fset_process_window_size): Likewise.
920
101922c3
GM
9212001-03-06 Kenichi Handa <handa@etl.go.jp>
922
923 * xterm.c (XTflash): Make the timeout of select shorter, and call
924 select repeatedly until the desired time expires.
925
45d051a7
GM
9262001-03-06 Gerd Moellmann <gerd@gnu.org>
927
928 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
929
930 * xfns.c (Fx_create_frame): Clear Vwindow_list.
931
932 * lisp.h (Vwindow_list): Declare extern.
933
8f372c46
EZ
9342001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
935
936 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
937
f16a7aa5
GM
9382001-03-06 Gerd Moellmann <gerd@gnu.org>
939
157ae273
GM
940 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
941 to detect a case where we have to highlight a different region
942 despite not having left the currently highlighted region.
943 Set mouse_face_overlay in the x_display_info.
45d051a7 944 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
945
946 * xterm.h (struct x_display_info): Add mouse_face_overlay.
947
948 * buffer.c (mouse_face_overlay_overlaps): New function.
949
950 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
951 (Qmouse_face): Declare extern.
952
f16a7aa5
GM
953 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
954 if face_change_count is non-zero.
955
827afcac
KH
9562001-03-06 Kenichi Handa <handa@etl.go.jp>
957
958 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
959 that the source is unibyte.
960
14c7242e
DL
9612001-03-05 Dave Love <fx@gnu.org>
962
827afcac 963 * xterm.c (XTmouse_position): Fix typo.
14c7242e 964
c28b847b
GM
9652001-03-05 Gerd Moellmann <gerd@gnu.org>
966
967 * minibuf.c (read_minibuf): Clean up the binding stack if
968 called noninteractively.
969
b86644f2
KH
9702001-03-05 Kenichi Handa <handa@etl.go.jp>
971
972 * coding.c (syms_of_coding): Docstring modified.
973
203682cc 9742001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
975
976 * charset.c (char_to_string): If a single byte char has modifier
977 bits that can't be reflected to the character code, ignore them
45d051a7 978 instead of signaling an error.
b86644f2 979
e30bd7b7
EZ
9802001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
981
982 * s/msdos.h: Update copyright notice.
983
984 * dosfns.h: Update copyright notice.
985
986 * dosfns.c: Update copyright notice.
987
988 * msdos.c: Update copyright notice.
989
b52b65bd
GM
9902001-03-02 Gerd Moellmann <gerd@gnu.org>
991
992 * xterm.c (glyph_rect): New function.
993 (XTmouse_position): Use it to raise the threshold for mouse
994 movement event generation.
995
53c4b1e6
EZ
9962001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
997
998 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
999 specifies (reverse . t), reverse the initial screen colors.
1000 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1001 but we are reversing the colors, set bg_set, not fg_set.
1002 Likewise for setting background-color and reversing: set fg_set.
1003 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1004 in effect.
1005
1006 * xfaces.c (Finternal_set_lisp_face_attribute)
1007 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1008 parameters alist.
1009
f964b4d7
GM
10102001-03-02 Gerd Moellmann <gerd@gnu.org>
1011
ef53d75e
GM
1012 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1013 to a single slash in the middle of file names.
1014
52283633 1015 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1016 Accept only alphanumeric time zone names.
1017
f964b4d7
GM
1018 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1019 or width area.
1020 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1021 a widget to zero height.
52283633 1022
c3c45f65
GM
10232001-03-01 Gerd Moellmann <gerd@gnu.org>
1024
1025 * window.c (Fwindow_end): Call move_it_past_eol only if
1026 ending up on a partially visible line.
1027
028d739a
DL
10282001-03-01 Dave Love <fx@gnu.org>
1029
1030 * ccl.c (Fccl_execute): Doc fix.
1031
57c5889c
GM
10322001-03-01 Gerd Moellmann <gerd@gnu.org>
1033
35f59f6b
GM
1034 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1035 of the tool bar before calling x_figure_window_size.
1036
f84ff02c
GM
1037 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1038 NULL after destroying it, otherwise XTread_socket can access a
1039 destroyed widget when input is unblocked.
1040
8b8f9197 1041 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1042
57c5889c
GM
1043 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1044 same name as before, although there was a change in fontsets.
1045
224227d1
KR
10462001-02-28 Ken Raeburn <raeburn@gnu.org>
1047
4560730a
KR
1048 * lisp.h (Fframe_parameter): Declare.
1049
224227d1 1050 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1051 Lisp_Object.
224227d1 1052
ece93c02
GM
10532001-02-28 Gerd Moellmann <gerd@gnu.org>
1054
11ef99b9
GM
1055 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1056 NULL instead.
1057
1058 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1059 NULL instead.
1060
ece93c02
GM
1061 * alloc.c (toplevel): Include process.h.
1062 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1063 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1064 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1065 (allocate_vector, allocate_hash_table, allocate_window)
1066 (allocate_frame, allocate_process, allocate_other_vector):
1067 New functions.
ece93c02
GM
1068 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1069 (mark_maybe_pointer): New function.
52283633 1070 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1071 remain and not Lisp_Objects.
1072 (min_heap_address, max_heap_address): New variables.
1073 (mem_find): Return MEM_NIL if START is below min_heap_address or
1074 above max_heap_address.
1075 (mem_insert): Compute min_heap_address and max_heap_address.
1076
1077 * process.c (make_process): Use allocate_process.
1078
1079 * frame.c (make_frame): Use allocate_frame.
1080
1081 * window.c (make_window, make_dummy_parent): Use allocate_window.
1082 (Fcurrent_window_configuration): Use allocate_other_vector.
1083
1084 * lisp.h (allocate_vectorlike): Remove prototype.
1085 (allocate_vector, allocate_other_vector, allocate_frame)
1086 (allocate_window, allocate_process, allocate_hash_table):
1087 Add prototypes.
1088
1089 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1090 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1091
063af457
KH
10922001-02-27 Kenichi Handa <handa@etl.go.jp>
1093
1094 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1095 treat the produced bytes as a valid multibyte sequence.
1096
1097 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1098 (ccl_driver) <CCL_WriteMultibyteChar2>:
1099 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1100 <ccl_finish>: Set ccl->eight_bit_control properly.
1101
1102 * ccl.h (struct ccl_program): New member eight_bit_control.
1103
f58c6494
SM
11042001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1105
1106 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1107 accessible_keymaps_char_table.
1108 (accessible_keymaps_char_table): Obey `is_metized'.
1109 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1110 Lisp_Object.
1111
c596c392
GM
11122001-02-26 Gerd Moellmann <gerd@gnu.org>
1113
1114 * dispnew.c: Check HAVE_TERM_H before including term.h.
1115
425de386
AI
11162001-02-24 Andrew Innes <andrewi@gnu.org>
1117
1118 * makefile.w32-in: Update copyright notice.
1119
2ba11bbd
SM
11202001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1121
1122 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1123
66c56ed1
KH
11242001-02-24 Kenichi Handa <handa@etl.go.jp>
1125
4c1593ce
KH
1126 * Makefile.in (lisp): Add international/utf-8.elc.
1127
66c56ed1
KH
1128 * fontset.c (Fnew_fontset): Fix handling of the case that an
1129 element of FONTLIST is a cons of family and registry.
1130
796ead7e
JR
11312001-02-23 Jason Rumney <jasonr@gnu.org>
1132
1133 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1134 to height unconditionally.
1135
1136 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1137 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1138 (x_insert_glyphs): Call window_box_left to obtain the left
1139 x-coordinate of the area to shift.
1140
1141 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1142 safe_run_hooks.
1143
f6839838
AI
11442001-02-22 Andrew Innes <andrewi@gnu.org>
1145
52283633 1146 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1147 ($(BLD)\dispnew.obj):
1148 ($(BLD)\editfns.obj):
1149 ($(BLD)\fileio.obj):
1150 ($(BLD)\filelock.obj):
1151 ($(BLD)\keyboard.obj):
1152 ($(BLD)\w32proc.obj):
1153 ($(BLD)\process.obj):
1154 ($(BLD)\sysdep.obj): Ditto.
1155
1156 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1157 header files.
52283633
SM
1158 ($(BLD)/dispnew.$(O)):
1159 ($(BLD)/editfns.$(O)):
1160 ($(BLD)/fileio.$(O)):
1161 ($(BLD)/filelock.$(O)):
1162 ($(BLD)/keyboard.$(O)):
1163 ($(BLD)/w32proc.$(O)):
1164 ($(BLD)/process.$(O)):
f6839838
AI
1165 ($(BLD)/sysdep.$(O)): Ditto.
1166
c224f70b
GM
11672001-02-22 Gerd Moellmann <gerd@gnu.org>
1168
51695746
GM
1169 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1170 at the start of the function, check that the \n in it->c is
1171 from the iterator's current position.
52283633 1172
a61b7058
GM
1173 * xdisp.c (handle_single_display_prop): Add parameter
1174 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1175 properties which replace the display of text with something else.
1176 (handle_display_prop): Call handle_single_display_prop with
1177 additional argument saying if we already replaced text display
1178 with something else. Use AREF.
52283633 1179 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1180 (decode_mode_spec_coding): Use AREF and ASIZE.
1181
3473f362
GM
1182 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1183 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1184 * vmstime.h: Files removed.
52283633 1185
2bb58df3
GM
1186 * unexencap.c, unexfx2800.c: Files removed.
1187
c224f70b
GM
1188 * dispnew.c (direct_output_for_insert): Give up if we are showing
1189 a message or just cleared the message because we might need to
1190 resize the echo area window or display an empty echo area.
1191
ffc9ff0c
GM
11922001-02-21 Gerd Moellmann <gerd@gnu.org>
1193
0528abe1
GM
1194 * xdisp.c (redisplay_internal): Do the
1195 mark_window_display_accurate after all windows have been
1196 redisplayed because this call resets flags in buffers which are
1197 needed for proper redisplay.
1198
52283633
SM
1199 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1200 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1201 the old names.
1202
52283633
SM
1203 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1204 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1205
1206 * msdos.h (struct x_output): Rename busy_window to
1207 hourglass_window, busy_p to hourglass_p.
1208
52283633
SM
1209 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1210 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1211
1212 * xfns.c: Rename everything containing *busy_cursor* and similar
1213 to *hourglass*.
1214 (syms_of_w32fns): Rename x-busy-pointer-shape to
1215 x-hourglass-pointer-shape, display-busy-cursor to
1216 display-hourglass, busy-cursor-delay to hourglass-delay.
1217
1218 * w32fns.c: Rename everything containing *busy_cursor* and similar
1219 to *hourglass*.
1220 (syms_of_w32fns): Rename x-busy-pointer-shape to
1221 x-hourglass-pointer-shape, display-busy-cursor to
1222 display-hourglass, busy-cursor-delay to hourglass-delay.
1223
1224 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1225 of its busy_p flag.
1226
1227 * dispextern.h (start_hourglass, cancel_hourglass)
1228 (display_hourglass_p): Renamed from *busy_cursor*.
1229
ab2c5f0a
GM
12302001-02-20 Gerd Moellmann <gerd@gnu.org>
1231
d17e49a8
GM
1232 * keyboard.c (read_char): When an event from unread-command-events
1233 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1234
fa97adf6
GM
1235 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1236 equal to the current buffer.
1237
ab2c5f0a
GM
1238 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1239 nil, otherwise we're left with truncate_lines t when a message
1240 is printed with message-truncate-lines bound to t.
1241
aeac019e
GM
12422001-02-19 Gerd Moellmann <gerd@gnu.org>
1243
c8bc6f65
GM
1244 * window.c (Fmove_to_window_line): Undo last change.
1245 (displayed_window_lines): Call line_bottom_y to determine
1246 the line's bottom position.
1247
1248 * dispextern.h (line_bottom_y): Add prototype.
1249
52283633 1250 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1251 (pos_visible_p): Use it.
1252
980a2d69
GM
1253 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1254 set redisplaying_p to 0 here instead of in Frecursive_edit.
1255 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1256 set redisplaying_p.
1257
52283633 1258 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1259 New variables.
1260 (syms_of_xdisp): Initialize new variables.
1261 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1262 Specbind `inhibit-menubar-update' when updating the menu bar.
1263
65048e97
GM
1264 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1265 safe_run_hooks.
1266
1267 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1268 safe_run_hooks.
1269
a57c4026
GM
1270 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1271 is null.
1272
aeac019e
GM
1273 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1274 to the start of the file.
1275
76846b31
GM
12762001-02-16 Gerd Moellmann <gerd@gnu.org>
1277
f3f053f3 1278 * window.c (set_window_buffer): Fix last change.
52283633 1279
f3f053f3
GM
1280 * window.c (set_window_buffer): Set window's vscroll to 0.
1281
dad75588
GM
1282 * window.c (coordinates_in_window): Increase width of area
1283 where the vertical line can be dragged.
1284
c220b753
GM
1285 * xterm.c (x_set_glyph_string_background_width): Extend the
1286 background face to the end of the drawing area in the text
1287 area, only.
1288
c56b1c1b
GM
1289 * xdisp.c (handle_single_display_prop): Set iterator's position
1290 to where the `display' property starts, like for images.
1291 (dump_glyph): New function.
1292 (dump_glyph_row): Use it. Dump info about marginal areas.
1293
1294 * dispnew.c (direct_output_for_insert): Recognize more cases where
1295 glyphs can be written instead of being inserted.
1296
1297 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1298 the left x-coordinate of the area to shift.
1299
76846b31
GM
1300 * dired.c (directory_files_internal): Set result list to nil
1301 before retrying.
1302
0fc71a77
KH
13032001-02-15 Kenichi Handa <handa@etl.go.jp>
1304
1305 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1306 invalid multibyte sequence, treat *SRC as a character of
1307 eight-bit-graphic.
1308
25078b54
EZ
13092001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1310
1311 * textprop.c (Fset_text_properties): Doc fix.
1312
8399f8a0
GM
13132001-02-15 Gerd Moellmann <gerd@gnu.org>
1314
1315 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1316
9a2a6f73
DL
13172001-02-14 Dave Love <fx@gnu.org>
1318
1319 * coding.c: Doc and message fixes.
1320
bf853fee
AI
13212001-02-14 Andrew Innes <andrewi@gnu.org>
1322
1323 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1324 Emacs frame above the screen size.
1325
78c663d8
GM
13262001-02-14 Gerd Moellmann <gerd@gnu.org>
1327
1328 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1329
7cc9f69f
GM
13302001-02-13 Gerd Moellmann <gerd@gnu.org>
1331
0a411995
GM
1332 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1333 case that TO ends up beyond ZV after running before-change-functions.
1334
5ddc1b75
GM
1335 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1336 the selected window if it is showing the buffer in question.
1337
7cc9f69f
GM
1338 * dired.c (directory_files_internal): Initialize errno.
1339 (toplevel): Include errno.h.
1340
2e6621ca
GM
13412001-02-13 Kenichi Handa <handa@etl.go.jp>
1342
1343 * xfaces.c (best_matching_font): New parameter width_ratio.
1344 Multiply avgwidth by width_ratio.
1345 (choose_face_font): Call best_matching_font with width_ratio
1346 calculated from the column width of C.
1347
60222d69
AI
13482001-02-12 Andrew Innes <andrewi@gnu.org>
1349
1350 The following changes are to draw box lines inside characters area
1351 if line-width is negative.
52283633 1352
60222d69
AI
1353 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1354 face->box_line_width is negative.
1355 (x_produce_stretch_glyph): Likewise.
1356 (x_produce_glyphs): Likewise.
1357 (x_estimate_mode_line_height): Likewise.
1358 (x_draw_glyph_string_background): Likewise.
1359 (x_draw_glyph_string_foreground): Likewise.
1360 (x_draw_composite_glyph_string_foreground): Likewise.
1361 (x_draw_glyph_string_box): Likewise.
1362 (x_draw_image_foreground): Likewise.
1363 (x_draw_image_relief): Likewise.
1364 (x_draw_image_foreground_1): Likewise.
1365 (x_draw_image_glyph_string): Likewise.
1366
9804b846
KH
13672001-02-09 Kenichi Handa <handa@etl.go.jp>
1368
1369 The following changes are to draw box lines inside characters area
1370 if line-width is negative.
52283633 1371
9804b846
KH
1372 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1373 face->box_line_width is negative.
1374 (x_produce_stretch_glyph): Likewise.
1375 (x_produce_glyphs): Likewise.
1376 (x_estimate_mode_line_height): Likewise.
1377 (x_draw_glyph_string_background): Likewise.
1378 (x_draw_glyph_string_foreground): Likewise.
1379 (x_draw_composite_glyph_string_foreground): Likewise.
1380 (x_draw_glyph_string_box): Likewise.
1381 (x_draw_image_foreground): Likewise.
1382 (x_draw_image_relief): Likewise.
1383 (x_draw_image_foreground_1): Likewise.
1384 (x_draw_image_glyph_string): Likewise.
1385
1386 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1387 and :line-width can be negative.
52283633 1388 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1389
49be9f70
JR
13902001-02-09 Jason Rumney <jasonr@gnu.org>
1391
1392 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1393 characters the same as ASCII and latin-1.
1394 (x_display_and_set_cursor): Check for the focus frame's selected
1395 window instead of selected_window.
1396 (x_after_update_window_line): Don't clear if frame's internal
1397 border width is zero.
1398 (x_new_font): Don't change a tooltip's size.
1399 (w32_initialize): Set char_ins_del_ok to 1.
1400
1401 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1402 (x_set_font): If font hasn't changed, avoid recomputing
1403 faces and other things.
52283633
SM
1404 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1405 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1406 (x_create_tip_frame): Prevent changing the tooltip's
1407 background color by specifying a color for the default font
1408 in .Xdefaults.
1409 (Qcancel_timer): New variable.
1410 (syms_of_w32fns): Initialize and staticpro it.
1411 (Fx_hide_tip, Fx_show_tip): Use it.
1412 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1413 the timer.
1414 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1415
1416 * w32.c (init_environment): Duplicate local string before putenv.
1417
555e35d2
SZ
14182001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1419
1420 * charset.c (Fstring): A typo.
1421
19c92c94
KH
14222001-02-09 Kenichi Handa <handa@etl.go.jp>
1423
e47a1c33
KH
1424 * charset.c (Fstring): If all arguments are less than 256, return
1425 a unibyte string.
1426
1427 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1428 return a unibyte string.
1429
19c92c94
KH
1430 * coding.c (code_convert_region): After detecting a coding, if
1431 nothing found, set coding->composing to COMPOSITION_NO.
1432 (decode_coding_string): Likewise.
1433
d8e675f5
SM
14342001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1435
1436 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1437 to avoid overflow.
1438
bd503487
KH
14392001-02-07 Kenichi Handa <handa@etl.go.jp>
1440
1441 * charset.c (parse_str_to_multibyte): New function.
1442
1443 * charset.h (parse_str_to_multibyte): Extern it.
1444
1445 * print.c (print_string): If we are going to print a unibyte
1446 string into a multibyte buffer, convert the string to multibyte by
1447 str_to_multibyte.
1448
a8370d72
AI
14492001-02-06 Andrew Innes <andrewi@gnu.org>
1450
1451 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1452 been created. It seems we can get sent window messages such as
1453 WM_ERASEBKGND before we properly update a frame.
1454
c363a1d6
GM
14552001-02-06 Gerd Moellmann <gerd@gnu.org>
1456
1457 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1458 Avoid some unnecessary cursor positioning.
1459
a08332c0
GM
14602001-02-05 Gerd Moellmann <gerd@gnu.org>
1461
52283633 1462 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1463 (LFACE_AVGWIDTH): New macro.
1464 (LFACEP): Use AREF.
1465 (check_lface_attrs): Check LFACE_AVGWIDTH.
1466 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1467 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1468 (merge_face_vectors): Check LFACE_AVGWIDTH.
1469 (Finternal_make_lisp_face): Use AREF.
1470 (xm_set_menu_resources_from_menu_face)
1471 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1472 (Finternal_lisp_face_empty_p): Use AREF.
1473 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1474 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1475 Compare average widths..
1476 (best_matching_font): Arrange for comparing average widths.
1477
52283633
SM
1478 * dispextern.h (enum lface_attribute_index):
1479 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1480
5cb3c8d4
DL
14812001-02-05 Dave Love <fx@gnu.org>
1482
1483 * puresize.h: Revert last change following loadup.el change.
1484
193fba87
AI
14852001-02-05 Andrew Innes <andrewi@gnu.org>
1486
1487 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1488 invocation of temacs, to work with Windows 2000.
1489 (bootstrap-emacs): Ditto.
1490
e16f52ce
GM
14912001-02-05 Gerd Moellmann <gerd@gnu.org>
1492
7a58ab59
GM
1493 * xterm.c (x_display_and_set_cursor): Check for the focus
1494 frame's selected window instead of selected_window.
1495
e89aaabd
GM
1496 * xdisp.c (try_scrolling): If point is in the line below the
1497 window, make sure to move the iterator at least a canonical
1498 char height down.
1499
52283633 1500 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1501
789ce875
KH
15022001-02-05 Kenichi Handa <handa@etl.go.jp>
1503
52283633
SM
1504 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1505 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1506 (ccl_driver): If the CCL program is terminated because of
1507 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1508 destination instead of throwing them away.
1509
20b28f82
GM
15102001-02-02 Gerd Moellmann <gerd@gnu.org>
1511
79fb38c0
GM
1512 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1513 faces and other things.
1514
20b28f82
GM
1515 * xdisp.c (get_next_display_element): Fix case of empty
1516 display table entry.
1517
5a72551e
EZ
15182001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1519
eb24d0bf
EZ
1520 * editfns.c (Fconstrain_to_field): Doc fix.
1521
6a3f48c7
EZ
1522 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1523 into `thoroughly', to make it consistent with the doc string.
1524
5a72551e
EZ
1525 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1526
01acdb05
GM
15272001-02-01 Gerd Moellmann <gerd@gnu.org>
1528
0353b28f
GM
1529 * search.c (search_buffer): Call set_search_regs with a byte
1530 position, not a character position.
1531
01acdb05
GM
1532 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1533 minibuffer-only,
1534
e86b5133
EZ
15352001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1536
1537 * frame.c (Fmodify_frame_parameters): Doc fix.
1538
7442878f
GM
15392001-01-31 Gerd Moellmann <gerd@gnu.org>
1540
01acdb05
GM
1541 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1542 identifier which is not reserved by Standard C.
52283633 1543
7442878f
GM
1544 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1545
1546 * window.c (enum window_part): New enumeration.
1547 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1548 Qright_bitmap_area.
1549 (coordinates_in_window): Return an enumerator from enum
1550 window_part. Fix handling of right scroll bar.
1551 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1552 `right-fringe' instead of `left-bitmap-area' and
1553 `right-bitmap-area'. Use enumerators from enum window_part
1554 instead of hard-coded integers.
52283633
SM
1555 (check_window_containing, window_from_coordinates):
1556 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1557 (syms_of_window): Replace Qleft_bitmap_area and
1558 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1559
7c132cba
EZ
15602001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1561
1562 * editfns.c (Fformat_time_string): Doc fix.
1563
c359dd9e
SM
15642001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1565
1566 * keymap.c (Fwhere_is_internal): Use the first valid binding
1567 if no ascii binding is found (when firstonly is t).
1568
ce070307
GM
15692001-01-31 Gerd Moellmann <gerd@gnu.org>
1570
b4f30ec5
GM
1571 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1572 instead of Finteractive_p.
1573
1574 * lisp.h (interactive_p): Add prototype.
1575
1576 * eval.c (interactive_p): New function.
1577 (Finteractive_p): Use it.
1578
ce070307
GM
1579 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1580
f57b6e64
DL
15812001-01-31 Dave Love <fx@gnu.org>
1582
d61c7afe
DL
1583 * .gdbinit (hook-run): Define to run xreload.
1584
f57b6e64
DL
1585 * textprop.c (Fset_text_properties): Fix newline in doc string.
1586
eef93f99
GM
15872001-01-30 Gerd Moellmann <gerd@gnu.org>
1588
52283633
SM
1589 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1590 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1591
1592 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1593 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1594 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1595
1596 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1597 height.
1598
d9c1f6f9
DL
15992001-01-30 Dave Love <fx@gnu.org>
1600
1601 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1602 AFTER_POTENTIAL_GC.
1603
e8f044a0
GM
16042001-01-29 Gerd Moellmann <gerd@gnu.org>
1605
52283633
SM
1606 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1607 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1608
8e1db7b3
EZ
16092001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1610
1611 * textprop.c (Fset_text_properties): Doc fix.
1612
4eefd9d2
GM
16132001-01-29 Gerd Moellmann <gerd@gnu.org>
1614
1615 * xdisp.c (forward_to_next_line_start): Remove xassert.
1616
fccb8288
EZ
16172001-01-29 Jason Rumney <jasonr@gnu.org>
1618
4eefd9d2 1619 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1620 returning without releasing it.
1621
76581eab
KH
16222001-01-29 Kenichi Handa <handa@etl.go.jp>
1623
1624 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1625 for '^', '$', and '\0'.
1626
83a96b4d
AC
16272001-01-28 Andrew Choi <akochoi@i-cable.com>
1628
5604ec34
AC
1629 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1630 regex for '^', '$', and '\0'.
1631
83a96b4d
AC
1632 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1633 only if current_sblock has been initialized.
1634
1635 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1636 terminal frame even if it is the only visible frame.
1637
c09a6440
KH
16382001-01-28 Kenichi Handa <handa@etl.go.jp>
1639
1640 * fontset.c (font_family_registry): Even if FONTNAME conform to
1641 XLFD, if it specifies other fields than family and registry,
52283633 1642 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1643 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1644 a signle byte character. Don't set FAMILY part to nil here.
1645 It is handled by the caller choose_face_font.
c09a6440
KH
1646 (Fnew_fontset): Call font_family_registry with FORCE 0.
1647 (Fset_fontset_font): Likewise.
1648
4dcd74e6
GM
16492001-01-27 Gerd Moellmann <gerd@gnu.org>
1650
1651 * xdisp.c (display_line): Don't treat a newline as fitting
1652 on the line.
1653
d2906bf8
GM
16542001-01-26 Gerd Moellmann <gerd@gnu.org>
1655
0130fe1a
GM
1656 * window.c (size_window): Set the window's orig_top to nil when
1657 changing heights, so that a future shrink_mini_window won't
1658 restore a bogus height.
1659
550f0e6a
GM
1660 * frame.c (do_switch_frame): If selected frame has a mini-window,
1661 resize that to exact size.
1662
b7b20fbd
GM
1663 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1664
a47b7816
GM
1665 * xdisp.c (display_line): Simplify check for glyphs fitting
1666 entirely in the line.
1667
d2906bf8
GM
1668 * xfns.c (xic_style): New variable.
1669 (create_frame_xic): Move static variable to global scope for
550f0e6a 1670 the case that `static' gets defined away.
d2906bf8 1671
73df2b1e
KH
16722001-01-26 Kenichi Handa <handa@etl.go.jp>
1673
1674 * coding.c (decode_coding): Set a flag for inhibiting
1675 inconsistent eol.
1676 (code_convert_region): Always set saved_coding_symbol.
1677 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1678 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1679
6613cfc4
GM
16802001-01-25 Gerd Moellmann <gerd@gnu.org>
1681
c5e6e06b
GM
1682 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1683 XClearArea.
1684
1685 * xterm.c (x_after_update_window_line): Don't clear if frame's
1686 internal border width is zero.
1687 (x_clear_area): New function.
1688 (x_after_update_window_line, x_clear_end_of_line)
1689 (x_scroll_bar_create, x_scroll_bar_set_handle)
1690 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1691 instead of XClearArea.
1692
1693 * xterm.h (x_clear_area): Add prototype.
1694
6613cfc4
GM
1695 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1696 which doesn't seem necessary anymore with Lesstif 0.92.
1697
650cc6cc
DL
16982001-01-25 Dave Love <fx@gnu.org>
1699
34ac3367
DL
1700 * puresize.h (BASE_PURESIZE): Up to 720000.
1701
650cc6cc
DL
1702 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1703
5e37dc22
GM
17042001-01-25 Gerd Moellmann <gerd@gnu.org>
1705
e1e441f9
GM
1706 * xdisp.c (echo_area_display): Don't call redisplay_internal
1707 when Emacs is shutting down. We can't run hooks etc. that
1708 would be necessary to do a redisplay.
1709
5e37dc22
GM
1710 * lread.c (read_integer): Use type EMACS_INT instead of int.
1711
0fb94c7f
EZ
17122001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1713
1714 * ccl.c (ccl_driver): Fix last change.
1715
e3778624
KH
17162001-01-25 Kenichi Handa <handa@etl.go.jp>
1717
1718 * ccl.h (sturct ccl_program): New member suppress_error.
1719
bb264518 1720 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1721 insert error message to the output.
1722 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1723
1724 * coding.h (struct coding_system): New member suppress_error.
1725
1726 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1727 (Fset_terminal_coding_system_internal): Set the member
1728 suppress_error to 1.
1729 (Fset_safe_terminal_coding_system_internal): Likewise.
1730
245ed2b1
SM
17312001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1732
1733 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1734 as if it was a `charset'.
1735
f9aaedb6
GM
17362001-01-24 Gerd Moellmann <gerd@gnu.org>
1737
1738 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1739 value in where_is_cache; the next lookup in the cache returns
1740 something bogus if we do.
1741
c3902c3e
EZ
17422001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1743
1744 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1745 if HAVE_WINDOW_SYSTEM isn't defined.
1746
3497f73e
GM
17472001-01-24 Gerd Moellmann <gerd@gnu.org>
1748
e7e41584
GM
1749 * fns.c (sweep_weak_table): Fix code taking items out of
1750 the hash collision chain. Some cleanup.
1751
3497f73e
GM
1752 * xterm.c (x_new_font): Don't change a tooltip's size.
1753
1754 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1755 background color by specifying a color for the default font
1756 in .Xdefaults.
1757
3d48e687
KH
17582001-01-24 Kenichi Handa <handa@etl.go.jp>
1759
96531b20
KH
1760 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1761 a workaround for SunOS 4's cc.
1762 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1763 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1764 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1765 statement.
3d48e687 1766
a30629d2
GM
17672001-01-23 Gerd Moellmann <gerd@gnu.org>
1768
1769 * xterm.c (x_set_window_size_1): New function extracted from
1770 x_set_window_size.
1771 (x_set_window_size): Use it.
1772 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1773 doesn't have a widget, like tooltips.
1774
5a43decf
EZ
17752001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1776
52283633 1777 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1778
b0e98867
KH
17792001-01-23 Kenichi Handa <handa@etl.go.jp>
1780
1781 * fns.c (Fset_char_table_default): Fix to make sub char-table
1782 correctly.
1783
50606b4c
GM
17842001-01-22 Gerd Moellmann <gerd@gnu.org>
1785
cb2ddc53 1786 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1787 a desired tool bar string, even if there are no tool bar items.
1788
57c28064
GM
1789 * xdisp.c (Ftool_bar_lines_needed): New function.
1790 (syms_of_xdisp): Defsubr it.
1791
50606b4c
GM
1792 * editfns.c (Fformat): Don't extend text properties from arguments
1793 to padding chars in the result.
1794
2f169c38
EZ
17952001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1796
1797 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1798
0f32f023
AI
17992001-01-20 Andrew Innes <andrewi@gnu.org>
1800
52283633 1801 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1802 (w32_initialize): Don't set term hooks that aren't actually needed
1803 in windowed mode.
1804
1805 * xfaces.c (realize_default_face):
1806 (realize_face):
1807 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1808
1809 * xdisp.c (handle_single_display_prop): Remove references to
1810 FRAME_W32_CONSOLE_P.
1811
52283633 1812 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1813
1814 * frame.h (output_method): Remove output_w32_console method.
1815 (FRAME_W32_CONSOLE_P): Remove macro.
1816
1817 * frame.c (Qw32_console): Remove variable.
1818 (Fframep): Remove references to it.
1819 (syms_of_frame): Ditto.
1820 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1821
1822 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1823 redefinition.
1824
7173eada
KH
18252001-01-20 Kenichi Handa <handa@etl.go.jp>
1826
1827 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1828
755b45ce
AI
18292001-01-19 Andrew Innes <andrewi@gnu.org>
1830
1831 * w32.c (init_environment): Add a version-independent site-lisp
1832 directory to EMACSLOADPATH, after the version dependent one.
1833
0a949811
GM
18342001-01-19 Gerd Moellmann <gerd@gnu.org>
1835
8501998a
GM
1836 * editfns.c (Fbuffer_substring): Doc fix.
1837
52283633
SM
1838 * xdisp.c (message_dolog, message2, message2_nolog):
1839 Rename parameter LEN to NBYTES.
0a949811 1840
e6ebcbbe
KH
18412001-01-19 Kenichi Handa <handa@etl.go.jp>
1842
200ecca2
KH
1843 * charset.c (strwidth): Use c_string_width.
1844 (c_string_width): New function.
1845 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1846 Caller changed.
1847
1848 * charset.h (c_string_width, lisp_string_width): Extern them.
1849
52283633 1850 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1851
e6ebcbbe
KH
1852 * indent.c (check_composition): Check validity of composition.
1853
200ecca2
KH
1854 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1855 characters by calling c_string_width.
1856 (x_consider_frame_title): Get byte length of frame tile string
1857 correctly.
1858 (display_mode_element): Pay attention to width of non-ASCII
1859 characters by calling strwidth.
1860
8692ca92
GM
18612001-01-18 Gerd Moellmann <gerd@gnu.org>
1862
8962e303
GM
1863 * xfns.c (Qcancel_timer): New variable.
1864 (syms_of_xfns): Initialize and staticpro it.
1865 (Fx_hide_tip, Fx_show_tip): Use it.
1866 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1867 the timer.
1868 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1869
91523be9
GM
1870 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1871
1872 * window.h (WINDOW_LIVE_P): New macro.
1873
b0b7ed0e
GM
1874 * window.c (window_size_fixed): New variable.
1875 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1876 the doc string.
1877
06bccf8e
GM
1878 * eval.c (specbind): If binding a per-buffer variable which
1879 doesn't have a buffer-local value in the current buffer, change
1880 the global value by changing the value of the symbol bound in all
1881 buffers not having their own value, to make it consistent with
1882 what happens with other buffer-local variables.
1883
8692ca92
GM
1884 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1885
1886 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1887 when searching for a newline.
1888
bb3a3b50
KH
18892001-01-18 Kenichi Handa <handa@etl.go.jp>
1890
1891 * xdisp.c (display_string): Fix previous change.
1892
c2cc16fa
JR
18932001-01-18 Jason Rumney <jasonr@gnu.org>
1894
1895 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1896 GLYPH_DEBUG is defined.
1897 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1898 true for images with `:ascent 100'.
1899 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1900 meantime, use face MOUSE_FACE_ID.
1901 If first glyph isn't a character glyph, use the ASCII NUL
1902 character to determine the face.
1903 (expose_area): Do not treat left margin specially.
1904 (note_mode_line_highlight): If no local_map, check global keymap.
1905 (note_mouse_highlight): Initialize overlay.
52283633 1906 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1907 (show_scroll_bars): Remove unused function.
1908 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1909 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1910 Clip to row.
52283633 1911 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1912 (x_free_frame_resources): Unload relief colors.
1913
9c11f79e
GM
19142001-01-17 Gerd Moellmann <gerd@gnu.org>
1915
3aec8722 1916 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1917 get_next_display_element when the newline is already found.
1918 This may change the iterator's position, when its current position is
3aec8722
GM
1919 equal to the iterator's stop_charpos.
1920
f3ffc2c3
GM
1921 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1922 zero, use this method only at the end of a line.
1923
52283633 1924 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1925 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1926 if SCALABLE_FONTS_P is set.
52283633 1927
d26d6fd9
GM
1928 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1929 so that scalable fonts are included.
1930
9c11f79e
GM
1931 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1932 In the cache, use a key containing the information if scalable
1933 fonts are included.
1934 (x_load_font): Adapt to change of keys in the font cache.
1935
19362001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1937
d26d6fd9
GM
1938 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1939 XListFonts to take advantage of font caching.
1940
9c11f79e
GM
1941 * xterm.c (x_list_fonts): Ensure caching font information when
1942 called for a null frame, which is the case frequently when Emacs
1943 starts.
1944
51446987
GM
19452001-01-17 Gerd Moellmann <gerd@gnu.org>
1946
f864120f
GM
1947 * xfns.c (QCconversion): Replaces QCalgorithm.
1948
1949 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1950
1951 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1952 of :algorithm.
52283633 1953
e37d1417
GM
1954 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1955 not everything could be displayed.
1956
51446987
GM
1957 * line.h, x-list-font.c: Files removed because unused.
1958
9ad4f3e5
AI
19592001-01-17 Andrew Innes <andrewi@gnu.org>
1960
1961 * dired.c (directory_files_internal): Convert result from readdir
1962 to a unibyte string initially, to avoid possible misinterpretation
1963 of some bytes as the internal form of Emacs characters.
1964
2eda09b5
KH
19652001-01-17 Kenichi Handa <handa@etl.go.jp>
1966
1967 * fns.c (concat): Be sure to avoid putting the same `composition'
1968 property on the adjacent regions.
1969
826f3788
GM
19702001-01-16 Gerd Moellmann <gerd@gnu.org>
1971
52283633 1972 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1973 (Fscroll_right, Fscroll_left): Set it here instead, if called
1974 interactively.
1975
d57b83b3
GM
1976 * buffer.c (Fset_buffer_modified_p): Set buffer's
1977 prevent_redisplay_optimizations_p flag.
1978
826f3788 1979 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1980 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1981 with additional arg.
1982
1983 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1984 Change prototype.
826f3788 1985
826f3788
GM
1986 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1987 FROM_WHERE, for debugging.
1988
261d788b
KH
19892001-01-16 Kenichi Handa <handa@etl.go.jp>
1990
1991 * ccl.c (Fregister_ccl_program): Handle the return value of
1992 resolve_symbol_ccl_program correctly.
52283633 1993 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1994
bccee4f2
GM
19952001-01-15 Gerd Moellmann <gerd@gnu.org>
1996
e4ded23c
GM
1997 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1998 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1999
2000 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2001 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2002 the display; we didn't open it.
2003
bccee4f2
GM
2004 * dispnew.c (save_or_restore_current_matrices): Function removed.
2005 (save_current_matrix, restore_current_matrix): New functions.
2006 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2007 restore the frame's current matrix. Due to the glyph pointer
2008 setup done in adjust_glyph_matrix, there is no easy way to make
2009 saving the current matrix in the desired matrix generally correct,
2010 so don't try it.
2011
ebeccffa
KH
20122001-01-15 Kenichi Handa <handa@etl.go.jp>
2013
2014 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2015 truncation glyphs.
2016 (display_line): Optimize for wide characters.
e4ded23c 2017 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2018 partially. On ttys, produce more than one truncation glyph for
2019 multi-column characters that don't fit on the line.
2020
64388126
KH
20212001-01-13 Kenichi Handa <handa@etl.go.jp>
2022
52283633
SM
2023 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2024 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2025
8edb0a6f
JR
20262001-01-13 Jason Rumney <jasonr@gnu.org>
2027
2028 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2029 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2030 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2031 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2032
52283633
SM
2033 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2034 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2035 (x_draw_image_glyph_string): Adapt to change of image margins.
2036
2037 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2038 variables.
2039
2040 * w32bdf.c (search_file_line, get_cached_font_char)
2041 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2042
2043 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2044
2045 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2046 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2047 (Fw32_send_sys_command): Remove unused variables.
2048 (w32_msg_pump): Add parentheses.
2049
2050 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2051 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2052 Add parentheses.
2053
4956d1ef
GM
20542001-01-12 Gerd Moellmann <gerd@gnu.org>
2055
b30623be
GM
2056 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2057 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2058 being a pair of margins.
2059 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2060 to DEFVAR_LISP. Extend doc.
2061
2062 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2063 margins.
2064 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2065 pair of integers `(X . Y)', use X for the horizontal and Y for the
2066 vertical margin.
2067 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2068 (parse_image_spec): Check it.
52283633
SM
2069 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2070 (tiff_format, gif_format, gs_format):
2071 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2072
52283633
SM
2073 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2074 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2075 (x_draw_image_glyph_string): Adapt to the change of image margins.
2076
2077 * dispextern.h (struct image): Replace member `margin' with
2078 `hmargin' and `vmargin'.
2079
4554cc79
GM
2080 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2081 and GLYPHS.
2082
2083 * dispnew.c (update_text_area): Put code which decrements the
2084 stop position when the row's face extends to the end of the
3bffc665 2085 line in #if 0.
4554cc79 2086
3cccce8d
GM
2087 * xfns.c (x_set_mouse_color): Fix color allocation.
2088
4956d1ef
GM
2089 * keyboard.c: Call get_local_map with new argument list.
2090
2091 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2092
2093 * intervals.h (enum map_property): Removed.
2094 (get_local_map): Change prototype.
2095
2096 * keymap.c: Call get_local_map with new argument list.
2097 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2098
2c2ff7f2
GM
20992001-01-11 Gerd Moellmann <gerd@gnu.org>
2100
a23887b9
GM
2101 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2102 of the size needed for the tool bar string. For the last image,
2103 use a `display' property that reaches to the end of the string.
2104
a7ee2d2e
GM
2105 * xselect.c (selection_request_dpyinfo): New variable.
2106 (x_handle_selection_request): Set it.
2107 (x_selection_request_lisp_error): Don't call
2108 x_decline_selection_request if selection request's display has
2109 been closed.
2110
52283633
SM
2111 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2112 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2113
457b792c
GM
21142001-01-10 Dave Love <fx@gnu.org>
2115
2116 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2117 ${SOME_MACHINE_LISP}, not ${lisp}.
2118
c1efd260
GM
21192001-01-10 Gerd Moellmann <gerd@gnu.org>
2120
52283633
SM
2121 * xdisp.c (display_line): On ttys, produce more than one truncation
2122 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2123
ac95a621
GM
2124 * xselect.c (x_reply_selection_request): Add a comment.
2125
c1efd260
GM
2126 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2127 XkbGetNames instead of XkbGetKeyboard.
2128
1bfb1345
DL
21292001-01-10 Dave Love <fx@gnu.org>
2130
2131 * sysdep.c (random): Revert the declaration.
2132
38119822
GM
21332001-01-09 Gerd Moellmann <gerd@gnu.org>
2134
52283633
SM
2135 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2136 Call function string_bytes.
35f464a7
GM
2137 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2138
2139 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2140 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2141 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2142 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2143 the current sblock.
2144 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2145 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2146 after sweeping strings, and at the end.
2147 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2148
38119822
GM
2149 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2150 ensure that pop_message is called.
2151
2152 * keyboard.c (Fexecute_extended_command): Use a
2153 record_unwind_protect to ensure that pop_message is called.
2154
2155 * lisp.h (push_message_unwind): Add prototype.
2156
2157 * xdisp.c (push_message_unwind): New function.
2158
2159 * fileio.c (do_auto_save_unwind): Do the pop_message here
2160 instead of in Fdo_auto_save.
2161 (Fdo_auto_save): Don't call pop_message.
2162
f47a9ec4
KR
21632001-01-08 Ken Raeburn <raeburn@gnu.org>
2164
2165 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2166 in inner block.
2167
a758f97d
GM
21682001-01-08 Gerd Moellmann <gerd@gnu.org>
2169
6d0afc03
GM
2170 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2171 when increasing window's vscroll.
2172
a758f97d
GM
2173 * macros.c (Qkbd_macro_termination_hook): New variable.
2174 (syms_of_macros): Initialize and staticpro it.
2175 (pop_kbd_macro): Run kbd-macro-termination-hook.
2176
2177 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2178
1bfb1345 21792001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2180
2181 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2182 arglist, for documentation's sake.
2183
0dac6924
AI
21842001-01-06 Andrew Innes <andrewi@gnu.org>
2185
2186 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2187 of *.pdb.
2188
8182406a
AI
21892001-01-05 Andrew Innes <andrewi@gnu.org>
2190
2191 * term.c (update_end): Don't check updating_frame; for some reason
2192 this can be 0 sometimes, such as after dismissing a popup menu,
2193 and isn't necessary given the explicit frame argument.
2194
3828218c
GM
21952001-01-05 Gerd Moellmann <gerd@gnu.org>
2196
2197 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2198 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2199
2f5ded21
GM
22002001-01-04 Gerd Moellmann <gerd@gnu.org>
2201
52283633 2202 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2203
2204 * xfns.c (x_create_tip_frame): Preserve the value of
2205 face_change_count around the creation of the tip frame.
52283633 2206
2f5ded21
GM
2207 * xfns.c (last_show_tip_args): New variable.
2208 (compute_tip_xy): New function.
2209 (Fx_show_tip): Reuse an existing tip frame, if possible.
2210 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2211
dfad65fa
DL
22122001-01-04 Dave Love <fx@gnu.org>
2213
64d4ec0f
DL
2214 * editfns.c (Fformat): Doc fix.
2215
dfad65fa
DL
2216 * systime.h (set_file_times): Prototype.
2217
2218 * widget.h (EmacsFrameSetCharSize_): Prototype.
2219
2220 * sysdep.c (random, srandom): Declare explicitly.
2221
2222 * dispextern.h (move_it_vertically_backward): Declare.
2223
85fe3b5e
GM
22242001-01-04 Gerd Moellmann <gerd@gnu.org>
2225
0f2ac578
GM
2226 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2227 like in Fx_create_frame.
2228
482cca61
GM
2229 * xfaces.c (set_font_frame_param): Don't do anything for
2230 non-graphical frames.
2231
85fe3b5e
GM
2232 * window.c (Fdelete_other_windows): Set window's window_end_valid
2233 to nil when changing the window's start. Don't change the
2234 window's start when its top position hasn't changed. If we do,
2235 this will set the window's optional_new_start, which act's like a
2236 force_start during redisplay with C-x 1 M-> under particular
2237 circumstances (see report from Per Starback to emacs-pretest-bug
2238 from 2000-12-13.).
2239
3e99d3b4
GM
22402001-01-03 Gerd Moellmann <gerd@gnu.org>
2241
a77dc1ec
GM
2242 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2243 short cut at the start of the function. Add an assertion.
2244 (reseat_at_next_visible_line_start): Add an assertion.
2245
2f3cad6c
GM
2246 * window.c (Frecenter): When changing the window start, set the
2247 window's window_end_valid to nil.
2248 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2249
2250 * dispextern.h (move_it_past_eol): Add prototype.
2251
2252 * xdisp.c (move_it_past_eol): New function.
2253
3e99d3b4
GM
2254 * window.c (Fwindow_end): Doc fix.
2255
22562001-01-03 Dave Love <fx@gnu.org>
2257
52283633 2258 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2259
bafb434c
GM
22602001-01-03 Gerd Moellmann <gerd@gnu.org>
2261
2262 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2263 the enabled_p flag of the glyph row at window_end_vpos to 0.
2264 (handle_single_display_prop): Fix last change.
2265
5297fb00
RS
22662001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2267
2268 * window.c (Frecenter): Doc fix.
2269
13d6a61c
AI
22702001-01-02 Andrew Innes <andrewi@gnu.org>
2271
2272 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2273
2274 * frame.h (output_method): Add output_w32_console method.
2275 (FRAME_W32_CONSOLE_P): New macro.
2276
2277 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2278 use output_w32_console method.
2279 (Qw32_console): New Lisp_Object.
2280 (Fframep): Return it.
2281 (syms_of_frame): Init it.
52283633 2282 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2283
2284 * xfaces.c (realize_default_face): Set face foreground and
2285 background to unspecified for w32_console frames.
2286 (realize_face): Realize face cache for w32_console frames.
2287 (realize_tty_face): Accept w32_console frames.
2288
52283633 2289 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2290 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2291 necessary, even if running interactively.
2292
2293 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2294 w32_console frames.
2295
52283633
SM
2296 * w32term.c (x_update_begin):
2297 (x_update_end):
2298 (x_clear_frame):
2299 (x_ins_del_lines):
2300 (x_change_line_highlight):
2301 (x_delete_glyphs):
2302 (w32_ring_bell):
2303 (x_update_begin):
2304 (x_update_end):
2305 (w32_reassert_line_highlight):
2306 (w32_frame_rehighlight):
13d6a61c
AI
2307 (w32_frame_raise_lower): Do nothing if not w32 frame.
2308
2309 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2310
2311 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2312 system doesn't tell us directly.
2313 (Fx_display_visual_class): Implement properly.
2314
d6bb0c0d
GM
23152001-01-02 Gerd Moellmann <gerd@gnu.org>
2316
2317 * window.c (Frecenter): Handle centering in graphical frames
2318 specially. Centering on the basis of line counts doesn't work
2319 reliably with variable-height lines.
52283633 2320
315f5865
EZ
23212001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2322
2323 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2324 and al[].
2325
52283633 2326 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2327 (update_compositions): Remove unused variable `hook'.
2328
2329 * intervals.c (get_local_map): Remove unused variable `tem'.
2330
2331 * doprnt.c (doprnt1): Remove unused variable `size'.
2332
2333 * fns.c (Flength): Remove unused variable `tail'.
2334 (Fdelete): Remove unused variable `size'.
2335
2336 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2337 and `gcpro2'.
2338
52283633 2339 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2340
2341 * data.c (find_symbol_value): Remove extra 3rd argument in the
2342 call to swap_in_symval_forwarding.
2343
52283633 2344 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2345
2346 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2347 (trivial_regexp_p): Remove unused variable `c'.
2348 (boyer_moore): Remove unused variable `k'.
2349
2350 * indent.c (current_column): Remove unused variable `stopchar'.
2351 (Fcompute_motion): Remove unused variable `contin'.
2352
2353 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2354
2355 * dired.c (directory_files_internal): Fix a typo in a comment.
2356 Remove an unused variable `handler'.
52283633 2357 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2358 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2359 on BSD4_2.
2360
52283633 2361 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2362
2363 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2364 and `buf'.
2365 (Fmarker_insertion_type): Remove unused variable `buf'.
2366
2367 * insdel.c (make_gap): Remove unused variable `result'.
2368
52283633 2369 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2370 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2371 (menu_bar_items): Remove unused function-scope variable `tem'.
2372
2373 * fontset.c (fontset_ref): Remove unused variable `i'.
2374 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2375 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2376 (make_fontset_for_ascii_face): Remove unused variable `name'.
2377 (fs_load_font): Remove unused variable `font_idx'.
52283633 2378 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2379 (list_fontsets): Remove unused variable `tail'.
2380 (Fnew_fontset): Remove unused variables `family' and `registry'.
2381 (accumulate_font_info): Remove unused variable `tmp'.
2382 (Ffontset_font): Remove unused variable `id'.
2383 (syms_of_fontset): Remove unused variable `i'.
2384
2385 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2386 to x_term_init.
2387 (lookup_image): Remove unused variable `file'.
2388 (xbm_load): Remove unused variables `bitmap_data', `height', and
2389 `width'. Remove function-local variable `i', leave the
2390 block-local one.
2391 (gif_load): Remove unused variable `inc'.
2392
52283633 2393 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2394 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2395 leave only the one in the inner block.
2396
2397 * xfaces.c (face_fontset, realize_default_face): Remove unused
2398 variable `fontset'.
2399 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2400
2401 * term.c (encode_terminal_code): Remove unused variable `c'.
2402
2403 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2404 char *' instead of `char *'.
2405
2406 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2407 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2408 (Fchar_category_set): Remove unused variables `val', `charset',
2409 `c1' and `c2'.
2410
52283633
SM
2411 * coding.c (detect_coding_iso2022, setup_coding_system):
2412 Remove unused variable `i'.
315f5865
EZ
2413 (detect_coding_mask): Remove unused variable `idx'.
2414 (detect_coding): Remove unused variable `i'.
2415 (ccl_coding_driver): Remove unused variable `result'.
2416 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2417 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2418 (encode_coding_string): Remove unused variables `gcpro1' and
2419 `saved_coding_symbol'.
2420 (Ffind_coding_systems_region_internal): Remove function-local
2421 variable args[], leave only the block-local one.
2422 (code_convert_region1): Remove unused variable `len'.
2423
2424 * charset.c (char_printable_p): Remove unused variable `chars'.
2425 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2426 (str_to_multibyte): Remove unused variable `c'.
2427
2428 * window.c (size_window): Remove block-local variable `min_size'.
2429
2430 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2431 `header_line_height'.
2432 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2433 enum display_element_type.
2434
1a8a9daf
GM
24352001-01-02 Gerd Moellmann <gerd@gnu.org>
2436
6dde6abc 2437 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2438 statements that call X. Save away the error message in a local copy.
2439
1883b2c6
GM
2440 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2441 the start.
2442
a13be207
GM
2443 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2444 in or at the start of invisible text.
2445
1a8a9daf
GM
2446 * dispnew.c (update_window): Don't check_current_matrix_flags.
2447
3608c0f9
JR
24482001-01-01 Jason Rumney <jasonr@gnu.org>
2449
2450 * w32fns.c (x_figure_window_size): Do not allow new_height and
2451 new_width of frame to override specified values.
2452
abb1acc4
KH
24532000-12-30 Kenichi Handa <handa@etl.go.jp>
2454
52283633 2455 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2456
762a68ec
GM
24572000-12-29 Gerd Moellmann <gerd@gnu.org>
2458
52283633 2459 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2460 (update_window) [GLYPH_DEBUG]: Call it.
2461 (scrolling_window): Prevent including current rows which are below
2462 what's displayed in the window.
2463
2464 * xdisp.c (try_window_reusing_current_matrix)
2465 <new start <= old start>: Disable rows in the current matrix
2466 which are below the window after scrolling.
52283633 2467
762a68ec
GM
2468 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2469 is zero. It's not worth the complexity.
2470 (invisible_text_between_p): Put in #if 0 because unused.
2471
2d5912c1
GM
24722000-12-28 Gerd Moellmann <gerd@gnu.org>
2473
46f6a258
GM
2474 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2475 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2476
89f93679
GM
2477 * keyboard.c (echo_char): If C is an integer, always call
2478 push_key_description. Former code could signal an invalid
2479 character error.
2480
2481 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2482 If set, print multibyte text.
2483 (Fsingle_key_description): Call push_key_description with
2484 FORCE_MULTIBYTE set.
2485 (describe_buffer_bindings): Likewise.
2486
2487 * lisp.h (push_key_description): Add prototype.
2488
c06017fb
GM
2489 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2490 around the call to redisplay_internal.
2491
f1d2ce7f
GM
2492 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2493
2d5912c1
GM
2494 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2495
9371f831
KH
24962000-12-28 Kenichi Handa <handa@etl.go.jp>
2497
2498 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2499 (ccl_driver): New local variable `extra_bytes'.
2500
2501 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2502
52283633
SM
2503 * coding.c (setup_coding_system):
2504 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2505 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2506
0c80628a
KH
25072000-12-28 Kenichi Handa <handa@etl.go.jp>
2508
2509 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2510 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2511 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2512 (decode_composition_emacs_mule): New function.
2513 (decode_coding_emacs_mule): Decode composition sequence by calling
2514 decode_composition_emacs_mule.
2515 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2516 (encode_coding_emacs_mule): Changed from macro to function.
2517 If a text contains compositions, encode them correctly.
0c80628a
KH
2518 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2519 that decoding and encoding are required.
2520
3e32cc27
GM
25212000-12-27 Gerd Moellmann <gerd@gnu.org>
2522
5e25feee
GM
2523 * xfaces.c (PT_PER_INCH): New macro.
2524 (xlfd_point_size): Compute real point size from font's pixel size.
2525 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2526 instead of 72.
2527
892d8fcd
GM
2528 * .gdbinit: Comment out the line pointing to the Lesstif source
2529 directory.
2530
12c8b416
GM
2531 * window.c (Frecenter): Use displayed_window_lines instead
2532 of window_internal_height.
2533
6061fbf0
GM
2534 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2535 instead of x-toolkit-scroll-bars-p.
2536 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2537
2538 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2539 instead of x-toolkit-scroll-bars-p.
2540 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2541
3e32cc27
GM
2542 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2543 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2544 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2545 New variables.
2546 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2547 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2548 (build_frame_matrix_from_leaf_window): Remove unused code.
2549 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2550 redisplay history.
2551 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2552 (update_window) [GLYPH_DEBUG]: Likewise.
2553 (syms_of_display): Defsubr dump-redisplay-history.
2554
31798cfe
GM
25552000-12-23 Gerd Moellmann <gerd@gnu.org>
2556
f717c2ba
GM
2557 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2558 the end of the prompt. Set echo_after_prompt to the offset
2559 of echoptr in echobuf.
2560
aeb2b8fc
GM
2561 * xdisp.c (init_from_display_pos): Pop until the iterator's
2562 stack is empty; there may be frames for stretch or images
2563 on the stack.
2564
31798cfe
GM
2565 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2566 (save_or_restore_current_matrix): New function for the same
2567 purpose, but more efficient.
2568 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2569
f8156156
EZ
25702000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2571
2572 * xdisp.c (syms_of_xdisp): Fix last change.
2573
bdd6d4e8
GM
25742000-12-23 Gerd Moellmann <gerd@gnu.org>
2575
2576 * xdisp.c (syms_of_xdisp): Doc fix.
2577
2578 * xdisp.c (redisplay_window): Remove label restore_buffers;
2579 use finish_scroll_bars instead to make sure that scroll bars
2580 are redeemed. If we don't do this, flickering can result from
2581 scroll bars being destroyed and recreated.
2582
9436cdf9
JR
25832000-12-22 Jason Rumney <jasonr@gnu.org>
2584
2585 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2586 in the wrong colors when the foreground is not black.
2587 (expose_window): Don't redraw the window that's currently being
2588 updated.
2589
951f9df5
GM
25902000-12-22 Gerd Moellmann <gerd@gnu.org>
2591
856ff7a7
GM
2592 * window.c (size_window): When setting the window's too_small_ok
2593 flag, compare old size with minimum size depending on WIDTH_P,
2594 don't compare with window_min_width.
52283633 2595
951f9df5
GM
2596 * window.c (delete_window): Simplify somewhat.
2597 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2598 freeing window matrices. The flag windows_or_buffers_changed is
2599 set, so the next redisplay will consider all windows; this should
2600 suffice.
2601
886bc933
KH
26022000-12-22 Kenichi Handa <handa@etl.go.jp>
2603
2604 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2605
2606 * ccl.h (struct ccl_program): New member cr_consumed.
2607
2608 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2609 (CCL_READ_CHAR): Handle EOL conversion here.
2610 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2611
177f4e88
GM
26122000-12-21 Gerd Moellmann <gerd@gnu.org>
2613
52283633 2614 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2615
2616 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2617 otherwise tabs of different size compare equal.
2618
2619 * callint.c (Fcall_interactively): Prevent a compiler warning.
2620
2621 * print.c (print_unwind): Return nil.
2622 (PRINTDECLARE): Initialize all local variables.
2623 (print_preprocess): Add a default case.
2624
8e15274f
GM
2625 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2626
2627 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2628
52283633 2629 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2630 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2631
2632 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2633
2634 * dispnew.c (ensure_frame_matrix): Removed.
2635 (save_frame_matrix, restore_frame_matrix): New functions.
2636 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2637
2638 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2639 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2640
99012074
AI
26412000-12-21 Andrew Innes <andrewi@gnu.org>
2642
2643 * w32term.c (x_update_begin): Regenerate the palette here, rather
2644 than for each window.
2645
2646 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2647 palette is NULL, since this corrupts memory! Also get
2648 display_info reference from frame.
2649
29ef7d2d
JR
26502000-12-21 Jason Rumney <jasonr@gnu.org>
2651
2652 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2653
2654 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2655 to avoid returning without releasing it.
3e27fa1f 2656
3f9d67a6
KH
26572000-12-21 Kenichi Handa <handa@etl.go.jp>
2658
587fc3f9
KH
2659 * keymap.c (push_key_description): Don't convert eight-bit-control
2660 and eight-bit-graphic to multibyte character.
2661
3f9d67a6
KH
2662 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2663 generic character and CODE1 is nil, return the smallest character
2664 in CHARSET.
2665
774ba8c9
DL
26662000-12-20 Dave Love <fx@gnu.org>
2667
2668 * s/osf5-0.h (NSIG): Don't redefine.
2669
88416888
SM
26702000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2671
2672 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2673 excluding menu-bar and tool-bar.
2674 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2675 (menu_item_p): Remove.
2676 (where_is_internal_1): Don't ignore menu-items.
2677
a6426c6f
GM
26782000-12-20 Gerd Moellmann <gerd@gnu.org>
2679
03ff8aab
GM
2680 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2681 into account.
2682
2683 * window.c (make_window): Initialize window's min_hscroll.
2684 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2685 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2686 to zero.
2687 (struct saved_window): New member min_hscroll.
2688 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2689 (Fset_window_configuration): Set window's min_hscroll.
2690 (save_window_save): Save window's min_hscroll.
2691 (compare_window_configurations): Compare min_hscroll values.
2692
2693 * window.h (struct window): New member min_hscroll.
2694
2695 * keyboard.c (echo_prompt): Prevent a compiler warning.
2696
8de4aaf8
GM
2697 * xdisp.c (try_cursor_movement): Fix last change. The real
2698 condition is that PT is at the end of the row, and should
2699 be displayed at the start of the next row.
52283633 2700
3f7e3031
GM
2701 * xdisp.c (try_cursor_movement): If we end on a partially
2702 visible line, end we already decided to scroll, return -1.
2703
a6426c6f
GM
2704 * dispextern.h (ensure_frame_matrix): Add prototype.
2705
2706 * window.c (delete_window, Fsplit_window)
2707 (Fset_window_configuration): Call ensure_frame_matrix.
2708
52283633
SM
2709 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2710 New functions.
a6426c6f
GM
2711 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2712 completed, call fake_current_matrices instead of marking frame
2713 garbaged.
2714
57fa2774
JR
27152000-12-20 Jason Rumney <jasonr@gnu.org>
2716
2717 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2718
d925df90
EZ
27192000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2720
2721 * fns.c (Frequire): Doc fix.
2722
7b93a85b
GM
27232000-12-19 Gerd Moellmann <gerd@gnu.org>
2724
52283633 2725 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2726
c74e645b
GM
2727 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2728 currently displaying a message.
2729
7b93a85b
GM
2730 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2731 xterm.h.
2732 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2733
90d97e64
AI
27342000-12-18 Andrew Innes <andrewi@gnu.org>
2735
2736 * w32.c (w32_strerror): New function.
2737
2738 * w32.h (w32_strerror): New extern.
2739
2740 * w32fns.c (Fw32_shell_execute): Use it.
2741
91c9e6ce
GM
27422000-12-18 Gerd Moellmann <gerd@gnu.org>
2743
2744 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2745
6f4745e2
EZ
27462000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2747
2748 * msdos.c (IT_set_face): Obey inverse_video.
2749
c9e088ce
KH
27502000-12-18 Kenichi Handa <handa@etl.go.jp>
2751
2752 * dired.c (directory_files_internal): Always return decoded filenames.
2753
c3695f5f
GM
27542000-12-18 Gerd Moellmann <gerd@gnu.org>
2755
52d8e4ff
GM
2756 * xterm.c (x_connection_closed): Prevent being called recursively
2757 because of an error condition in XtCloseDisplay.
52283633 2758
62be9979
GM
2759 * xdisp.c (init_iterator): If noninteractive, and the frame's
2760 face cache is null, make one.
2761
52283633 2762 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2763
c3695f5f
GM
2764 * process.c (wait_reading_process_input): Check for pending
2765 input when running timers.
2766
78555fbe
EZ
27672000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2768
52283633 2769 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2770
b2b36264
KH
27712000-12-18 Kenichi Handa <handa@etl.go.jp>
2772
2773 * process.c (read_process_output): Don't run a filter if the code
2774 decoder produces nothing but carryover.
2775
9c543fbf
AI
27762000-12-17 Andrew Innes <andrewi@gnu.org>
2777
2778 * w32.c (sys_rename): Only check errno against EEXIST, and not
2779 EACCES, when determining whether rename failed because the target
2780 exists. This was resulting in indefinite looping on Windows 9x if
2781 the source file was locked by another process.
2782
2783 * w32fns.c (Ffile_system_info): New function.
2784 (syms_of_w32fns): Defsubr it.
2785
10c2b5a8
GM
27862000-12-17 Gerd Moellmann <gerd@gnu.org>
2787
b0228ace
GM
2788 * window.c (coordinates_in_window): Fix computation for
2789 position on vertical line between mode lines.
2790
10c2b5a8
GM
2791 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2792 Don't alter tip_frame or tip_window.
2793 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2794 was deleted.
2795
c844a81a
GM
2796 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2797 Don't alter tip_frame or tip_window.
2798 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2799 was deleted.
2800
6c825f8e
EZ
28012000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2802
2803 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2804 be consistent with the doc string. Reported by NAKAJIMA Mikio
2805 <minakaji@osaka.email.ne.jp>.
2806
af4bb4c8
KH
28072000-12-16 Kenichi Handa <handa@etl.go.jp>
2808
2809 * xfaces.c (Vface_ignored_fonts): New variable.
2810 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2811 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2812
8062e53a
GM
28132000-12-15 Gerd Moellmann <gerd@gnu.org>
2814
e87b8809
GM
2815 * dispnew.c (update_window): Detect pending input every nth line
2816 updated, i.e. do it depending on real work done, and not on the
2817 vpos of the line.
2818
2819 * xterm.c (expose_window): Don't redraw the window that's
2820 currently being updated.
2821
a6768cc5
GM
2822 * window.c (Fset_window_point): Remove test for
2823 cursor_in_non_selected_windows.
2824
4ea7fdca
GM
2825 * lread.c (read1): Recognize end of file after `\\'.
2826
8062e53a
GM
2827 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2828 not unwind_create_frame.
2829
bb7959c1
GM
28302000-12-15 Dave Love <fx@gnu.org>
2831
2832 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2833 bcopy & al.
2834
2835 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2836
ced04c42
KH
28372000-12-15 Kenichi Handa <handa@etl.go.jp>
2838
c5443913
KH
2839 * coding.c (setup_coding_system): Clear all members of the struct
2840 coding_system at first.
bc137305
KH
2841 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2842 argument.
2843 (code_convert_region): Don't override coding->src_multibyte and
2844 coding->dst_multibyte.
c5443913 2845
ced04c42
KH
2846 * fns.c (Fmd5): Docstring improved.
2847
c2d7f289
MB
28482000-12-15 Miles Bader <miles@gnu.org>
2849
2850 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2851 are actually marked as mode-lines; otherwise use
2852 estimate_mode_line_height.
2853
9d7d9263
GM
28542000-12-14 Gerd Moellmann <gerd@gnu.org>
2855
2856 * editfns.c (Fformat): Prevent a buffer overrun when the format
2857 specifies a precision.
2858
7cf0153a
EZ
28592000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2860
2861 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2862 argument is outside the range [2..3].
2863
1de0f662
AI
28642000-12-14 Andrew Innes <andrewi@gnu.org>
2865
2866 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2867 nothing to do. Bind inhibit-quit.
2868 (tip_frame): Make it a Lisp_Object.
2869 (x_create_tip_frame): Set tip_frame after it has been added to
2870 Vframe_list.
2871 (Fx_show_tip): Don't set tip_frame here.
52283633 2872 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2873 (unwind_create_frame, unwind_create_tip_frame): New functions.
2874 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2875 while a frame is only partially constructed.
2876
2877 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2878 (x_free_frame_resources): New function.
2879 (x_destroy_window): Use it.
2880
02387dcc
GM
28812000-12-14 Gerd Moellmann <gerd@gnu.org>
2882
2883 * xfns.c (Fx_backspace_delete_keys_p): New function.
2884 (syms_of_xfns): Defsubr it.
2885
2886 * config.in (HAVE_XKBGETKEYBOARD): Add.
2887
0544ef49
KH
28882000-12-14 Kenichi Handa <handa@etl.go.jp>
2889
98d62747
KH
2890 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2891 Always store string in multibyte representation in echobuf.
2892 (echo_char): Always store string in multibyte representation in
2893 echobuf.
2894 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2895 (read_key_sequence): Adjusted for the change of echo_prompt.
2896
a20193cd
KH
2897 * fns.c (Fmd5): Docstring improved.
2898
191b83b6
KH
2899 * lisp.h (detect_coding_system): Prototype adjusted.
2900
0544ef49
KH
2901 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2902 (detect_coding_emacs_mule, detect_coding_iso2022,)
2903 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2904 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2905 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2906 (detect_coding_mask, detect_coding_system): New argument
2907 MULTIBYTEP. Callers changed.
1da1bb05
KH
2908 (decode_coding_string): Set coding->src_multibyte and
2909 coding->dst_multibyte before calling detect_coding and detect_eol.
2910 Update them after some coding system is detected.
52283633 2911
d5b3eb1b
SM
29122000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2913
2914 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2915
2916 * keyboard.c (menu_bar_items, tool_bar_items):
2917 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2918
f7f8bb69
GM
29192000-12-13 Gerd Moellmann <gerd@gnu.org>
2920
52283633 2921 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2922 New variables.
2923 (unwind_create_frame, unwind_create_tip_frame): New functions.
2924 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2925 while a frame is only partially constructed.
2926
2927 * xterm.h (x_free_frame_resources): Declare.
2928
2929 * xterm.c (x_free_frame_resources): New function.
2930 (x_destroy_window): Use it.
2931
e10da507
GM
2932 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2933 don't interrupt the update for pending input initially, i.e.
2934 update at least some lines.
2935
2936 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2937
d5b3eb1b 2938 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2939
2940 * xfns.c (gray_bitmap_bits): Declare `char *'.
2941
90aa2856
GM
29422000-12-12 Gerd Moellmann <gerd@gnu.org>
2943
2944 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2945 lines start with a relief line.
2946
a308c9cd
DL
29472000-12-12 Dave Love <fx@gnu.org>
2948
2949 * window.c (Fdisplay_buffer): Doc fix.
2950 (Fwindow_list): Remove unused var.
2951
2952 * buffer.h (mmap_set_vars): Declare.
2953
2954 * window.h (Fset_window_point): Declare.
2955
d575011f
EZ
29562000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2957
bf6282d2 2958 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2959 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2960 variable `area'. When looking for a row under (X,Y), give up if some
2961 of the previous rows is not enabled.
d575011f 2962
ecf4d726
GM
29632000-12-12 Gerd Moellmann <gerd@gnu.org>
2964
2ebf6139
GM
2965 * window.c (Fset_window_point): If displaying cursors in windows
2966 other than the selected window, make sure redisplay updates
2967 other windows to show the new value of point in the window.
2968
2969 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2970
bfdb75ee
GM
2971 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2972 the buffer is the sole visible buffer when in the mini-buffer.
2973
52283633 2974 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2975 Bind `inhibit-read-only' to t.
2976 (unwind_with_echo_area_buffer): Use AREF.
2977
c0006262
GM
2978 * xfns.c (Fx_hide_tip): Simplified.
2979
52283633
SM
2980 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2981 instead of `1'.
e9a59cad 2982
ecf4d726
GM
2983 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2984
e5959a9a
GM
29852000-12-11 Gerd Moellmann <gerd@gnu.org>
2986
a3642e49 2987 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2988
44b5a125
GM
2989 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2990 nothing to do. Bind inhibit-quit.
2991 (tip_frame): Make it a Lisp_Object.
2992 (x_create_tip_frame): Set tip_frame after it has been added to
2993 Vframe_list.
2994 (Fx_show_tip): Don't set tip_frame here.
2995
2996 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2997
2998 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2999 Lisp_Object.
3000
3001 * dispextern.h: Change external declaration of tip_frame.
3002
d990421f
GM
3003 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3004 return an empty string.
3005
4db87380
GM
3006 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3007 of the window's update_mode_line flag, since the former is set by
3008 force-mode-line-update, not the latter. This makes
3009 column-number-mode slightly faster.
52283633 3010
e5959a9a
GM
3011 * xdisp.c (try_window_id) <all changes above window start>:
3012 Set the cursor.
3013
169fe44e
GM
30142000-12-11 Paul Eggert <eggert@twinsun.com>
3015
3016 * config.in (HAVE_FTELLO): Remove.
3017 (HAVE_FSEEKO): Add.
3018 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3019 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3020 HAVE_FTELLO.
3021 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3022 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3023
59ec59ae
MB
30242000-12-11 Miles Bader <miles@gnu.org>
3025
3026 * window.c (displayed_window_lines): Don't round up when
3027 converting empty space at bottom to lines.
ff904dd6
MB
3028 Handle non-newline-terminated final lines properly.
3029 (Fwindow_text_height): New function (used to be in lisp).
3030 (syms_of_window): Initialize it.
59ec59ae 3031
42ebfa31
SM
30322000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3033
3034 * syntax.c (scan_lists): Check that the right quote char has the
3035 right Sstring syntax when jumping over strings.
3036 (init_syntax_once): Use Smax rather than 13.
3037
5cdb3cf3
MB
30382000-12-09 Miles Bader <miles@gnu.org>
3039
3040 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3041 with PARTIALLY, inverting the sense.
3042 (window_scroll_pixel_based): Scroll partially visible lines into
3043 place if we hit the beginning or end of the buffer.
a12167c5
MB
3044 (displayed_window_lines): Don't include partially visible lines.
3045 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3046
842b2a94
GM
30472000-12-08 Gerd Moellmann <gerd@gnu.org>
3048
3049 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3050
3051 * tparam.c (tparam1): Change the way buffers are reallocated to be
3052 portable and less obfuscated.
3053
3054 * termcap.c (tgetent): Change the way buffers are reallocated to
3055 be portable and less obfuscated.
3056
3057 * macros.c (store_kbd_macro_char): Change the way buffers are
3058 reallocated to be portable and less obfuscated.
3059
3060 * lread.c (read1): Change the way buffers are reallocated to be
3061 portable and less obfuscated.
3062
3063 * doc.c (Fsubstitute_command_keys): Change the way buffers
3064 are reallocated so that it is portable.
3065
137cad7c
EZ
30662000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3067
3068 * dosfns.c (Ffile_system_info): New function.
3069 (syms_of_dosfns): Defsubr it.
3070
5c7f629c
SM
30712000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3072
3073 * alloc.c (gc_sweep): Add comment.
3074
959e647d
GM
30752000-12-07 Gerd Moellmann <gerd@gnu.org>
3076
52283633
SM
3077 * sound.c (vox_configure): Change order of ioctls.
3078 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3079 Ignore errors when changing volume.
3080 (vox_close): Don't reset the device.
3081
926b7e5e
GM
3082 * process.c (read_process_output): Make sure the process marker's
3083 position is valid when the process buffer is changed in
3084 after-change functions. W3 does that.
52283633 3085
959e647d
GM
3086 * xfns.c (x_free_gcs): New function.
3087
3088 * xterm.h (x_free_gcs): Add prototype.
3089
3090 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3091 freeing GCs here.
3092
3093 * xterm.c (x_destroy_window): Call x_free_gcs so that
3094 resources of non-toolkit X windows will be freed.
3095
478ea067
AI
30962000-12-07 Andrew Innes <andrewi@gnu.org>
3097
3098 * w32fns.c (xlfd_charset_of_font): Fix last change.
3099
fbee3231
DL
31002000-12-06 Dave Love <fx@gnu.org>
3101
67292061
DL
3102 * md5.h (__P): Don't define -- it comes from config.h.
3103
fbee3231
DL
3104 * strftime.c: Change some #if foo to #ifdef foo.
3105
4ee87dbb
AI
31062000-12-06 Andrew Innes <andrewi@gnu.org>
3107
3108 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3109
52283633 3110 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3111 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3112 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3113
9765b4a4
GM
31142000-12-06 Gerd Moellmann <gerd@gnu.org>
3115
d285b373
GM
3116 * alloc.c (gc_sweep): Prevent symbols read during loadup
3117 from being freed.
3118
384333ee
GM
3119 * xdisp.c (underlying_face_id): New function.
3120 (handle_face_prop, face_before_or_after_it_pos): Use it
3121 to determine the face ``under'' a string. Let strings inherit
3122 the face of the buffer under them.
3123
3124 * xfaces.c (face_at_string_position): Update function comment.
52283633 3125
d4b72d58
GM
3126 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3127 matrix if the window's left position has changed; we need to
3128 redraw it in this case.
3129
3130 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3131
e1d05387
GM
3132 * window.c (coordinates_in_window): Check mouse on mode-line or
3133 header-line first.
3134
eb1b0c74
GM
3135 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3136 advertized by the function documentation.
3137
d94d636f
GM
3138 * window.c (syms_of_window): Doc fix.
3139
3887b449
GM
3140 * sound.c (vox_configure): Set volume for left and right channel.
3141 (sound_cleanup): Return nil.
3142
efc8f57a
GM
3143 * xdisp.c (move_it_by_lines): Fix paren typo.
3144
9765b4a4
GM
3145 * xterm.c (x_load_font): Don't use the font's max_bounds for
3146 computing the height of the font. If max_bounds' ascent or
3147 descent are greater than the font's ascent or descent, this means
3148 glyphs overlap, which should be handled now by redisplay.
3149
6529ed87
GM
3150 * window.c (Veven_window_heights): New variable.
3151 (syms_of_window): DEFVAR_LISP it.
3152 (Fdisplay_buffer): Check Veven_window_heights before evening the
3153 window heights.
52283633 3154
0eb2ecde
MB
31552000-12-06 Miles Bader <miles@gnu.org>
3156
3157 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3158 update `default-frame-alist' instead of setting no frame parameters.
3159
03d7a167
KH
31602000-12-06 Kenichi Handa <handa@etl.go.jp>
3161
3162 * composite.c (update_compositions): Fix typo (use the correct
3163 variable).
3164
5f8803c2
JR
31652000-12-05 Jason Rumney <jasonr@gnu.org>
3166
3167 * md5.h: Remove underscores from function declarations.
3168 (__attribute__, __alignof__) [!__GNUC__]: Define.
3169
3170 * md5.c: Delay include of md5.h until after namespace cleaning.
3171
c28a075b
JR
3172 * makefile.w32-in (fns.o): Depend on md5.h
3173 (md5.o): New target.
3174 (sunfns.o): Remove.
3175
3176 * makefile.nt: Likewise.
3177
ff3c7056
JR
31782000-12-05 Jason Rumney <jasonr@altavista.net>
3179
3180 * w32term.c (expose_area): Complete last change.
3181
0c21eeeb
KR
31822000-12-05 Ken Raeburn <raeburn@gnu.org>
3183
3184 * minibuf.c: Include intervals.h.
3185
f201d732
JR
31862000-12-05 Jason Rumney <jasonr@gnu.org>
3187
3188 * w32term.c (x_produce_glyphs): If a font for a component of
3189 a composition is not found, use 1 pixel dot ascent and 0 dot
3190 descent value to avoid displaying terribly tall empty boxes.
3191 (expose_area): Pass x-coordinate relative to the exposed
3192 area to x_draw_glyphs instead of a window-relative coordinate.
3193
21999ab9
GM
31942000-12-05 Gerd Moellmann <gerd@gnu.org>
3195
4d2036e4
GM
3196 * xdisp.c (next_element_from_ellipsis): Save face before selective
3197 display in saved_face_id, and set face_before_selective_p.
3198 (reseat_1): Reset face_before_selective_p.
3199 (append_space, extend_face_to_end_of_line): If iterator's
3200 face_before_selective_p is set, use the face from saved_face_id.
3201 (extend_face_to_end_of_line): For tty frames, make sure to
3202 use the right face id when producing spaces at the end of
3203 the line.
3204
3205 * dispextern.h (struct it): Add face_before_selective_p.
3206
52be17cc
GM
3207 * keyboard.c (record_char): Don't record identical help-echo
3208 events in recent_keys.
3209
8a4f36cc
GM
3210 * xterm.c [USE_X_TOOLKIT]: Close the display.
3211 (xim_close_dpy): Handle case that the display has been closed.
3212
57d6e381
GM
3213 * xterm.c (x_destroy_window): Reset the frame's X window after
3214 destroying it.
3215
21999ab9
GM
3216 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3217 variable window_width.
3218 (line_draw_cost): Fix code skipping over spaces at the end of the
3219 line when must_write_spaces is not set.
3220 (scrolling_window): Fix code inserting runs in list of all runs.
3221
91372bb7
KH
32222000-12-05 Kenichi Handa <handa@etl.go.jp>
3223
3224 * coding.c (setup_coding_system): Be sure to initialize
3225 coding->category_idx.
3226
6c083b4c
GM
32272000-12-04 Gerd Moellmann <gerd@gnu.org>
3228
0c68ce6f 3229 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3230
6452929e
GM
3231 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3232 area to x_draw_glyphs instead of a window-relative coordinate.
3233
d7f31e22
GM
3234 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3235 error in the message.
3236
ae18aa3b
GM
3237 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3238 timer after having read a key. It's not good for code reading
3239 several keys in a loop, like an input method.
3240
caa15ef7
GM
3241 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3242 record undo information for format-decode.
3243
3244 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3245 current buffer is read-only, not if it isn't.
3246
6c083b4c
GM
3247 * keyboard.c (record_char): Record `help-echo' input events
3248 in recent_keys only if they display some help. Don't record
3249 `help-echo' events as macro char.
3250
caa15ef7
GM
32512000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3252
3253 * editfns.c (save_excursion_restore): Don't move point
3254 in another window if it is showing the wrong buffer.
3255 Avoid the call to Fwindow_live_p, for speed.
3256
5a13529b
KH
32572000-12-04 Kenichi Handa <handa@etl.go.jp>
3258
e225faa7
KH
3259 * xfaces.c (struct font_name): New member registry_priority.
3260 (split_font_name): Initialize the above member to zero.
3261 (concat_font_list): New function.
3262 (font_list): Include fonts of all alternative registries.
3263 (FONT_POINT_SIZE_QUANTUM): New macro.
3264 (better_font_p): Ignore point size difference less than
3265 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3266
e89648b4
KH
3267 * xterm.c (x_produce_glyphs): If a font for a component of
3268 a composition is not found, use 1 pixel dot ascent and 0 dot
3269 descent value to avoid displaying terribly tall empty boxes.
3270
5a13529b
KH
3271 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3272
d7935eb6
KR
32732000-12-03 Ken Raeburn <raeburn@gnu.org>
3274
3275 * coding.h (code_convert_string1): Declare.
3276
3277 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3278
52283633 3279 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3280
0dd5e255
JR
32812000-12-02 Jason Rumney <jasonr@gnu.org>
3282
3283 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3284 correctly for single byte character case.
3285 (w32_per_char_metric): Do not try to make any assumptions about
3286 the metrics of BDF fonts.
250cfece 3287 (x_estimate_mode_line_height): If `mode-line' face
52283633 3288 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3289 (note_mouse_highlight): Change the cursor shape on the vertical
3290 border between windows [not enabled].
3291
3292 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3293
3294 * w32fns.c (Fx_create_frame): Reintroduce the call to
3295 face-set-after-frame-defaults.
3296 (Vx_window_horizontal_drag_shape): New variable.
3297 (syms_of_xfns): DEFVAR_LISP it.
3298 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3299 enabled].
0dd5e255 3300
b5d8d2ca
GM
33012000-12-02 Simon Josefsson <simon@josefsson.org>
3302
3303 * fns.c (Fmd5): Use a different logic to decide the coding system
3304 to use.
3305
3306 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3307
fbb87147
EZ
33082000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3309
52283633 3310 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3311
447e9da0
GM
33122000-12-01 Gerd Moellmann <gerd@gnu.org>
3313
7708ced0
GM
3314 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3315 height for YNegative.
3316 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3317 height; also see comment there.
3318
447e9da0
GM
3319 * window.c (coordinates_in_window): Handle computations for
3320 positions on the vertical bar and fringes differently for
3321 window-system frames. Consider some pixels near the vertical bar
3322 as on the bar if the frame doesn't have vertical scroll bars.
3323 Associate positions between mode or header lines with the
3324 right window, the left one.
3325
86d1db20
JR
33262000-12-01 Jason Rumney <jasonr@gnu.org>
3327
3328 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3329
3330 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3331 invalid frame.
3332
a1d58e5b
GM
33332000-12-01 Gerd Moellmann <gerd@gnu.org>
3334
52283633 3335 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3336 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3337 (save_window_save, Fset_window_configuration): Save/restore
3338 window's orig_top and orig_height.
3339
89c609af
JR
33402000-12-01 Jason Rumney <jasonr@gnu.org>
3341
4d177746 3342 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3343
89c609af
JR
3344 * w32fns.c (x_set_cursor_color): Fix last change.
3345
eccc05db
GM
33462000-11-30 Gerd Moellmann <gerd@gnu.org>
3347
31b6671b
GM
3348 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3349 sure that the next redisplay displays the minibuffer, so that
3350 the cursor will be replaced with what the minibuffer wants.
3351
eccc05db
GM
3352 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3353 #ifndef instead of using #if.
3354 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3355 USE_TOOLKIT_SCROLL_BARS is defined.
3356
162de750
JR
33572000-11-30 Jason Rumney <jasonr@gnu.org>
3358
3359 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3360 x_display_cursor.
3361
693c4692
GM
33622000-11-30 Gerd Moellmann <gerd@gnu.org>
3363
3364 * fns.c (Fmd5): Doc fix.
3365
b5d8d2ca 33662000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3367
3368 * fns.c (Fmd5): New function.
3369 (syms_of_fns): Defsubr md5.
3370
3371 * Makefile.in (obj): Add md5.o
3372
b02cd40b
GM
33732000-11-30 Gerd Moellmann <gerd@gnu.org>
3374
edfb795e
GM
3375 * md5.h, md5.c: New files, taken from glibc.
3376
df3aedcf
GM
3377 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3378
b02cd40b 3379 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3380 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3381
8b5176cd
SM
33822000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3383
3384 * eval.c (Frun_hooks): Allow 0 arguments.
3385
346598f1
GM
33862000-11-29 Gerd Moellmann <gerd@gnu.org>
3387
f9396e03
GM
3388 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3389 is over the menu bar widget, say it's not on the frame.
3390
4a967a9b
GM
3391 * xfns.c (Fx_create_frame): Reintroduce the call to
3392 face-set-after-frame-defaults.
3393
346598f1
GM
3394 * eval.c (Fsignal): Reset handling_signal.
3395
222456a1
JR
33962000-11-28 Jason Rumney <jasonr@gnu.org>
3397
3398 * w32menu.c (add_menu_item): Reset menu item text when changing
3399 type to radio button.
3400
8049ddc0
GM
34012000-11-28 Gerd Moellmann <gerd@gnu.org>
3402
346598f1 3403 * xselect.c: Update copyright.
f4f4ee4d 3404
bebe4a2c
GM
3405 * window.c (coordinates_in_window): If on a mode or header line,
3406 but sufficiently close to its start, return ``on vertical
3407 border''. This gives us a way to drag windows horizontally when
3408 using toolkit scroll bars.
3409
3410 * xterm.c (note_mouse_highlight): Change the cursor shape
3411 on the vertical border between windows.
3412
3413 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3414
3415 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3416 (syms_of_xfns): DEFVAR_LISP it.
3417 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3418
8d2c2642
GM
3419 * textprop.c (text_read_only): New function.
3420 (verify_interval_modification): Use it instead of signaling
3421 `text-read-only'. This makes it easier to catch this error
52283633 3422 with a breakpoint.:
8d2c2642 3423
52283633 3424 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3425 not end of line, which includes CR.
3426
5a2bae6c
KH
34272000-11-28 Kenichi Handa <handa@etl.go.jp>
3428
3429 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3430 include no-conversion.
3431
ae31f84d
JR
34322000-11-27 Jason Rumney <jasonr@gnu.org>
3433
3434 * w32fns.c (w32_load_system_font): Always mark font as double byte
3435 if codepage is unicode.
3436
67f1cf4c
GM
34372000-11-27 Gerd Moellmann <gerd@gnu.org>
3438
4a74d071 3439 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3440 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3441
902ae620
GM
3442 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3443 `vertical-line', `mode-line' and `header-line' events.
3444
3445 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3446 of a character, a TAB for instance. This is easier than to set
3447 up the iterator exactly, and it's not a frequent case, so the
3448 additional effort wouldn't really pay off.
3449
c1e279c2
AC
34502000-11-26 Andrew Choi <akochoi@i-cable.com>
3451
67f1cf4c 3452 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3453 init_window_once.
3454
a609568a
JR
34552000-11-25 Jason Rumney <jasonr@gnu.org>
3456
52283633
SM
3457 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3458 Args to window_from_coordinates should be pixel coordinates.
48b21762 3459
a609568a
JR
3460 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3461 redisplay handles them properly.
3462
a658d039
MB
34632000-11-25 Miles Bader <miles@gnu.org>
3464
3465 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3466
d3416cca
JR
34672000-11-24 Jason Rumney <jasonr@gnu.org>
3468
3469 * w32.c (init_environment): Set LANG environment variable based on
3470 locale settings, if not set.
3471
3472 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3473 making tool bar smaller. When clearing the frame, also
3474 clear current matrices. Clear frame when tool bar disappears.
3475 Don't use more lines for the tool-bar than is available.
3476 (x_change_window_heights): New function.
3477
ba193890
GM
34782000-11-24 Gerd Moellmann <gerd@gnu.org>
3479
2be8f184
GM
3480 * xdisp.c (init_from_display_pos): If POS says we're already after
3481 an overlay string ending at POS, make sure to pop the iterator
3482 because it will be in front of that overlay string. When POS is
3483 ZV, we've thereby also ``processed'' overlay strings at ZV.
3484
ba193890
GM
3485 * xfaces.c (lface_from_face_name): Function comment fix.
3486
1862a24e
MB
34872000-11-24 Miles Bader <miles@gnu.org>
3488
3489 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3490 apply `mode-line-inverse-video' -- zero means force display using
3491 the default face, non-zero means display using the specialized face.
3492 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3493
f07fa1b8
KH
34942000-11-23 Kenichi Handa <handa@etl.go.jp>
3495
3496 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3497 hard coded `4'.
3498
2bcdf662
EZ
34992000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3500
3501 * coding.c (decode_coding_emacs_mule): Fix the case of
3502 CODING_EOL_LF, which used uninitialized value of c.
3503
ba8299ff
SM
35042000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3505
3506 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3507
f4117c4d
GM
35082000-11-22 Gerd Moellmann <gerd@gnu.org>
3509
03e757c1
GM
3510 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3511 buffer object.
3512
f4117c4d
GM
3513 * frame.h (struct frame): Replace desired_tool_bar_items,
3514 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3515 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3516
3517 * frame.c (make_frame): Change initialization of tool bar
3518 items accordingly.
3519
3520 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3521 Change references to members deleted from struct frame to use the
f4117c4d
GM
3522 new ones.
3523
3524 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3525 references to members deleted from struct frame to use the new ones.
f4117c4d 3526
52283633 3527 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3528
3529 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3530
3531 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3532 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3533 from struct frame to use the new ones.
3534
f8e2f3f2
MB
35352000-11-23 Miles Bader <miles@gnu.org>
3536
3537 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3538 the face's inverse-video attribute, rather than overriding it.
3539
60e8e0a5
GM
35402000-11-22 Gerd Moellmann <gerd@gnu.org>
3541
3542 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3543 making tool bar smaller.
3544
92dd1b29
DL
35452000-11-22 Dave Love <fx@gnu.org>
3546
3547 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3548
e672fdce
MB
35492000-11-22 Miles Bader <miles@gnu.org>
3550
3a17d6cc
MB
3551 * keyboard.c (Vminibuffer_message_timeout): New variable.
3552 (command_loop_1): Use it to determine message timeout.
3553 (syms_of_keyboard): Initialize it.
3554
60e8e0a5 3555 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3556
e9655d81
KH
35572000-11-22 Kenichi Handa <handa@etl.go.jp>
3558
3559 * sysdep.c: Move the code for declaring h_errno after #include
3560 <netdb.h>.
3561
77270fac
GM
35622000-11-21 Gerd Moellmann <gerd@gnu.org>
3563
cd913aae
GM
3564 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3565 the menu bar when the tooltip is unmapped.
3566
77270fac
GM
3567 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3568 sole visible buffer when we're currently in the mini-buffer, and
3569 give up if so.
52283633 3570
556635d6
JR
35712000-11-21 Jason Rumney <jasonr@gnu.org>
3572
3573 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3574 put on the clipboard.
3575 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3576 copy of what Emacs last put there. If they are the same, do not
52283633 3577 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3578
5b7bde64
MB
35792000-11-22 Miles Bader <miles@gnu.org>
3580
3581 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3582 (syms_of_minibuf): Initialize it.
3583 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3584 to prompt, don't make read-only.
3585
ff23e1dd
GM
35862000-11-21 Gerd Moellmann <gerd@gnu.org>
3587
52283633
SM
3588 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3589 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3590
7aaf4388
GM
3591 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3592
f5f47add 3593 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3594
ff23e1dd
GM
3595 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3596
37c35586
KH
35972000-11-21 Kenichi Handa <handa@etl.go.jp>
3598
3599 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3600 ... #endif scope.
3601
ff9ab414
GM
36022000-11-20 Gerd Moellmann <gerd@gnu.org>
3603
52283633 3604 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3605 screen supports it.
3606
29a01b72
GM
3607 * s/gnu-linux.h: Don't use `#cpu'.
3608
09dfdf85
GM
3609 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3610 not defined in mman.h.
3611
52283633 3612 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3613 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3614 and store an index in the XClientMessageEvent. Storing a
3615 Lisp_Object or pointer can fail on a 64 bit system, since X only
3616 transfers 32 bits.
52283633
SM
3617 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3618
81459ac9
DL
36192000-11-20 Dave Love <fx@gnu.org>
3620
3621 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3622
56c13ae6
GM
36232000-11-20 Gerd Moellmann <gerd@gnu.org>
3624
3625 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3626
495a6df3
KH
36272000-11-20 Kenichi Handa <handa@etl.go.jp>
3628
2bcf3714
KH
3629 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3630 by WIDTH.
3631
495a6df3
KH
3632 * alloc.c (make_string): Fix previous change. Be sure to make
3633 unibyte string correctly.
3634
6d950f4c
GM
36352000-11-19 Gerd Moellmann <gerd@gnu.org>
3636
39b39373
GM
3637 * window.c (Fwindow_list): Change parameter list to be XEmacs
3638 compatible.
3639 (window_list_1): New function.
3640 (window_loop): Use it instead of Fwindow_list.
3641
b95b34e5
GM
3642 * sysdep.c (emacs_ospeed): New variable.
3643 (toplevel): Don't declare ospeed extern.
3644 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3645
3646 * termcap.c (ospeed): Remove.
3647 (tputs) [!emacs]: Remove unused code.
3648 (tgetent): Avoid a compiler warning.
3649
e83dc917
GM
3650 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3651 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3652 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3653
3654 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3655 removed.
3656 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3657 Take the X display as additional argument.
3658 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3659 `Widget' is a pointer type that's not easily stored in Lisp_Object
3660 form in a portable way.
52283633 3661
6d950f4c
GM
3662 * dispnew.c (update_text_area): Fix last change.
3663
e47306e6
GM
36642000-11-18 Gerd Moellmann <gerd@gnu.org>
3665
fb3cd89b
GM
3666 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3667
3668 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3669 clear current matrices.
3670
edaa9aed
GM
3671 * buffer.c (mmap_enlarge): Don't print a message on stderr
3672 if mapping new memory at the end of the existing region fails.
3673
e47306e6
GM
3674 * dispnew.c (update_text_area): Don't skip over equal glyphs
3675 when the last current glyph overlaps the glyph to its right.
3676
509633e3
MB
36772000-11-18 Miles Bader <miles@gnu.org>
3678
3679 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3680 lines that *end* with "..." too (that's the most common case!).
3681
d392e9c5
GM
36822000-11-18 Gerd Moellmann <gerd@gnu.org>
3683
67988445
GM
3684 * xdisp.c (resize_mini_window): Temporarily change to the
3685 mini-window's buffer if necessary.
1bfdbe43 3686
d392e9c5
GM
3687 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3688 the tooltip obscures less text under it.
3689
36902000-11-17 Gerd Moellmann <gerd@gnu.org>
3691
3692 * puresize.h (BASE_PURESIZE): Increase to 700000.
3693
92bb977f
JR
36942000-11-18 Jason Rumney <jasonr@gnu.org>
3695
3696 * w32term.c (w32_draw_bitmap): Use face to set colors.
3697
26fbf20b
DL
36982000-11-17 Dave Love <fx@gnu.org>
3699
3700 * lread.c (Fload): Fix #ifdef for pcc.
3701
100b593b
GM
37022000-11-17 Gerd Moellmann <gerd@gnu.org>
3703
3704 * xdisp.c (pos_visible_p): Compute the default character height
3705 differently.
3706
a288d0d1
GM
37072000-11-16 Gerd Moellmann <gerd@gnu.org>
3708
cac94de6 3709 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3710 knowing the line's height; use the default font's height in that case.
cac94de6 3711
a288d0d1
GM
3712 * xfaces.c (weight_table): Add `demi' with the same meaning as
3713 `demibold'.
3714
981fb6f6
KH
37152000-11-16 Kenichi Handa <handa@etl.go.jp>
3716
2cca872d 3717 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3718 (clear_glyph_row): Delete local static variable null_row.
3719
e5fa381b
JR
37202000-11-15 Jason Rumney <jasonr@gnu.org>
3721
3722 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3723 (w32_alloc_lighter_color): Use new brightness calculations from
3724 xterm.c. Scale delta to be in the range expected by W32.
3725 (w32_draw_relief_rect): Use frame relief colors.
3726
8e42f043
GM
37272000-11-15 Gerd Moellmann <gerd@gnu.org>
3728
6d133d1f
GM
3729 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3730 (Qinhibit_default_face_x_resources): New variable.
3731 (syms_of_frame): Initialize it.
3732 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3733
3734 * xdisp.c (pos_visible_p): Improve function comment.
3735
3736 * lisp.h (BINDING_STACK_SIZE): New macro.
3737
8e42f043
GM
3738 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3739 reading the directory if readdir returns null and errno is EAGAIN
3740 or EINTR.
3741
e8c87124
SM
37422000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3743
3744 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3745 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3746 Set amount_to_scroll to max of dx and scroll_step so that
3747 scroll-conservatively doesn't defeat scroll-step>1.
3748 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3749 scroll-conservatively for line-at-a-time scrolling.
3750
5f0c971d
GM
37512000-11-14 Gerd Moellmann <gerd@gnu.org>
3752
3753 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3754 extra argument.
3755
3756 * xdisp.c (current_mode_line_height, current_header_line_height):
3757 New variables.
3758 (init_xdisp): Initialize them.
3759 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3760 and use exact mode line heights if it is set.
3761
3762 * lisp.h (pos_visible_p): Change prototype.
3763
3764 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3765 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3766 and current_header_line_height first.
52283633
SM
3767 (current_mode_line_height, current_header_line_height):
3768 Declare extern.
5f0c971d 3769
d7361edf
MB
37702000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3771
3772 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3773 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3774 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3775
ee5e440a
MB
37762000-11-14 Miles Bader <miles@gnu.org>
3777
3778 * xterm.c (x_alloc_lighter_color): Include an additive component
3779 too for dark colors, because FACTOR isn't enough.
3780 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3781 New macros.
3782
5ca020fc
GM
37832000-11-13 Gerd Moellmann <gerd@gnu.org>
3784
3785 * keyboard.c (show_help_echo): Call message3_nolog with number of
3786 bytes in the help string as 2nd parameter, instead of the number
3787 of characters.
3788
9d348294
MB
37892000-11-13 Miles Bader <miles@gnu.org>
3790
3791 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3792 (Fload): Use new openp return protocol.
3793 Don't try to use Vload_source_file_function to load .elc files.
3794 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3795 openp return protocol.
3796 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3797
1729bb9a
KH
37982000-11-11 Kenichi Handa <handa@etl.go.jp>
3799
4e677396
KH
3800 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3801
3802 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3803 Defined these macros.
3804 (NLIST_STRUCT): Avoid re-defining it.
3805
1729bb9a
KH
3806 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3807 -I/usr/contrib/X11R6/include.
3808 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3809
a82fe213
JR
38102000-11-10 Jason Rumney <jasonr@gnu.org>
3811
3812 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3813
3814 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3815 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3816
3817 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3818 (Qw32_charset_vietnamese): New symbol.
3819 (xlfd_charset_of_font): New function.
3820 (w32_load_system_font): Use it.
3821 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3822 when Vw32_charset_info_alist is nil to ensure default face always
3823 has font. Use Fcar and Fcdr for safety.
3824 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3825 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3826 pseudo-codepages for special cases.
3827 (w32_to_x_font): New parameter to allow charset portion to be
3828 specified where there is many to one mapping. Callers changed.
3829 (w32_list_fonts): Avoid listing fonts that won't display.
3830
52d89894
GM
38312000-11-10 Gerd Moellmann <gerd@gnu.org>
3832
3833 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3834 (font_list_1): Renamed from font_list.
3835 (font_list): New function, trying alternative registries from
3836 Vface_alternative_font_registry_alist.
3837 (Finternal_set_alternative_font_registry_alist): New function.
3838 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3839 Vface_alternative_font_registry_alist.
3840 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3841
651cd3da
KR
38422000-11-09 Ken Raeburn <raeburn@gnu.org>
3843
3844 * lisp.h (Flooking_at): Declare.
3845
388ac098
GM
38462000-11-09 Gerd Moellmann <gerd@gnu.org>
3847
778fbc46 3848 * dired.c (directory_files_internal): Fix a braino.
52283633 3849
388ac098
GM
3850 * dired.c (directory_files_internal): Add missing GCPRO's.
3851 Some cleanup.
3852
ecaedde1
GM
38532000-11-08 Gerd Moellmann <gerd@gnu.org>
3854
f7eb32aa
GM
3855 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3856 (resize_mini_window): Return quickly if Vresize_mini_window is
3857 nil. Don't return if Vmax_mini_window_height is nil.
3858
3859 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3860 (syms_of_xdisp): Initialize them.
3861 (resize_mini_window): Act according to the setting of
3862 Vresize_mini_window.
3863 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3864
ecaedde1
GM
3865 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3866 scroll bar widget after configuring it, so that it will appear at
3867 the right position from the start.
3868 (XTredeem_scroll_bar): Cleaned up.
3869
3747ef2c
KH
38702000-11-08 Kenichi Handa <handa@etl.go.jp>
3871
3872 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3873 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3874 division by two.
3875
3876 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3877
03391420
DL
38782000-11-07 Dave Love <fx@gnu.org>
3879
7758f1c1 3880 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3881
3882 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3883
b5de343d
GM
38842000-11-07 Gerd Moellmann <gerd@gnu.org>
3885
acad3c0b
GM
3886 * window.c (Fset_window_configuration): Don't try to preserve
3887 point in the current buffer, if that buffer is displayed in more
3888 than one window.
3889
b5de343d
GM
3890 * xfaces.c (lookup_named_face): If default face isn't realized,
3891 try to realize it. Return -1 if not successful.
3892 (Fx_list_fonts): Handle case that face cannot be determined.
3893 (Fface_font): Likewise.
3894
cdb1fe49
GM
38952000-11-06 Gerd Moellmann <gerd@gnu.org>
3896
3897 * window.c (displayed_window_lines): Detect partially
3898 visible lines at the bottom correctly.
3899
d3a67486
SM
39002000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3901
3902 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3903 when ensuring we don't do visit in indirect buffer.
3904
ff8dd5d5
KH
39052000-11-06 Kenichi Handa <handa@etl.go.jp>
3906
3907 * composite.h (compose_chars_in_text): Add prototype.
3908
3909 * composite.c (Vcomposition_function_table): New variable.
3910 (Qcomposition_function_table): New variable.
3911 (run_composition_function): Call
3912 Vcompose_chars_after_function with three arguments.
3913 (compose_chars_in_text): New function.
3914 (syms_of_composite): Modified the doc-string of
3915 Vcompose_chars_after_function. Declare composition-function-table
3916 as a lisp variable, and initialize it.
3917
3918 * xfns.c (x_encode_text): Suppress producing escape sequences for
3919 composition.
3920
3921 * xselect.c: Include composite.h.
3922 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3923
d1145f85
AI
39242000-11-05 Andrew Innes <andrewi@gnu.org>
3925
3926 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3927
3928 * sysdep.c (read_input_waiting): Remove extraneous argument to
3929 read_socket_hook.
3930
3931 * w32fns.c (Fx_server_version): Include w32_build_number in the
3932 return list.
3933
3934 * w32heap.c (w32_build_number): New variable.
3935 (cache_system_info): Set it.
3936
3937 * w32heap.h (w32_build_number): Add extern.
3938
3939 * emacs.c (syms_of_emacs): Update docstring for
3940 system-configuration, to reflect the actual usage on MS-Windows.
3941
e85ee976
GM
39422000-10-31 Gerd Moellmann <gerd@gnu.org>
3943
26dcb81b
GM
3944 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3945 process idle timers while waiting for another event.
3946
52283633 3947 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3948 the default face are colored.
3949
e85ee976
GM
3950 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3951 window height hasn't changed.
3952
01b220b6
JR
39532000-10-31 Jason Rumney <jasonr@gnu.org>
3954
3955 * w32term.c (x_produce_glyphs): Handle composite characters.
3956 (x_draw_glyph_string_foreground)
3957 (x_draw_composite_glyph_string_foreground): Restore old font.
3958
4e6b7204
MB
39592000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3960
3961 * minibuf.c (read_minibuf): Reset the undo history just before
3962 starting the recursive-edit.
3963
d4358b37
GM
39642000-10-30 Gerd Moellmann <gerd@gnu.org>
3965
563f68f1
GM
3966 * xfaces.c (menu_face_change_count): New variable.
3967 (Finternal_set_lisp_face_attribute): Increment it for changes
3968 of the `menu' face.
3969 (realize_basic_faces): Reflect changes in the `menu' faces
3970 in menu bars.
3971
82e274d1
GM
3972 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3973 dy obtained from the iterator's y-position after moving from
3974 scroll_margin_pos to PT; see comment there.
52283633 3975
0dbf9fd2
GM
3976 * xdisp.c (safe_eval_handler): Call add_to_log.
3977
906b3b14
GM
3978 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3979 is not a symbol or string.
3980
d4358b37
GM
3981 * xdisp.c (echo_area_display): Don't perform a display update from
3982 inside redisplay. The update will happen anyway at the end of
3983 redisplay, and it can confuse redisplay (GC messages while
3984 redisplaying, for instance.)
3985
70c825df
SM
39862000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3987
cf9b4b0b
SM
3988 * xrdb.c (x_load_resources): Use the class name in the defaults.
3989
70c825df
SM
3990 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3991 (regex_compile): Catch bogus \(\1\).
3992
a1d34b1e
GM
39932000-10-30 Gerd Moellmann <gerd@gnu.org>
3994
cae71efe
GM
3995 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3996 RGB values.
52283633 3997
35efe0a1
GM
3998 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3999 we have a color cache, check that the cached color equals the
4000 allocated color. If not, clear the color cache.
4001
1d3baf74
GM
4002 * window.c (displayed_window_lines): Change buffers if necessary.
4003 Fix computation of displayed lines.
4004
a1d34b1e
GM
4005 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4006 update_menu_bindings to DEFVAR_BOOL.
4007
70737ea9
KH
40082000-10-30 Kenichi Handa <handa@etl.go.jp>
4009
70c825df 4010 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4011
fa0cb51d
KH
4012 * puresize.h (BASE_PURESIZE): Increase to 680000.
4013
70737ea9
KH
4014 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4015
0e4c08e8
JR
40162000-10-29 Jason Rumney <jasonr@gnu.org>
4017
4018 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4019
4020 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4021 (w32_cache_char_metrics): Handle possibility that 'x' does not
4022 exist in a BDF font.
4023 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4024
4025 * w32bdf.h (bdffont): Add nchars.
4026
4027 * w32bdf.c (set_bdf_font_info): Set it.
4028 (w32_BDF_TextOut): Swap byte order of double byte characters.
4029 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4030
45b84006
EZ
40312000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4032
4033 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4034 don't override the colors in frame's param_alist, unless they are
4035 unspecified.
4036
4037 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4038 reverse the effect of the highlight flag.
4039
caf9deee
KR
40402000-10-27 Ken Raeburn <raeburn@gnu.org>
4041
4042 * window.h (Fwindow_live_p): Declare.
4043
ae0b9b46
KR
4044 * undo.c (record_delete): Check that last_undo_buffer is really a
4045 buffer before applying XBUFFER to it.
4046
4047 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4048 Faref.
4049
02067692
SM
40502000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4051
4052 * lisp.h (KEYMAPP): New macro.
4053 (get_keymap): Remove.
4054 (get_keymap_1): Rename get_keymap.
4055
4056 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4057
4058 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4059
4060 * xmenu.c (single_submenu): Use KEYMAPP.
4061 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4062 Use KEYMAPP rather than Fkeymapp.
4063
4064 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4065
4066 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4067 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4068 Use KEYMAPP rather than Fkeymapp.
4069 (single_submenu): Use KEYMAPP.
4070 (w32_menu_show, w32_dialog_show): Use TRUE.
4071
4072 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4073
4074 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4075 (Fkeymapp): Use KEYMAPP.
4076 (get_keymap): Rename from get_keymap_1. Remove old def.
4077 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4078 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4079 (Fminor_mode_key_binding): Don't raise an error if the binding
4080 is not a keymap.
4081 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4082 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4083
4084 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4085 Allow Vspecial_event_map to be autoloaded.
4086 (menu_bar_items): Fetch the keymap rather than using keymapp.
4087 (menu_bar_one_keymap): No need to follow func-indirect any more.
4088 (parse_menu_item): get_keymap_1 -> get_keymap.
4089 (tool_bar_items): Fetch the keymap rather than using keymapp.
4090 (read_key_sequence): Use KEYMAPP.
4091
4092 * intervals.c (get_local_map): Use get_keymap rather than following
4093 function-indirections explicitly.
4094
4095 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4096
f9d80af3
JR
40972000-10-27 Jason Rumney <jasonr@gnu.org>
4098
4099 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4100 point, as Windows has oversized fonts.
4101
4102 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4103
a3ba27da
GM
41042000-10-27 Gerd Moellmann <gerd@gnu.org>
4105
4106 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4107 (freehook, reallochook): Handle null pointer arguments.
4108 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4109
aa3b80cc
SM
41102000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4111
4112 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4113 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4114 Giving in to popular pressure to shut up the compiler with casts.
4115
e24e84cc
GM
41162000-10-27 Gerd Moellmann <gerd@gnu.org>
4117
4118 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4119 signed value, and use a default value computed from the font's
4120 maximum descent.
4121
05ea7ef2
MB
41222000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4123
4124 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4125 that specify a negative underline position can still use underlines.
4126
4127 * window.c (Fpos_visible_in_window_p): Make POS default to
4128 WINDOW's point, not the current buffer's point.
4129
0b95284b
DL
41302000-10-26 Dave Love <fx@gnu.org>
4131
4132 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4133 when it's necessary.
4134
6c5b90af
GM
41352000-10-26 Gerd Moellmann <gerd@gnu.org>
4136
8b6d9dc9
GM
4137 * window.c (size_window): Compute size difference from sum of old
4138 child window sizes instead of from parent's size.
4139
6bc92b2e
GM
4140 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4141 Handle obscured lines at the top of the window.
4142
4143 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4144 down after the last error condition check.
4145
6c5b90af
GM
4146 * frame.c (Fdelete_frame): Run delete-frame-hook.
4147
42f92d4d
KH
41482000-10-26 Kenichi Handa <handa@etl.go.jp>
4149
4150 * coding.c (decode_coding): Fix previous change (check also
4151 CODING_MODE_LAST_BLOCK).
4152
d97151cb
SM
41532000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4154
e7efc503
SM
4155 * regex.c: More `unsigned char' -> `re_char' changes.
4156 Also change several `int' into `re_wchar_t'.
4157 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4158 (PUSH_FAILURE_POINTER): Don't cast any more.
4159 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4160 We want GCC to complain, since this piece of code makes
4161 re_match non-reentrant, which *should* be fixed.
4162 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4163 (EXTEND_BUFFER): Use RETALLOC.
4164 (SET_LIST_BIT): Don't cast.
4165 (re_wchar_t): New type.
4166 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4167 that those two functions will always properly return.
4168 (IMMEDIATE_QUIT_CHECK): Cast to void.
4169 (analyse_first): Use recursion rather than an explicit stack.
4170 (re_compile_fastmap): Can't fail anymore.
4171 (re_search_2): Don't check re_compile_fastmap for failure.
4172 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4173 Now also sets the new value (passed in a new argument).
4174 (re_match_2_internal): Use it.
4175 Also, use a new var `reg' of type size_t when looping through regs
4176 rather than reuse the inappropriate `mcnt'.
4177
d97151cb
SM
4178 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4179 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4180 (where_is_internal): Renamed from Fwhere_is_internal.
4181 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4182 (Fwhere_is_internal): New function wrapping where_is_internal.
4183 (where_is_internal_1): Handle the case where we're filling the cache.
4184 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4185
d5789b65
MB
41862000-10-25 Miles Bader <miles@gnu.org>
4187
4188 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4189
4ecda532
GM
41902000-10-25 Gerd Moellmann <gerd@gnu.org>
4191
4192 * window.c (pos_fully_visible_p): Removed.
4193 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4194 if position is visible and/or fully visible.
4195
4196 * lisp.h (pos_visible_p): Add prototype.
4197
4198 * xdisp.c (pos_visible_p): New function.
4199
68c3a137
KH
42002000-10-25 Kenichi Handa <handa@etl.go.jp>
4201
4202 * process.c (send_process): If OBJECT is t, it means that the data
4203 is from C string, but we should encode it. Before calling
4204 setup_raw_text_coding_system, be sure to flush out data by the
4205 previous coding system.
4206
7ae1c032
MB
42072000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4208
ff4dcd4b
MB
4209 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4210 assignment of startpos to prev when startpos == pos.
4211
7ae1c032
MB
4212 * editfns.c (find_field): Set the field stickiness correctly from
4213 overlay fields. Use renamed `text_property_stickiness'.
4214 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4215 Only check text properties, not overlays.
7ae1c032
MB
4216 * textprop.c (get_char_property_and_overlay): New function.
4217 (Fget_char_property): Use it.
4218 * intervals.h (get_char_property_and_overlay): Add declaration.
4219
49801145
SM
42202000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4221
4222 * keymap.c: Use AREF, ASET and ASIZE macros.
4223 (Fmake_sparse_keymap): Docstring fix.
4224 (synkey): Remove.
4225 (shadow_lookup): Move up.
4226 Handle the case where lookup-key returns an integer.
4227 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4228 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4229 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4230 Simplify/rewrite the keymap-finding code.
4231 Add check for command shadowing, using shadow_lookup.
4232
39e776cd
SM
42332000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4234
4235 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4236 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4237 a symbol.
4238
2488aba5
AI
42392000-10-24 Andrew Innes <andrewi@gnu.org>
4240
4241 * dired.c (directory_files_internal_unwind): New function.
4242 (directory_files_internal): Use it to ensure closedir is called
4243 even if expand-file-name or file-attributes throw, eg. because of
4244 a user interrupt. Also enable immediate_quit while calling
4245 re_search, so that matching can be interrupted as well.
4246
b94fdf61
AI
42472000-10-24 Andrew Innes <andrewi@gnu.org>
4248
4249 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4250 NT-Emacs only.
4251 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4252 so that re_search functions only quit when callers expect them to.
4253
42542000-10-24 Kenichi Handa <handa@etl.go.jp>
4255
4256 * regex.c (regex_compile): Change the way of handling a range from
4257 a char less than 256 to a char not less than 256.
4258
1946f901
GM
42592000-10-24 Gerd Moellmann <gerd@gnu.org>
4260
7ae2f10f
GM
4261 * window.c (size_window): Prevent setting window's width or
4262 height to a negative value (esp. with XSETFASTINT).
4263
5dcab13e
GM
4264 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4265 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4266 (protect_malloc_state) [GC_MALLOC_CHECK &&
4267 GC_PROTECT_MALLOC_STATE]: New function.
4268 (PROTECT_MALLOC_STATE): New macro.
4269 (__malloc_initialize, morecore, _malloc_internal)
4270 (_free_internal) _realloc_internal): Use it to make _heapinfo
4271 read-only outside of gmalloc.
4272
63e1b552
GM
4273 * keymap.c: Update copyright.
4274
1946f901
GM
4275 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4276 a symbol.
4277
4fa09beb
GM
42782000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4279
4280 * filelock.c (unlock_all_files): Use unlock_file to expand each
4281 buffer's file_truename before trying remove its lock file.
4282
23afac01
EZ
42832000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4284
4285 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4286 or CRLF, decode EOLs.
4287
04448b95
KH
42882000-10-24 Kenichi Handa <handa@etl.go.jp>
4289
4290 * window.c (Fdisplay_buffer): Fix doc.
4291
3090a5a5
JR
42922000-10-23 Jason Rumney <jasonr@gnu.org>
4293
4294 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4295 ASCII font of default fontset on Windows.
4296
4297 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4298 xterm.c comment below).
4299
4300 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4301
a83fee2c
GM
43022000-10-23 Gerd Moellmann <gerd@gnu.org>
4303
4304 * xterm.c (x_connection_closed): Reset handling_signal.
4305
52283633 4306 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4307
6ffdb539
MB
43082000-10-23 Miles Bader <miles@gnu.org>
4309
4310 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4311 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4312 maintain old behavior.
4313 * minibuf.c (Fminibuffer_complete): Likewise.
4314
7f1c969b
MB
43152000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4316
4317 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4318 that when a font can't be exactly centered, it errs up rather than
4319 down.
4320
23afac01 43212000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4322
52283633 4323 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4324
1a578e9b
AC
43252000-10-23 Andrew Choi <akochoi@i-cable.com>
4326
4327 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4328
4329 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4330 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4331
4332 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4333 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4334 syms_of_search, x_term_init, and init_keyboard before calling
4335 init_window_once. Also, call syms_of_xmenu.
4336
4337 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4338 default fontset to Monaco.
4339
4340 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4341 NewMacWindow and DisposeMacWindow.
4342 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4343 instead of calling NewMacWindow and setting fields of
4344 f->output_data.mac directly. Call init_frame_faces.
4345 (Fdelete_frame) [macintosh]: Remove unused code.
4346 (Fmodify_frame_parameters) [macintosh]: Call
4347 x_set_frame_parameters instead of mac_set_frame_parameters.
4348
4349 * frame.h [macintosh]: Define menu_bar_lines field in struct
4350 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4351
4352 * keyboard.c [macintosh]: Include macterm.h.
4353 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4354 and menu_bar_activate_event type events as for X and NT.
4355 (make_lispy_event) [macintosh]: Construct lisp events of type
4356 MENU_BAR_EVENT as for X and NT.
4357
4358 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4359 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4360 (sys_subshell) [macintosh]: Remove definition entirely.
4361 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4362 Vwindow_system_version here. Remove initialization of
4363 Vx_bitmap_file_path.
4364 (read_input_waiting): Correct the number of parameters passed to
4365 read_socket_hook.
4366 Move all Macintosh functions to mac/mac.c.
4367
4368 * term.c [macintosh]: Include macterm.h.
4369
4370 * window.c [macintosh]: Include macterm.h.
4371
4372 * xdisp.c [macintosh]: Include macterm.h. Declare
4373 set_frame_menubar and pending_menu_activation.
4374 (echo_area_display) [macintosh]: Do not return if terminal frame
4375 is the selected frame.
4376 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4377 Allow only the selected frame to set menu bar.
4378 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4379 calling FRAME_EXTERNAL_MENU_BAR (f).
4380 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4381
4382 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4383 and check_x. Declare XCreateGC. Define x_create_gc and
4384 x_free_gc. Initialize font_sort_order.
4385 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4386 but call x_list_fonts instead of w32_list_fonts.
4387 (Finternal_face_x_get_resource) [macintosh]: Do not call
4388 display_x_get_resource.
4389 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4390 (realize_x_face) [macintosh]: Load the font if it is specified in
4391 ATTRS.
52283633 4392 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4393
1ffbabe3
SM
43942000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4395
4396 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4397 is nil: since we go to the end of submap anyway, we'd end up
4398 setting nil to nil.
4399 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4400 doesn't obey autoload.
4401
bed43f1d
EZ
44022000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4403
1ffbabe3 4404 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4405
ea4233a7
JR
44062000-10-21 Jason Rumney <jasonr@gnu.org>
4407
4408 * w32term.c (w32_cache_char_metrics): Double check that font is
4409 really fixed pitch before trusting tmPitchAndFamily.
4410
f3d3c491
AI
44112000-10-21 Andrew Innes <andrewi@gnu.org>
4412
4413 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4414
4415 * w32term.h: Extern decl for w32_cache_char_metrics.
4416
4417 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4418
4419 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4420 (w32_unload_font): Free per_char array if present.
4421
4422 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4423 cached information in emulated XFontStruct to handle common cases
4424 quickly. Do not allocate XCharStruct for return.
4425 (w32_native_per_char_metric): New function.
4426 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4427 allocating one.
4428 (x_produce_glyphs): Don't get an HDC. Change calls to
4429 w32_per_char_metric to match arg change above. Remove calls to
4430 free results.
4431 (w32_get_glyph_overhangs): Ditto.
4432 (w32_cache_char_metrics): New function.
4433
4434 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4435 ($(BLD)/casefiddle.$(O)): Remove compile command.
4436 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4437 ($(BLD)/dispnew.obj):
4438 ($(BLD)/keyboard.obj):
4439 ($(BLD)/w32inevt.obj):
4440 ($(BLD)/w32bdf.obj):
4441 ($(BLD)/alloc.obj):
4442 ($(BLD)/buffer.obj):
4443 ($(BLD)/editfns.obj):
4444 ($(BLD)/emacs.obj):
4445 ($(BLD)/fileio.obj):
4446 ($(BLD)/fns.obj):
4447 ($(BLD)/indent.obj):
4448 ($(BLD)/insdel.obj):
4449 ($(BLD)/intervals.obj):
4450 ($(BLD)/minibuf.obj):
4451 ($(BLD)/print.obj):
4452 ($(BLD)/scroll.obj):
4453 ($(BLD)/sysdep.obj):
4454 ($(BLD)/textprop.obj):
4455 ($(BLD)/widget.obj):
f3d3c491
AI
4456 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4457 ($(BLD)/term.obj): Add dependency on dispextern.h.
4458
52283633
SM
4459 * makefile.nt ($(BLD)\dispnew.obj):
4460 ($(BLD)\keyboard.obj):
4461 ($(BLD)\w32inevt.obj):
4462 ($(BLD)\w32bdf.obj):
4463 ($(BLD)\alloc.obj):
4464 ($(BLD)\buffer.obj):
4465 ($(BLD)\editfns.obj):
4466 ($(BLD)\emacs.obj):
4467 ($(BLD)\fileio.obj):
4468 ($(BLD)\fns.obj):
4469 ($(BLD)\indent.obj):
4470 ($(BLD)\insdel.obj):
4471 ($(BLD)\intervals.obj):
4472 ($(BLD)\minibuf.obj):
4473 ($(BLD)\print.obj):
4474 ($(BLD)\scroll.obj):
4475 ($(BLD)\sysdep.obj):
4476 ($(BLD)\textprop.obj):
4477 ($(BLD)\widget.obj):
f3d3c491
AI
4478 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4479 ($(BLD)\term.obj): Add dependency on dispextern.h
4480
18ad4821
EZ
44812000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4482
4483 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4484 with an additional argument of Qt.
4485
de54681a
MB
44862000-10-21 Miles Bader <miles@gnu.org>
4487
4488 * window.c (pos_fully_visible_in_window_p): New function.
4489 (Fpos_visible_in_window_p): Add FULLY argument.
4490 Use pos_fully_visible_in_window_p.
4491 (window_scroll_pixel_based, window_scroll_line_based): Update
4492 calls to Fpos_visible_in_window_p.
4493 * lisp.h (Fpos_visible_in_window_p): Update prototype
4494
13c844fb
GM
44952000-10-20 Gerd Moellmann <gerd@gnu.org>
4496
4497 * alloc.c (toplevel): Conditionalize compilation of mem_*
4498 functions differently.
52283633 4499
d9506268
JR
45002000-10-20 Jason Rumney <jasonr@gnu.org>
4501
4502 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4503 mem_init where it used to be. mem_z etc not defined otherwise.
4504
8094989b
GM
45052000-10-20 Gerd Moellmann <gerd@gnu.org>
4506
4507 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4508 GC_MALLOC_CHECK.
4509 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4510 structure definition and related variabled to the top of the file.
4511 Include this code when GC_MALLOC_CHECK is defined.
4512 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4513 register/unregister allocated region.
4514 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4515 which isn't allocated.
4516 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4517 something which is already in use.
4518 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4519 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4520 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4521 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4522
4523 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4524 _malloc_internal instead of malloc.
4525 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4526 of free.
4527
ea456eb4
AI
45282000-10-20 Andrew Innes <andrewi@gnu.org>
4529
4530 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4531 Windows.
4532 (my_strftime) <macro>: Don't use macro arg list when redefining as
4533 _strftime_copytm.
4534 (my_strftime) <function>: Supply 0 as ut argument.
4535
e64c3a75
JR
45362000-10-19 Jason Rumney <jasonr@altavista.net>
4537
4538 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4539 including dispextern.h, as it stops faces from working.
4540
4541 * w32fns.c (Fx_create_frame): Don't bother calling
4542 face-set-after-frame-default since the caller does it for us
4543 anyway. Clean up calls to x_get_arg to be consistent with X.
4544
4545 * w32term.c (x_produce_glyphs): Handle
4546 unibyte_display_via_language_environment correctly.
4547 (w32_draw_box_rect): Fix the calculation of width and height.
4548
4549 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4550 as it has stopped working.
4551 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4552 menu-bar.
4553
17401c97
GM
45542000-10-19 Gerd Moellmann <gerd@gnu.org>
4555
4556 * eval.c (skip_debugger): Prevent a compiler warning.
4557 (Fcondition_case): Likewise.
4558 (Fbacktrace_frame): Use a null interactive spec.
4559
773272d8
KH
45602000-10-19 Kenichi Handa <handa@etl.go.jp>
4561
4562 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4563
a42943e9
GM
45642000-10-18 Gerd Moellmann <gerd@gnu.org>
4565
e50517d9
GM
4566 * strftime.c: Sync with glibc, file version 1.78.
4567 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4568 should no longer be used according to ISO 8601.
4569
9035a35a
GM
4570 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4571 no map for meta_prefix_char, don't try to use it as a keymap.
4572 Instead, if T_OK is non-zero, look up a default binding, if any,
4573 otherwise, if T_OK is zero, return nil.
4574
a42943e9
GM
4575 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4576 (x_to_xcolors, png_load): Use x_query_color.
4577
52283633
SM
4578 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4579 New functions.
a42943e9
GM
4580 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4581 which can be slow.
4582 (x_copy_color, x_alloc_lighter_color): Likewise.
4583
4584 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4585 (x_query_color, x_query_colors): Add prototype.
4586
4587 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4588 check_string_bytes only if not noninteractive, increase count to 50.
4589
00de2987
MB
45902000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4591
4592 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4593 markers correctly.
4594
54918e2b
GM
45952000-10-17 Gerd Moellmann <gerd@gnu.org>
4596
1f0b3fd2
GM
4597 * alloc.c (pure_bytes_used): Renamed from pureptr.
4598 (ALIGN): New macro.
4599 (pure_alloc): New function.
4600 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4601 Use it.
4602 (Fpurecopy): Use PURE_POINTER_P.
4603
68c5d1db
GM
4604 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4605 PT has moved backward.
52283633 4606
9a038881
GM
4607 * xdisp.c (cursor_row_p): Take continued lines into account.
4608
361b097f
GM
4609 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4610 string's size_byte.
4611 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4612 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4613 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4614 string allocated.
4615
54918e2b
GM
4616 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4617 of selective display off while searching for the next line start.
4618
03ed0806
KH
46192000-10-17 Kenichi Handa <handa@etl.go.jp>
4620
4621 * Makefile.in (term.o): Depend on dispextern.h.
4622
7e05cdaf
SM
46232000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4624
4625 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4626
a6801fd1
GM
46272000-10-16 Gerd Moellmann <gerd@gnu.org>
4628
483de32b
GM
4629 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4630 the iterator at the beginning, so that they can be set later on,
4631 for instance in reseat_at_next_visible_line_start, without being
4632 overwritten.
4633
a6801fd1
GM
4634 * xfns.c (pbm_format): Add :foreground and :background keywords.
4635 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4636 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4637
dbf1fcc1
EZ
46382000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4639
4640 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4641
52283633 4642 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4643
4644 * msdos.c (IT_set_face): Compare highlighted face with the default
4645 face, and invert colors if these faces' colors are identical.
4646 (Fmsdos_remember_default_colors): Don't swap foreground and
4647 background colors in initial_colors[].
4648 (IT_set_frame_parameters): Don't swap frame's foreground and
4649 background pixels. If ALIST includes "(reverse . t)", swap
4650 foreground-color and background-color properties in frame's
4651 param_alist. If the original frame's param_alist doesn't specify
4652 the colors, store unspecified-fg and unspecified-bg, reversed if
4653 required.
4654
4655 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4656 the colors are unspecified and reversed, reverse fore- and back-
4657 ground in the returned value.
4658 (Fframe_parameter): Ditto.
4659
b41fe2c3 46602000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4661
3a6b59d9
GM
4662 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4663 get_last_unchanged_at_beg_row.
4664 (find_first_unchanged_at_end_row): Renamed from
4665 get_first_unchanged_at_end_row.
4666 (find_first_unchanged_at_end_row): Convert assertions to
4667 unconditional tests which abort. When looking for a row in
4668 unchanged text, don't go further back than first_text_row.
4669
b41fe2c3
GM
4670 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4671 Don't add in the last line's height when deciding if the new
4672 position is below the scroll margin.
9d1af64f 4673
b41fe2c3 46742000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4675
4676 * editfns.c (Fconstrain_to_field): Check carefully for field
4677 boundaries if either OLD_POS or NEW_POS has a non-nil field
4678 property, even if they're the same.
4679
c412cb7b
KH
46802000-10-16 Kenichi Handa <handa@etl.go.jp>
4681
4682 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4683 height for XFillRectangle.
4684
5586f3eb
SM
46852000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4686
4687 * syntax.c (Fstring_to_syntax): New function extracted from
4688 Fmodify_syntax_entry.
4689 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4690 (skip_chars, Fforward_comment): Remove unused variables.
4691 (syms_of_syntax): Add defsubr for string-to-syntax.
4692 (describe_syntax): Add code for comment and string fences.
4693
db785038
SM
46942000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4695
4696 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4697 Do the meta->esc mapping. Call get_keyelt before returning.
4698 Start scanning from the second element (the first is always `keymap')
4699 to make it easier to detect when we reach a parent map.
4700 Handle the case of inheriting from a symbol whose function is a map.
4701 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4702 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4703 (get_keyelt, Flookup_key): Update call to access_keymap.
4704 Remove the meta->esc mappings.
4705 (define_as_prefix): Delete old disabled code.
4706 (menu_item_p): New function.
4707 (where_is_internal_1): Skip over the few remaining menu items.
4708 * lisp.h (access_keymap): Update prototype.
4709 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4710 Update call to access_keymap.
4711 (follow_key, read_key_sequence): Update calls to access_keymap.
4712 Remove the meta->esc mappings.
4713
cafafe0b
GM
47142000-10-13 Gerd Moellmann <gerd@gnu.org>
4715
a2e2a7f6
GM
4716 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4717 with additional argument.
4718
cafafe0b
GM
4719 * xdisp.c (cursor_row_p): New function.
4720 (try_cursor_movement, display_line): Use it.
52283633 4721
cafafe0b
GM
4722 * xdisp.c (append_space): Also save/restore iterator's current
4723 character and its length.
4724
4725 * xdisp.c (init_from_display_pos): Add an assertion.
4726 (handle_stop): Don't set iterator's add_overlay_start.
4727 (handle_invisible_prop): Likewise.
4728 (load_overlay_strings): If text under an overlay is invisible,
4729 take both before- and after-strings into account when the iterator
4730 is positioned either at the start or at the end of the overlay.
4731 (forward_to_next_line_start): Rewritten.
4732 (reseat_at_next_visible_line_start): Rewritten.
4733 (set_iterator_to_next): Add parameter RESEAT_P.
4734
4735 * dispextern.h (struct it): Remove member add_overlay_start.
4736 (set_iterator_to_next): Change prototype.
4737
c744452b
KH
47382000-10-13 Kenichi Handa <handa@etl.go.jp>
4739
4740 * coding.c (code_convert_region): Be sure to initialize
4741 coding->category_idx.
e4a3f4e1
KH
4742 (decode_coding_string): Set coding->src_multibyte and
4743 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4744 (encode_coding_string): Set coding->src_multibyte and
4745 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4746
321fd26f
SM
47472000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4748
4749 * xfns.c (Fx_create_frame): Don't bother calling
4750 face-set-after-frame-default since the caller does it for us anyway.
4751
76832439
EZ
47522000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4753
4754 * window.c (coordinates_in_window): Fix detection of vertical line
4755 on character terminals.
4756
2483cf58
GM
47572000-10-12 Gerd Moellmann <gerd@gnu.org>
4758
4759 * editfns.c (save_excursion_save): Additionally record the
4760 selected window.
4761 (save_excursion_restore): If buffer was visible in a window, and a
4762 different window was selected, and the old selected window is
4763 still live, restore point in that window.
4764
eb991b25
KH
47652000-10-12 Kenichi Handa <handa@etl.go.jp>
4766
8a0eba09
KH
4767 * xterm.c (x_produce_glyphs): Handle
4768 unibyte_display_via_language_environment correctly.
4769
20401fcc
KH
4770 * regex.c (regex_compile): Change the way of handling a range from
4771 unibyte char to multibyte char.
4772
4773 * syntax.c (skip_chars): Change the way of handling a range from
4774 unibyte char to multibyte char.
4775
eb991b25
KH
4776 * process.c (read_process_output): Cancel previous change.
4777
365dd325
EZ
47782000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4779
c1b096cb
EZ
4780 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4781
365dd325
EZ
4782 * charset.c (Ffind_charset_string): Doc fix.
4783 (Ffind_charset_region): Doc fix.
4784
eb483c2b
KH
47852000-10-11 Kenichi Handa <handa@mule.m17n.org>
4786
4787 * process.c (read_process_output): Fix previous change. Adjust
4788 multibyteness of text to insert in a buffer by
52283633 4789 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4790
b40bfb99
AS
47912000-10-10 Andreas Schwab <schwab@suse.de>
4792
4793 * alloc.c (mark_object): Remove all workarounds installed on
4794 1993-08-08.
4795
caff31d4
KH
47962000-10-10 Kenichi Handa <handa@etl.go.jp>
4797
52283633 4798 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4799 (base64_encode_1): Make it work for a text of multibyte form.
4800 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4801 case. Don't call str_to_multibyte because base64_decode_1
4802 produces correct multibyte form for eight-bit codes.
52283633 4803 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4804 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4805 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4806 codes.
4807
4808 * charset.h (CHAR_STRING): Optimized for single byte characters.
4809
cba026ef
AS
48102000-10-09 Andreas Schwab <schwab@suse.de>
4811
4812 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4813 -1 after socket is closed, to fall through to error processing.
4814
1e21fe48
EZ
48152000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4816
4817 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4818 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4819 background-color, change also the colors of the default face for
4820 this frame.
4821
a640322e
EZ
48222000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4823
4824 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4825 them extern (they are defined on xfaces.c).
4826 (syms_of_msdos): Don't intern and don't staticpro
4827 Qbackground_color and Qforeground_color.
4828
a115794c
EZ
48292000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4830
4831 * frame.c (Fframe_parameter): For non-windowed frames, if
4832 f->param_alist says foreground or background color is unspecified,
4833 call tty_color_name to return the color name computed from the
4834 frame's current colors.
4835
f5533b63
DL
48362000-10-06 Dave Love <fx@gnu.org>
4837
4838 * terminfo.c (ospeed): Don't declare.
4839
4840 * sysdep.c: Don't include string.h.
4841 (h_errno): Declare conditional also on TRY_AGAIN.
4842
4843 * charset.c (Ffind_charset_string): Doc fix.
4844
52283633 4845 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4846 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4847 error messages.
4848
2b06561a
DL
48492000-10-05 Dave Love <fx@gnu.org>
4850
4851 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4852 position like menu-bar.
4853
ca839c85
GM
48542000-10-05 Gerd Moellmann <gerd@gnu.org>
4855
4856 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4857
4858 * xdisp.c (handle_single_display_prop): Use safe_call1.
4859 (safe_call): Renamed from call_function.
4860 (safe_call1): New function.
4861 (handle_fontified_prop): Use safe_call1 instead of call1.
4862 (safe_eval): Renamed from eval_form.
4863 (safe_eval_handler): Renamed from eval_handler.
4864 (handle_single_display_prop, display_mode_element): Use safe_eval
4865 instead of eval_form.
4866
4867 * xfaces.c (merge_face_heights): Use safe_call instead of
4868 call_function.
4869
4870 * keyboard.c (show_help_echo): Use safe_call instead of
4871 call_function; use safe_eval instead of eval_form.
4872
4873 * lisp.h (safe_call): Renamed from call_function.
4874 (safe_eval): Renamed from eval_form.
4875 (safe_call1): Add prototype.
4876
a3489ece
MB
48772000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4878
4879 * xfns.c (image_ascent): Rearrange ascent calculation for the
4880 has-a-font case.
4881
35810b6f
SM
48822000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4883
4884 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4885 (where_is_internal_1): Don't bother ignoring menu-items any more.
4886
3dc78168
GM
48872000-10-04 Gerd Moellmann <gerd@gnu.org>
4888
4889 * keyboard.c (update_menu_bindings): New variable.
4890 (parse_menu_item): Use AREF. If update_menu_bindings
4891 is 0, don't update menu bindings.
4892 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4893
1efc2bb9
EZ
48942000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4895
4896 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4897 to `mark_object'.
4898
3f679f55
SM
48992000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4900
4901 * syntax.c (forw_comment): Match nestedness of ender/starter.
4902 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4903 (prev_char_comstart_first): Remove.
4904 (back_comment): Check two-char comment markers more carefully
4905 to better handle overlapping cases like *//* or /* */* */ ...
4906 Match nestedness of ender/starter.
4907
2021ab61
DL
49082000-10-02 Dave Love <fx@gnu.org>
4909
4910 * config.in (HAVE_GAI_STRERROR): Add undef.
4911
4912 * process.c (Fopen_network_stream): Use it.
4913
4914 * m/alpha.h (NO_REMAP): Don't define.
4915
64e6cc18
GM
49162000-10-02 Gerd Moellmann <gerd@gnu.org>
4917
4918 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4919 return with a string converted to an integer or vice versa when
4920 Vmocklisp_arguments is t.
4921 (Fsignal): Likewise. The function can return for `quit'.
4922 (struct gcpro): Declare member `var' to point to a volatile
4923 Lisp_Object.
4924
4925 * eval.c (error): Prevent compiler warning.
4926
b1904cd9
SM
49272000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4928
4929 * keymap.c (keymap_memberp): New function.
4930 (Fset_keymap_parent): Use it.
4931 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4932 Use keymap_memberp to avoid creating cycles.
4933 (access_keymap): Use KEYMAPP.
4934
71c9ec51
GM
49352000-09-30 Gerd Moellmann <gerd@gnu.org>
4936
4937 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4938 gai_strerror. Make sure xerrno is set if connect fails. Improve
4939 error recovery.
71c9ec51 4940
c70c6b58
JR
49412000-09-29 Jason Rumney <jasonr@gnu.org>
4942
4943 * w32term.c (w32_char_font_type, w32_encode_char)
4944 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4945 (w32_bdf_per_char_metric): New function.
4946 (w32_per_char_metric): Use it.
4947 (x_draw_glyph_string_background): Always draw background for BDF
4948 glyphs.
4949
4950 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4951 GDI object which is a scarce resource.
4952
4953 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4954 (get_quoted_string): Fix limit on memchr search.
4955 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4956 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4957 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4958 (get_cached_font_char, cache_char_offset): Use macro
4959 BDF_CODEPOINT_RANGE_COVER_P.
4960 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4961 (clear_cached_bitmap_slots): New function.
4962 (GET_HEX_VALUE): G-Z, g-z are not hex.
4963 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4964 (get_bitmap_with_cache): Use new cache implementation.
4965 (create_offscreen_bitmap): New function.
4966 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4967
4968 * w32term.c (x_produce_glyphs): If the distance from the current
4969 position to the next tab stop is less than a canonical character
4970 width, use the tab stop after that.
4971 (x_draw_glyphs): Handle case START and END are out of bounds more
4972 carefully.
4973 (x_clear_mouse_face): Block/unblock input.
4974 (x_display_and_set_cursor): Don't show a hollow box cursor for
4975 buffers whose cursor_type is nil.
4976
fe01239f
GM
49772000-09-29 Gerd Moellmann <gerd@gnu.org>
4978
52283633 4979 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4980
4981 * dispextern.h (updating_frame): Declare extern.
4982
e7c52f1f
AS
49832000-09-29 Andreas Schwab <schwab@suse.de>
4984
4985 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4986
de6e1f7c
GM
49872000-09-29 Gerd Moellmann <gerd@gnu.org>
4988
25126faa
GM
4989 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4990 use its function definition.
4991 (tool_bar_items): Likewise.
4992
de6e1f7c 4993 * lisp.h (fatal): Declare NO_RETURN.
52283633 4994
454ee39b
KH
49952000-09-29 Kenichi Handa <handa@etl.go.jp>
4996
4997 * keymap.c: Remove the line "#undef NULL".
4998
96301c5f
GM
49992000-09-28 Gerd Moellmann <gerd@gnu.org>
5000
52283633 5001 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5002
efffeeb4
DL
50032000-09-28 Dave Love <fx@gnu.org>
5004
ecb8b666
DL
5005 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5006
dc3cd20f
DL
5007 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5008
5009 * .gdbinit (xreload): Note its need on GNU/Linux.
5010
efffeeb4
DL
5011 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5012 r_alloc, r_alloc_free.
5013
8610d903
KH
50142000-09-28 Kenichi Handa <handa@etl.go.jp>
5015
5016 * syntax.c (skip_chars): Handle negation correctly.
5017
8901d1ac
GM
50182000-09-27 Gerd Moellmann <gerd@gnu.org>
5019
6f22f1ad
GM
5020 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5021 with non-zero FORCE_P argument.
5022
52283633 5023 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5024 Add assertions.
5025
5026 * xdisp.c (window_box_height): Add an assertion.
5027
5028 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5029 tool-bar than is available.
5030 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5031
36f1966f
DL
50322000-09-27 Dave Love <fx@gnu.org>
5033
efffeeb4 5034 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5035
31d929e5
GM
50362000-09-26 Gerd Moellmann <gerd@gnu.org>
5037
c98863bf
GM
5038 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5039 instead of BITS_PER_INT.
5040 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5041 EMACS_UINT, respectively.
5042 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5043
5044 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5045
5046 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5047
77072ab1
GM
5048 * window.c (freeze_window_starts): Construct last argument for
5049 foreach_window differently.
5050
5051 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5052
5053 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5054 EMACS_UINT instead of `int' and `unsigned int'.
5055 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5056
5057 * frame.h (struct frame): Make the `nothing' member of union
5058 output_data an EMACS_INT.
5059
52283633 5060 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5061 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5062 size in the sdata structure.
5063 (SDATA_NBYTES, SDATA_DATA): New macros.
5064 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5065 differently for the different layout of the sdata structure.
5066 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5067 in sdata.
5068 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5069 Check that size recorded in the string size and size recorded in
5070 the sdata structure agree.
5071
3e60b029
DL
50722000-09-25 Dave Love <fx@gnu.org>
5073
5074 * buffer.c: Include stdio.h.
5075
5076 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5077
3e60b029
DL
5078 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5079
5080 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5081 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5082 (__malloc_extra_blocks): Declare as __malloc_size_t.
5083
8ff16b4e
GM
50842000-09-25 Gerd Moellmann <gerd@gnu.org>
5085
755a2ccd
GM
5086 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5087
d8b4516f
GM
5088 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5089 (read_char): If help-echo is showing, preserve the echo area
5090 when redisplaying.
5091
5092 * xdisp.c (help_echo_showing_p): New variable.
5093 (set_message): Reset it to 0.
5094 (init_xdisp): Initialize help_echo_showing_p.
5095
5096 * dispextern.h (help_echo_showing_p): Declare extern.
5097
5098 * config.in: Fix typo in __GNUC_MINOR__.
5099
5100 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5101
b11af2dd
GM
5102 * s/freebsd.h (POSIX_SIGNALS): Define.
5103
8ff16b4e
GM
5104 * xterm.c (x_clear_mouse_face): Block/unblock input.
5105
844eb643
DL
51062000-09-24 Dave Love <fx@gnu.org>
5107
5108 * fns.c (base64_encode_1): Fix last change.
5109
b30ab1b3
GM
51102000-09-22 Gerd Moellmann <gerd@gnu.org>
5111
5112 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5113
5114 * xdisp.c (try_window_reusing_current_matrix): More fixes
5115 for the case window has a header-line.
5116
c6cbe5f0
DL
51172000-09-22 Dave Love <fx@gnu.org>
5118
4c7c1f3f
DL
5119 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5120 a doc string.
5121
5122 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5123
c6cbe5f0
DL
5124 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5125
550a625e
GM
51262000-09-21 Gerd Moellmann <gerd@gnu.org>
5127
4c7c1f3f 5128 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5129 for GCC >= 2.5.
5130
52283633
SM
5131 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5132 Declare NO_RETURN.
fca99116 5133
80d26f99
GM
5134 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5135 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5136 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5137 warnings.
52283633 5138
80d26f99
GM
5139 * marker.c (byte_char_debug_check): Return void.
5140
623a0aae
GM
5141 * xfns.c (Fx_create_frame): Set default frame parameter value
5142 for tool-bar-lines to 1.
5143
5144 * dispnew.c (scrolling_window): Compare y-positions of rows
5145 equal at the start. Some simplification.
5146
5147 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5148 reused rows' y-position in the case window has a header-line, and
5149 new window start is greater than old window start.
5150
42ac0ae5
GM
5151 * process.c (process_sent_to): New variable.
5152 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5153 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5154 Declare more parameters volatile.
5155
550a625e
GM
5156 * lread.c (Vrecursive_load_depth_limit): New variable.
5157 (Fload): Check recursive loads whose recursion depth exceeds
5158 Vrecursive_load_depth_limit.
5159 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5160
8320414c
GM
51612000-09-20 Gerd Moellmann <gerd@gnu.org>
5162
f46c275e
GM
5163 * fileio.c (Fread_file_name): Doc fix.
5164
5165 * editfns.c (Fmessage_or_box): Doc fix.
5166
5167 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5168
b7e11c5b 5169 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5170
8320414c
GM
5171 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5172 symbols are specified, add color translations to the cache.
52283633 5173 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5174 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5175 xpm_cache_color.
5176 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5177 structures to xpm_init_color_cache.
5178
da1608d9
GM
51792000-09-19 Gerd Moellmann <gerd@gnu.org>
5180
52283633 5181 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5182
6badfa25
AI
51832000-09-19 Andrew Innes <andrewi@gnu.org>
5184
5185 * makefile.nt (bootstrap-emacs): Don't change directory.
5186
3a5f42bb
KH
51872000-09-19 Kenichi Handa <handa@etl.go.jp>
5188
1b7649bd
KH
5189 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5190
3a5f42bb
KH
5191 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5192 If output buffer is too small, signal an appropriated error.
5193
9f83cf0b
DL
51942000-09-18 Dave Love <fx@gnu.org>
5195
52283633 5196 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5197 (current_active_maps): Remove redundant get_local_map call.
5198
28c7826c
GM
51992000-09-18 Gerd Moellmann <gerd@gnu.org>
5200
5cefa566
GM
5201 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5202 cursor for buffers whose cursor_type is nil.
52283633 5203
6fed3546
GM
5204 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5205 a feature to implement that is already implemented.
5206 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5207 warnings.
5208
5209 * xfns.c (x_clear_image_1): New function.
5210 (x_clear_image): Use it.
52283633 5211 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5212
05b1f851
GM
5213 * dispnew.c (update_window): Move test for invisible lines
5214 at the top to update_window_line.
5215 (update_window_line): Handle invisible lines here.
5216
f4779de9
GM
5217 * xfns.c (clear_image_cache): Clear current matrices of all
5218 frames sharing an image cache. Block input while freeing
5219 images. Fix timestamp comparison.
5220 (x_clear_image): Also free the mask.
5221
28c7826c
GM
5222 * xfns.c (lookup_image): Block input while loading the image so
5223 that we won't get interrupted in a state where the image isn't yet
5224 set up completely.
5225 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5226 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5227 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5228 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5229
b7412313
GM
52302000-09-16 Gerd Moellmann <gerd@gnu.org>
5231
5232 * dispnew.c (update_window): Make sure to make desired rows
5233 current even if they are completely invisible at the top
5234 of a window.
5235
47e351a3
GM
52362000-09-15 Gerd Moellmann <gerd@gnu.org>
5237
7f8f1edc
GM
5238 * xfns.c (lookup_image): Build mask before applying an algorithm.
5239 Recognize algorithm `disabled'.
5240 (cross_disabled_images): New variable.
5241 (COLOR_INTENSITY): New macro.
5242 (x_detect_edges): Use COLOR_INTENSITY.
5243 (x_disable_image): New function.
5244 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5245
5246 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5247 disabled state, don't apply an image transformation algorithm if
5248 the user specified an image for the disabled state. Use
28c7826c 5249 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5250 user hasn't specified an image.
5251
ebb8f116
GM
5252 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5253 allocation functions with the XPM lib.
5254 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5255 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5256 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5257 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5258 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5259 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5260 functions, if possible, because these handle color allocation
5261 failure more gracefully.
5262 (Fimage_mask_p): New function.
5263
47e351a3
GM
5264 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5265 (Qedge_detection, Qheuristic): New symbols.
5266 (syms_of_xfns): Initialize new symbols.
5267 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5268 `algorithm (edge-detection ...)'.
5269 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5270 (tiff_format, gif_format, gs_format): Add `:mask'.
5271 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5272 (GIF_MASK, GS_MASK): New enumerators.
5273 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5274 (emboss_matrix, laplace_matrix): New variables.
5275 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5276 (x_edge_detection): New functions.
5277 (x_laplace): Rewritten in terms of x_detect_edges.
5278 (x_build_heuristic_mask): If image has a mask, free it.
5279
fe83b953
AI
52802000-09-14 Andrew Innes <andrewi@gnu.org>
5281
5282 * makefile.w32-in: Revert to Unix line endings.
5283
3021e816
AI
52842000-09-14 Andrew Innes <andrewi@gnu.org>
5285
5286 * makefile.w32-in: Standardize indentation somewhat.
5287 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5288 cater for differences between shells.
5289
5290 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5291
2a32b5ea
GM
52922000-09-14 Gerd Moellmann <gerd@gnu.org>
5293
5294 * xterm.c (x_produce_glyphs): If the distance from the current
5295 position to the next tab stop is less than a canonical character
5296 width, use the tab stop after that.
5297
b4331e96
DL
52982000-09-14 Dave Love <fx@gnu.org>
5299
5300 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5301
ef9e4345
GM
53022000-09-14 Gerd Moellmann <gerd@gnu.org>
5303
085536c2
GM
5304 * xdisp.c (handle_fontified_prop): While running fontification
5305 functions, bind `fontification-functions' and
5306 `after-change-functions' to nil.
5307
ef9e4345
GM
5308 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5309 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5310
5311 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5312
5313 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5314 USE_MMAP_FOR_BUFFERS.
5315
5316 * insdel.c (make_gap): Use enlarge_buffer_text.
5317
5318 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5319 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5320 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5321 from former r_alloc_* functions in ralloc.c.
52283633 5322 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5323 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5324 (mmap_init) [REL_ALLOC_MMAP]: New function.
5325 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5326 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5327 BUFFER_FREE.
5328
5329 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5330 (enlarge_buffer_text): Add prototype.
5331
5332 * ralloc.c: Remove everything having to do with the use of mmap.
5333
f8608968
GM
53342000-09-13 Gerd Moellmann <gerd@gnu.org>
5335
2a494b2d
GM
5336 * sound.c (Fplay_sound): Doc fix.
5337
8c907a56
GM
5338 * keyboard.c: Avoid some more compiler warnings.
5339 (parse_tool_bar_item): Ignore cached key bindings.
5340
f8608968
GM
5341 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5342 and allocation of Lisp data.
5343
6ab70e9a
GM
53442000-09-12 Gerd Moellmann <gerd@gnu.org>
5345
d12d0a9b
GM
5346 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5347 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5348 defaults first.
5349
6ab70e9a
GM
5350 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5351
63c36c3c
KH
53522000-09-12 Miyashita Hisashi <himi@meadowy.org>
5353
5354 * ccl.c: Comment fixed.
5355 (MAX_MAP_SET_LEVEL): Increased to 30.
5356 (PUSH_MAPPING_STACK): Enclose with do-while block.
5357 (POP_MAPPING_STACK): Likewise.
5358 (stack_idx_of_map_multiple): New variable.
5359 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5360 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5361 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5362 (ccl_driver) <CCL_MapSingle>: Likewise.
5363 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5364 with the case where looking up process reaches to the end of
5365 map-set, and call CCL programs as the above change.
5366
7ee3bd7b
GM
53672000-09-11 Gerd Moellmann <gerd@gnu.org>
5368
8ec8a5ec
GM
5369 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5370 that might be clobbered by longjmp.
5371 (check_x_display_info, x_decode_color, create_frame_xic)
5372 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5373 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5374
f74b0705
GM
5375 * lread.c (init_lread): Set Vloads_in_progress to nil.
5376 (Fload): Show list of recursively loaded files, when signaling an
5377 error.
5378
7ee3bd7b
GM
5379 * lread.c (Vloads_in_progress): New variable.
5380 (record_load_unwind): New function.
5381 (Fload): Check for recursive loads.
5382 (syms_of_lread): Initialize Vloads_in_progress.
5383 (read_integer, read1): Avoid some compiler warnings.
5384
5385 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5386 compiler warnings.
5387
974e1e5b
MB
53882000-09-11 Miles Bader <miles@gnu.org>
5389
5390 * editfns.c (Fbuffer_string): Doc fix.
5391
9824c4e3
GM
53922000-09-10 Gerd Moellmann <gerd@gnu.org>
5393
5394 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5395
6a72fdd1
KR
53962000-09-09 Ken Raeburn <raeburn@gnu.org>
5397
5398 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5399 whether to include other header files.
5400
28e6fb66
GM
54012000-09-09 Gerd Moellmann <gerd@gnu.org>
5402
52283633 5403 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5404 by Fmemq as a boolean.
28e6fb66 5405
7f8b6551
SM
54062000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5407
5408 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5409
a8710abf
GM
54102000-09-08 Gerd Moellmann <gerd@gnu.org>
5411
d1a02881
GM
5412 * ralloc.c (mmap_fd): Remove initializer which can make it
5413 read-only in a dumped Emacs.
5414 (mmap_fd_1): New variable.
5415 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5416 restore it from there.
5417 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5418 unconditionally so that mmap_fd can be initialized there.
5419 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5420 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5421 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5422
c454aac1
GM
5423 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5424
5425 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5426 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5427
fc653ef2
GM
5428 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5429
3015eec0
GM
5430 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5431 inheritance.
5432
bfe0ee88
GM
5433 * xdisp.c (try_window_id): When trying to locate cursor in
5434 unchanged rows at the top, handle the case that we can't find it.
5435
a8710abf
GM
5436 * xterm.c (x_draw_glyphs): Handle case START and END are out
5437 of bounds more carefully.
5438
6b7d4ae4
DL
54392000-09-08 Dave Love <fx@gnu.org>
5440
423193c5
DL
5441 * s/sol2.h (REL_ALLOC_MMAP): Define.
5442 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5443
5444 * ralloc.c: Don't include string.h (redundant).
5445 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5446 [!MAP_ANON]: Include fcntl.h.
5447 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5448 (r_alloc, r_re_alloc, r_alloc_free)
5449 (mmap_enlarge, mmap_set_vars): Use it.
5450 (r_alloc_init_fd): New function.
5451 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5452 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5453 malloc type.
5454
5455 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5456 Remove vm-limit.o.
5457
6b7d4ae4
DL
5458 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5459 change to __NetBSD__.
5460
44d31981
KH
54612000-09-08 Kenichi Handa <handa@etl.go.jp>
5462
5463 * search.c (compile_pattern): Check the multibyteness of cached
5464 string and PATTERN.
5465
aad40737
MB
54662000-09-08 Miles Bader <miles@gnu.org>
5467
5468 * xfaces.c (default_face_vector): Function removed.
5469 (Finternal_merge_in_global_face): Restore old global/local
5470 attribute override order. Use inline loop instead of calling
5471 default_face_vector.
5472
91a211b5
GM
54732000-09-07 Gerd Moellmann <gerd@gnu.org>
5474
5475 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5476 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5477 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5478 where necessary, in case POINTER_TYPE is `void'.
5479
03419440
EZ
54802000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5481
5482 * frame.c (make_terminal_frame): Initialize frame foreground and
5483 background colors to unspecified, for the initial instance of an
5484 MSDOS frame.
5485
f46f845b
GM
54862000-09-07 Gerd Moellmann <gerd@gnu.org>
5487
24f76fbf
GM
5488 * ralloc.c (mmap_find): Fix overlap computation.
5489 (mmap_enlarge): Compute nbytes before trying to find an
5490 overlapping region.
5491
f46f845b
GM
5492 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5493 instead of `!='.
5494
5495 * lread.c (syms_of_lread): Change value of regexp
5496 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5497
5498 * xmenu.c (xdialog_show): When looking up the selection in
5499 menu_items, take `quote' boundaries into account; this corresponds
5500 to a nil ITEM in x-popup-dialog.
5501
3c014385
KH
55022000-09-07 Kenichi Handa <handa@etl.go.jp>
5503
fd6f711b
KH
5504 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5505 not 0x81.
5506 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5507
3c014385 5508 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5509 encoding, not decoding. Fix the handling of latin-jisx0201.
5510 Check for the charset katakana-jisx0201 too.
3c014385 5511 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5512 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5513
0da3ecef
GM
55142000-09-07 Gerd Moellmann <gerd@gnu.org>
5515
ab0ee409
GM
5516 * xfaces.c (Vparam_value_alist): New variable.
5517 (syms_of_xfaces): Initialize it.
5518 (Finternal_set_lisp_face_attribute): Avoid more consing.
5519
5520 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5521 specially.
5522 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5523 (Qbackground_mode): New variable.
5524 (syms_of_frame_1): Initialize Qbackground_mode.
5525
5526 * lisp.h (Qdisplay): Declare extern.
1091dd67 5527
0da3ecef
GM
5528 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5529 change face on all frames, and change the default for new frames.
5530
b14654b9
DL
55312000-09-07 Dave Love <fx@gnu.org>
5532
5533 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5534
d24fd56f
KH
55352000-09-07 Kenichi Handa <handa@etl.go.jp>
5536
794f3670
KH
5537 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5538
0fddd0dc
KH
5539 * charset.c: Include composite.h
5540 (lisp_string_width): New function.
5541 (Fstring_width): Call lisp_string_width instead of strwidth.
5542
5543 * Makefile.in (charset.o): Depends on composite.h.
5544
d24fd56f
KH
5545 * process.c (read_process_output): Before inserting the decoded
5546 text in the buffer, adjust the multibyteness.
5547
fa0b693c
GM
55482000-09-06 Gerd Moellmann <gerd@gnu.org>
5549
52283633 5550 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5551 buffer's text buffer is null, map new memory.
5552
0a58f946
GM
5553 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5554 POINTER_TYPE and size_t.
5555 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5556 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5557 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5558 [REL_ALLOC_MMAP]: New macros.
5559 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5560 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5561 [REL_ALLOC_MMAP]: New functions.
5562
5563 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5564 before and after unexec.
5565
5566 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5567 text buffers if necessary.
5568
5569 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5570 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5571 in prototypes.
5572
fa0b693c
GM
5573 * config.in (HAVE_MMAP): Add #undef.
5574
877055f6
GM
55752000-09-05 Gerd Moellmann <gerd@gnu.org>
5576
08ba3862
GM
5577 * frame.c (Qdisplay_type): New variable.
5578 (syms_of_frame_1): Initialize it.
5579 (Fframe_parameter): New function that avoids consing.
5580 (syms_of_frame): Defsubr it.
5581
66ffe51c
GM
5582 * buffer.c (Fother_buffer): Consider buffers as invisible when
5583 they are displayed in a window on an invisible frame.
5584
877055f6
GM
5585 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5586 get-largest-window always return nil.
5587
bb970e67
GM
55882000-09-04 Gerd Moellmann <gerd@gnu.org>
5589
5590 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5591 variable; recognize Emacs 19 elc files.
5592
7a3d0e0e
MB
55932000-09-04 Miles Bader <miles@gnu.org>
5594
5595 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5596 before initially popping up the menu, so the menu doesn't flash
52283633 5597 when the face settings are significantly different from the defaults.
7a3d0e0e 5598
14473664
SM
55992000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5600
5601 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5602 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5603 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5604 (BIT_UNIBYTE): Remove.
5605 (re_match_2_internal): Delete corresponding code and streamline the
5606 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5607 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5608 (re_wctype_t): New type.
5609 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5610 (regex_compile): Use them and fix handling of overly long char classes.
5611
c1174479
AI
56122000-09-03 Andrew Innes <andrewi@gnu.org>
5613
f8803e97
AI
5614 * makefile.w32-in: Change to DOS line endings.
5615
c1174479
AI
5616 * s/ms-w32.h (ORDINARY_LINK): New define.
5617
5618 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5619 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5620
5621 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5622 (distclean): Delete them here instead.
5623
44ef7cf6
AI
5624 * w32proc.c (compare_env): Convert to uppercase for comparison,
5625 not lowercase, to match how the native Windows shell works.
5626
49b3bd82
JR
56272000-09-03 Jason Rumney <jasonr@gnu.org>
5628
5629 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5630 CVS changes the line-ends when checking in/out on DOS/Windows.
5631
5632 * makefile.nt (emacs): Do not change directory to run temacs, as
5633 the load-path is set relative to current directory.
5634
a3d35a39
MB
56352000-09-03 Miles Bader <miles@gnu.org>
5636
5637 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5638
d276b0cf
GM
56392000-09-02 Gerd Moellmann <gerd@gnu.org>
5640
715e84c9
GM
5641 * xdisp.c (redisplay_mode_lines): New function.
5642 (display_mode_lines): Return number of mode lines displayed.
5643 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5644 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5645
8892f40b
GM
5646 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5647 string.h and strings.h.
5648 (index) [HAVE_INDEX]: Add prototype.
5649
d276b0cf
GM
5650 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5651 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5652
5653 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5654 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5655
38404229
GM
56562000-09-01 Gerd Moellmann <gerd@gnu.org>
5657
5658 * lread.c (read1): Accept `?' as symbol constituent, for
5659 compatiblity with XEmacs.
5660
c0f9ea08
SM
56612000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5662
5663 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5664 (struct re_pattern_buffer): Remove newline_anchor.
5665 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5666 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5667 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5668 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5669 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5670 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5671 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5672 Get rid of references to newline_anchor.
5673 (regcomp): Allocate and precompute a fastmap.
5674
8c0f83fe
GM
56752000-08-31 Gerd Moellmann <gerd@gnu.org>
5676
5677 * lread.c (openp): GCPRO local variable `filename'.
5678
4bb91c68
SM
56792000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5680
5681 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5682
5683 * regex.c: Merge some changes from GNU libc. Add prototypes.
5684 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5685 Use memcmp and memcpy instead of bcopy and bcmp.
5686 (init_syntax_once): Use ISALNUM.
5687 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5688 (REG_UNSET_VALUE): Remove. Use NULL instead.
5689 (REG_UNSET, re_match_2_internal): Use NULL.
5690 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5691 New macros.
5692 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5693 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5694 (regex_compile): In handle_interval, return an error rather than try to
5695 unfetch the interval if we can't find the closing brace.
5696 Obey the RE_NO_GNU_OPS syntax bit.
5697 (TOLOWER): New macro.
5698 (regcomp): Use it.
5699 (regexec): Allocate regs.start and regs.end as one block.
5700
5226a931
GM
57012000-08-30 Gerd Moellmann <gerd@gnu.org>
5702
868dd24b
GM
5703 * xdisp.c (echo_area_display): Check display_completed instead
5704 of calling detect_input_pending.
5705
5706 * dispnew.c (update_frame): Only set display_completed here; move
5707 the update_begin and update_end calls here from update_frame_1.
5708 (update_frame_1): Don't set display_completed here, don't call
5709 update_begin/update_end.
5710
5226a931
GM
5711 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5712 instead of store_frame_param.
5713
2a8bd25f
GM
57142000-08-29 Gerd Moellmann <gerd@gnu.org>
5715
5716 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5717 desired window matrix hasn't been displayed, use the current row
5718 instead. Make sure that only those frame rows are updated for
5719 which there exists a corresponding enabled desired row.
52283633 5720
ba3478d9
MB
57212000-08-29 Miles Bader <miles@gnu.org>
5722
5723 * xfaces.c (default_face_vector): New function.
5724 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5725
87d0f685
GM
57262000-08-29 Gerd Moellmann <gerd@gnu.org>
5727
5728 * lread.c (openp): Prevent temporary string passed to
5729 Ffile_readable_p from being garbage collected.
5730
6fa86045
DL
57312000-08-28 Dave Love <fx@gnu.org>
5732
5733 * keymap.c (store_in_keymap): Add `static' to declaration.
5734
bb17930d
GM
57352000-08-28 Gerd Moellmann <gerd@gnu.org>
5736
5737 * emacs.c, callint.c, doc.c, editfns.c
5738 (toplevel) [HAVE_STRING_H]: Include string.h.
5739 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5740 (index): Remove prototypes which might conflict with non-standard
5741 definitions of index/strchr.
5742
5743 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5744 (rindex): Define only if !HAVE_RINDEX.
5745
5746 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5747
5748 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5749
87188200
MB
57502000-08-28 Miles Bader <miles@gnu.org>
5751
5752 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5753 made inconsistent by a font-related attribute in FROM.
5754 (merge_face_inheritance): Add function comment.
5755
41a68aef
KH
57562000-08-28 Kenichi Handa <handa@etl.go.jp>
5757
5758 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5759 the 4th arg (PREV_EVENT) Qt to suppress input method.
5760
f7c436c1
SM
57612000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5762
0b32bf0e
SM
5763 * regex.c: Indent cpp directives and remove parens after `defined'.
5764 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5765 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5766 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5767 (re_compile_pattern): Use size_t for length.
5768 (init_syntax_once): Move to a better place.
5769 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5770 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5771
f7c436c1
SM
5772 * syntax.c (back_comment): Detect cases where a comment-starter is
5773 actually inside another comment as in: /* a // b */ c // d \n.
5774 Make it clear that `comstart_pos' is unused for nested comments.
5775
5776 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5777 (KEYMAPP): New macro.
5778 (Fkeymap_parent, Fset_keymap_parent): Use it.
5779 (fix_submap_inheritance): Mark it static.
5780 (define_as_prefix, describe_buffer_bindings, describe_command)
5781 (describe_translation, describe_map): Complete prototypes.
5782
5783 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5784
5785 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5786 to better match the key-lookup behavior.
5787
6288c62f
GM
57882000-08-27 Gerd Moellmann <gerd@gnu.org>
5789
5790 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5791 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5792
e931344e
EZ
57932000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5794
5795 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5796 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5797 (xterm.o): Depend on coding.h
5798
d10dfeef
KH
57992000-08-26 Kenichi Handa <handa@etl.go.jp>
5800
5801 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5802 the corresponding '#endif'.
5803
2d73e8d3
MB
58042000-08-26 Miles Bader <miles@gnu.org>
5805
5806 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5807 * xfaces.c (QCinherit): New variable.
5808 (syms_of_xfaces): Initialize it.
5809 (LFACE_INHERIT): New macro.
5810 (Finternal_get_lisp_face_attribute)
52283633 5811 (merge_face_vector_with_property)
2d73e8d3
MB
5812 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5813 (check_lface_attrs): Allow new types of face height. Check
5814 inherit attribute.
5815 (CYCLE_CHECK): New macro.
5816 (merge_face_inheritance): New function.
5817 (merge_face_vectors): Merge inherited faces too. Add F and
5818 CYCLE_CHECK arguments.
5819 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5820 (lookup_named_face, lookup_derived_face, realize_named_face)
5821 (face_at_string_position, face_at_buffer_position): Supply
5822 new F and CYCLE_CHECK arguments to merge_face_vectors.
5823 (merge_face_heights): New function.
52283633 5824 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5825 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5826 handle relative face heights.
5827 (lface_same_font_attributes_p): Compare heights using EQ.
5828
6ce974d4
KH
58292000-08-26 Kenichi Handa <handa@etl.go.jp>
5830
5831 * charset.c (char_to_string): Check the character validity.
52283633 5832 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5833
dc1e502d
SM
58342000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5835
5836 * regex.c (PUSH_FAILURE_COUNT): New macro.
5837 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5838 Handle popping of a register's or a counter's data.
5839 (POP_FAILURE_POINT): Use the new name.
5840 (re_match_2_internal): Push counter data on the stack for succeed_n,
5841 jump_n and set_number_at and remove misleading dead code in succeed_n.
5842
bd9d0f3f
GM
58432000-08-25 Gerd Moellmann <gerd@gnu.org>
5844
5845 * xdisp.c (redisplay_internal): If considering all windows on all
5846 frames, update the display for each frame as soon as possible,
5847 instead of first building all desired matrices for all frames, and
5848 then updating them all.
5849 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5850
aa5b8e15
GM
58512000-08-24 Gerd Moellmann <gerd@gnu.org>
5852
17494071
GM
5853 * bytecode.c (mark_byte_stack): Add a comment.
5854
52283633
SM
5855 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5856 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5857 a graphical frame.
5858
c543db81
KH
58592000-08-24 Kenichi Handa <handa@etl.go.jp>
5860
d246d5f5
KH
5861 * minibuf.c (do_completion): Always use compare-string, not
5862 string-equal because the latter doesn't pay attention to
5863 multibyteness of strings.
5864
c543db81
KH
5865 * process.c (create_process): Don't setup raw-text coding here.
5866 (Fopen_network_stream): Don't set coding->src_multibyte and
5867 coding->dst_multibyte here.
5868 (read_process_output): For process filter, return unibyte string
5869 if default-enable-multibyte-characters is nil.
5870 (send_process): If OBJECT is multibyte text, be sure to encoded it
5871 by the specified coding system for the process. Otherwise, setup
5872 raw-text coding.
52283633 5873 (init_process): Don't initialize default-process-coding-system here.
c543db81 5874
9b47cfe0
EZ
58752000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5876
5877 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5878 <scroll-down-aggressively>: Likewise.
5879
f5a36960
KH
58802000-08-23 Kenichi Handa <handa@etl.go.jp>
5881
5882 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5883 zero. Set coding->produced_char correctly.
5884
69a7ffa7
AI
58852000-08-22 Andrew Innes <andrewi@gnu.org>
5886
5887 * makefile.w32-in: New file.
5888
5889 * unexw32.c (unexec): Ignore old_name, and use the actual location
5890 of the current executable instead. Base new_name on this.
5891
5892 * w32proc.c (create_child): Remove reference to security
5893 descriptor, which isn't needed and doesn't compile with mingw32.
5894
5895 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5896 up dllimport attributes.
5897 (x_update_window_end): Update prototype.
5898
5899 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5900 extern, which screws up dllimport attributes.
5901
5902 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5903 up dllimport attributes.
5904
5905 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5906 screws up dllimport attributes.
5907
5908 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5909 up dllimport attributes.
5910 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5911 screws up dllimport attributes.
5912
5913 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5914 up dllimport attributes.
5915
5916 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5917 screws up dllimport attributes.
5918
5919 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5920 screws up dllimport attributes.
5921
5922 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5923 up dllimport attributes.
5924
5925 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5926 unnecessary extern, which screws up dllimport attributes.
5927 (main): Ditto.
5928
5929 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5930 up dllimport attributes.
5931
5932 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5933 unnecessary extern, which screws up dllimport attributes.
5934
5935 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5936 screws up dllimport attributes.
5937
5938 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5939 up dllimport attributes.
5940
5941 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5942
52283633
SM
5943 * w32bdf.c (search_file_line):
5944 (set_bdf_font_info):
5945 (seek_char):
5946 (w32_get_bdf_glyph):
69a7ffa7
AI
5947 (w32_BDF_to_x_font): Fix compile warnings.
5948
52283633 5949 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5950
5951 * w32select.c: Include keyboard.h before frame.h.
5952
5953 * w32fns.c (max): Define macro.
5954 (JOHAB_CHARSET): Define if not known.
5955 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5956 (Fx_show_tip): Synch with X version.
5957
5958 * w32xfns.c: Include keyboard.h before frame.h.
5959
5960 * w32fns.c: Include keyboard.h before frame.h.
5961
5962 * w32term.c: Include keyboard.h before frame.h.
5963
5964 * fontset.c: Include keyboard.h before frame.h.
5965
5966 * w32inevt.c: Include keyboard.h before frame.h.
5967 (MOUSE_MOVED): Define if not known.
5968
5969 * minibuf.c: Include keyboard.h before frame.h.
5970
5971 * keyboard.c: Include keyboard.h before frame.h.
5972
5973 * indent.c: Include keyboard.h before frame.h.
5974
5975 * dispnew.c: Include keyboard.h before frame.h.
5976
5977 * buffer.c: Include keyboard.h before frame.h.
5978
5979 * alloc.c: Include keyboard.h before frame.h.
5980
5981 * print.c: Include keyboard.h before frame.h.
5982
5983 * process.c: Include keyboard.h before frame.h.
5984
5985 * scroll.c: Include keyboard.h before frame.h.
5986
5987 * sysdep.c: Include keyboard.h before frame.h.
5988
5989 * term.c: Include keyboard.h before frame.h.
5990
5991 * window.c: Include keyboard.h before frame.h.
5992
5993 * xdisp.c: Include keyboard.h before frame.h.
5994 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5995
5996 * frame.c: Include keyboard.h before frame.h.
5997
5998 * w32heap.h: Undefine min, max.
5999
6000 * w32gui.h: Undefine min, max.
6001
6002 * unexw32.c: Change PUCHAR to PCHAR.
6003 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6004 (relocate_offset):
6005 (get_section_info):
69a7ffa7
AI
6006 (copy_executable_and_dump_data): Remove unnecessary static defs.
6007 (copy_executable_and_dump_data): Fix compile warnings.
6008
6009 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6010
6011 * w32console.c (min): Define macro.
6012 (clear_frame, write_glyphs): Fix compile warning.
6013
52283633 6014 * w32proc.c (compare_env):
69a7ffa7
AI
6015 (find_child_console): Fix compile warning.
6016
6017 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6018 sys_errlist instead of _sys_errlist.
6019 (get_emacs_configuration_options): New function.
6020
6021 * s/ms-w32.h (sys_nerr): Provide default definition.
6022 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6023 name with _ prepended.
6024 (NSIG): Define if not known.
6025 (get_emacs_configuration): Provide extern declaration.
6026 (get_emacs_configuration_options): Provide extern declaration.
6027 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6028
6029 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6030 (map_w32_filename):
69a7ffa7
AI
6031 (read_unc_volume): Fix compile warning.
6032
6033 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6034 definitions from being used.
6035
6036 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6037
52283633 6038 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6039 (open_unc_volume): Make arg const.
6040
6041 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6042 (read_input_waiting): Remove excess parameter.
6043
6044 * w32.c (init_environment): Call _access.
6045 (check_windows_init_file): Call _close.
6046 (init_user_info): Call _putenv.
6047 (init_environment): Call _putenv and _strdup.
6048 (init_ntproc): Reset volume info cache on startup.
6049
6050 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6051 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6052 cannot override the CRT malloc.
6053
6054 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6055 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6056
6057 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6058 unless we are linking with a static CRT.
6059 (RVA_TO_PTR): Cast result to unsigned char*.
6060
6061 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6062 (add_volume_info): Use xstrdup.
6063
25060080
SM
60642000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6065
6066 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6067 (do_completion, Fminibuffer_complete_word): Use it.
6068 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6069 var so it can take non-boolean values.
6070
6917e6bb
GM
60712000-08-21 Gerd Moellmann <gerd@gnu.org>
6072
acb7cc89 6073 * editfns.c (find_field): Formatting changes.
52283633 6074 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6075 changed to prototypes, some new protypes added, some functions
6076 made static.
6077
6078 * lisp.h (set_time_zone_rule): Add prototype.
6079 (use_dialog_box): External declaration.
6080
0bbfdc25
GM
6081 * keyboard.c (gen_help_event): Add parameter SIZE.
6082 (kbd_buffer_events_waiting): Slightly rewritten.
6083 (clear_event): New function.
6084 (kbd_buffer_get_event): Use it, and clear the input_events of
6085 HELP_EVENTs.
6086 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6087 don't fill the newly created array with nils.
6088 (toplevel): Convert some old-style function forward declarations
6089 to prototypes.
6090
6091 * keyboard.h (gen_help_event): Change prototype.
6092
6093 * xterm.c (XTread_socket): Change calls to gen_help_event.
6094
6095 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6096
6917e6bb
GM
6097 * eval.c (Fmacroexpand): Doc fix.
6098
e5cd3d11
JR
60992000-08-20 Jason Rumney <jasonr@gnu.org>
6100
6101 * w32term.h (x_display_info_for_display): Remove as this function
6102 does not exist on W32.
6103
6104 * w32term.c (help_echo_window): New variable.
6105 (syms_of_w32term): staticpro it.
6106 (note_mode_line_highlight): Set it.
6107 (XTextExtents16): Removed as there is no equivalent on W32.
6108 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6109 the X way of doing this will not work for W32.
6110 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6111 (x_draw_image_foreground): Avoid drawing outside of the clip area
6112 when image doesn't have a mask.
6113 (note_mouse_highlight): Process overlays in the right order of
6114 priority. Set help_echo_window.
6115 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6116 because that's more visible for large images.
6117
6118 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6119 name to single_keymap_panes.
6120 (w32_menu_show): Set wv->title when dealing with titles.
6121 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6122
6e69ab8c
MB
61232000-08-21 Miles Bader <miles@gnu.org>
6124
6125 * minibuf.c (do_completion): Try again if we rewrite the input
6126 string, but no completion was done, so that any completion message
6127 will be correct.
6128
511bd4eb
GM
61292000-08-20 Gerd Moellmann <gerd@gnu.org>
6130
6131 * xfaces.c (lface_equal_p): Compare strings differently.
6132 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6133 (realize_tty_face): Use them.
6134 (syms_of_xfaces): Initialize new variables.
6135 (map_tty_color): New function, extracted from realize_tty_face.
6136 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6137 foreground or background color, store the new color name in the
6138 realized face; previous code trying to do this had no effect.
6139 (realize_tty_face): Use map_tty_color.
6140 (Fclear_face_cache): Set face_change_count and ensure thorough
6141 redisplay.
6142
1433385f
GM
61432000-08-19 Gerd Moellmann <gerd@gnu.org>
6144
511bd4eb
GM
6145 * undo.c (record_first_change, record_marker_adjustment): Don't
6146 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6147
419ac0a2
KH
61482000-08-18 Kenichi Handa <handa@etl.go.jp>
6149
6150 * coding.c (decode_coding_string): Set members consumed,
6151 consumed_char, produced, produced_char of *coding correctly. If
6152 decode_coding doesn't consume any byte, don't try anymore.
6153 (encode_coding_string): Likewise.
6154
7eb9e30d
GM
61552000-08-18 Gerd Moellmann <gerd@gnu.org>
6156
511bd4eb
GM
6157 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6158 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6159
6160 * xdisp.c (redisplay_internal): Compare windows for equality with
6161 EQ, instead of applying XWINDOW to something that might not
6162 be a window.
52283633 6163
dd34a735
KH
61642000-08-18 Kenichi Handa <handa@etl.go.jp>
6165
6166 * fontset.c (Finternal_char_font): Search only the selected frame
6167 for a window of the current buffer.
6168
385ff9e3
GM
61692000-08-18 Gerd Moellmann <gerd@gnu.org>
6170
511bd4eb 6171 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6172 Lisp_Objects.
6173
385ff9e3
GM
6174 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6175 second half of a HELP_EVENT is found at the start of kbd_buffer.
6176
d6abb4c7
MB
61772000-08-18 Miles Bader <miles@gnu.org>
6178
4618074a
MB
6179 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6180
d6abb4c7
MB
6181 * editfns.c (save_restriction_save): Rewrite to use markers.
6182 (save_restriction_restore): Rewrite to understand new form of data
6183 saved by save_restriction_save.
6184 (Fsave_restriction): Remove cautionary note in doc-string.
6185
a7b28523
GM
61862000-08-17 Gerd Moellmann <gerd@gnu.org>
6187
6188 * fileio.c (build_annotations): Add a comment explaining the
6189 return value of format-annotate-function. Replace a spurious call
6190 to Flength with a CONSP test. Call format-annotate-function with
6191 a fifth arg specifying how many times the function is been called
6192 in a row, to let it choose temporary buffers appropriately.
6193
03c9ed77
DL
61942000-08-17 Dave Love <fx@gnu.org>
6195
6196 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6197 declare make_temp_name twice.
6198
52283633 6199 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6200 (unreadpure): Give it an arg.
6201
6202 * unexalpha.c: Prototype fatal_unexec, mark_x,
6203 update_dynamic_symbols. Declare unexec as void.
6204
6205 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6206 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6207
6208 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6209 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6210
6211 * alloca.c: Use #error.
6212 [POINTER_TYPE]: Use it.
6213
6214 * eval.c (Fdefvar): Doc fix.
6215
6216 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6217 INITIALIZE_INTERVAL.
6218
6219 * buffer.h: Avoid DECLARE_INTERVALS.
6220
6221 * config.in: Add size_t.
6222
aae41d97
EZ
62232000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6224
6225 * w16select.c (set_clipboard_data): If there's not enough memory
6226 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6227 expects. In case of other failures, return 3.
6228 (system_error_msg): New error message.
6229 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6230 system_error_msg.
6231
65aa5e85
GM
62322000-08-16 Gerd Moellmann <gerd@gnu.org>
6233
6234 * term.c (write_glyphs): Also turn off inverse video after turning
6235 off other appearances in case TS_exit_attribute_mode is not equal
6236 to TS_end_standout_mode.
6237 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6238 with the same face.
6239 (turn_off_face): Reset standout_mode only if
6240 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6241 is equal to TS_end_standout_mode.
6242
ece23901
KH
62432000-08-16 Kenichi Handa <handa@etl.go.jp>
6244
9d7bcb2e
KH
6245 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6246 sequence at the end of the source block.
6247
ece23901
KH
6248 * ccl.c (Fccl_program_p): Docstring modified.
6249 (Fccl_execute): Likewise.
6250 (Fccl_execute_on_string): Likewise.
6251
5e30eaa2
EZ
62522000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6253
6254 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6255
290602fd
KH
62562000-08-16 Kenichi Handa <handa@etl.go.jp>
6257
6258 The following changes are mainly to fix bugs of
6259 encode/decode-coding-string failing if encoding/decoding return
6260 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6261 variable conversion_buffer.
6262
6263 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6264 decrement dst_end to avoid buffer overflow in the later call of
6265 string_as_multibyte
6266
6267 * coding.h (conversion_buffer_size, conversion_buffer)
6268 (get_conversion_buffer): Extern deleted.
6269
6270 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6271 (conversion_buffer, conversion_buffer_size): Variables deleted.
6272 (get_conversion_buffer): Function deleted.
6273 (struct conversion_buffer): New structure.
6274 (MAX_ALLOCA): New macro.
6275 (allocate_conversion_buffer): New macro.
6276 (extend_conversion_buffer, free_conversion_buffer): New functions.
6277 (ccl_coding_driver): Set coding->result.
6278 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6279 this is the last block of source.
6280 (encode_coding): Likewise. Handle the source block as the last
6281 one only when the whole source text is consumed.
6282 (decode_coding_string): Handle the case that the output buffer is
6283 too small to decode the whole source text. Use
6284 allocate_conversion_buffer, extend_conversion_buffer and
6285 free_conversion_buffer, not get_conversion_buffer.
6286 (encode_coding_string): Likewise.
6287 (init_coding): Function deleted.
52283633 6288 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6289
6290 * emacs.c (main): Don't call init_coding.
6291
52283633 6292 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6293
6294 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6295 (insert_glyphs): Likewise.
6296
6297 * w32console.c (write_glyphs): Use a locally declared
6298 conversion_buffer.
6299
b9f80d41
EZ
63002000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6301
6302 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6303 member of display_info is NULL.
6304
32dc52f7
GM
63052000-08-15 Gerd Moellmann <gerd@gnu.org>
6306
52283633 6307 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6308
32dc52f7 6309 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6310 appearances with capability `me'.
32dc52f7
GM
6311 (write_glyphs): Switch on inverse video before each face change.
6312
4eb22d33
DL
63132000-08-14 Dave Love <fx@gnu.org>
6314
6315 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6316 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6317 (lisp_free): Declare and make static.
6318
6319 * window.c: Fix embedded comment.
6320 (syms_of_window): Fix doc string.
6321
90cbf47e
GM
63222000-08-14 Gerd Moellmann <gerd@gnu.org>
6323
52283633 6324 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6325 make sure to print `C-' before `M-', like in the manual.
6326
440fc135
GM
63272000-08-11 Gerd Moellmann <gerd@gnu.org>
6328
6329 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6330 since they aren't relocated anymore.
52283633 6331 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6332
6333 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6334 partially visible line which is smaller than the window's height.
440fc135 6335
6e264fad
KH
63362000-08-11 Kenichi Handa <handa@etl.go.jp>
6337
6338 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6339 the multibyte form of eight-bit-control characters.
6e264fad
KH
6340 (Fccl_execute_on_string): Initialize ccl->multibyte.
6341
6342 * ccl.h (struct ccl_program): New member multibyte.
6343
6344 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6345
c371f69a
KH
63462000-08-11 Kenichi Handa <handa@etl.go.jp>
6347
6348 * regex.c (regex_compile) <normal_char>: Pay attention to
6349 multibyteness.
6350 (analyse_first) <exactn>: Setup fastmap correctly for
6351 eight-bit-control characters.
6352
63532000-08-11 Kenichi Handa <handa@etl.go.jp>
6354
52283633 6355 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6356
6357 * keyboard.c (make_lispy_event): Handle the new event type
6358 multibyte_char_keystroke.
6359
6360 * xterm.c: Include coding.h.
6361 (XTread_socket): Work around a bug of XmbLookupString. If the
6362 input is from XIM, decode it according to the current locale. In
6363 that case, generate multibyte_char_keystroke events.
6364
b8ddbe71
KH
63652000-08-11 Kenichi Handa <handa@etl.go.jp>
6366
6367 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6368 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6369
47589c8c
GM
63702000-08-10 Gerd Moellmann <gerd@gnu.org>
6371
6372 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6373 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6374 (move_it_in_display_line_to): Record iterator's ascent and descent
6375 before producing glyphs, and restore them when we know the glyph
6376 doesn't fit on the line.
6377 (move_it_to): Restructured so that it's easier to debug. If
6378 moving to a vpos, and not moving to an x or character position,
6379 stop as soon as the specified vpos is reached; don't move further
6380 into that line because that might change the computed line height.
6381 (try_cursor_movement): New function, extracted from the cursor
6382 movement branch of redisplay_window. If ending on a partially
6383 visible line, don't try to scroll if the cursor line is taller
6384 than the window.
6385 (redisplay_window): Use try_cursor_movement.
6386
6387 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6388 because that function doesn't cope with variable-height lines.
6389
6390 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6391 box cursor because that's better visible for large images.
52283633 6392
c51bacd6
MB
63932000-08-10 Miles Bader <miles@gnu.org>
6394
6395 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6396
bea56df7
GM
63972000-08-10 Gerd Moellmann <gerd@gnu.org>
6398
6399 * xdisp.c (Vmessages_buffer_name): New variable.
6400 (message_dolog): Use it.
6401 (syms_of_xdisp): Initialize it.
6402
99cd7364
EZ
64032000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6404
52283633 6405 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6406 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6407 redundant now that keyboard.h is included.
6408
7d093d56
EZ
64092000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6410
6411 * keyboard.c (kbd_buffer_events_waiting): New function.
6412
6413 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6414
6415 * msdos.c: Include keyboard.h.
6416 (XMenuActivate): Empty no_event events from the event buffer. If
6417 no events are left after that, call clear_input_pending.
6418 (mouse_clear_clicks): New function, code moved from mouse_init.
6419 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6420 mouse driver to ``forget'' any past clicks.
6421
6422 * Makefile.in (msdos.o): Depend on keyboard.h.
6423
41e757a6
GM
64242000-08-09 Gerd Moellmann <gerd@gnu.org>
6425
8e7bd231
GM
6426 * lisp.h (input_pending): External declaration.
6427
6428 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6429
8e7bd231
GM
6430 * xdisp.c (echo_area_display): Display thoroughly if input is
6431 pending. Bind redisplay-dont-pause to t during the redisplay.
6432 in case input is pending.
6433
6434 * dispnew.c (Qredisplay_dont_pause): New variable.
6435 (syms_of_display): Initialize and staticpro it.
6436 (update_frame_1): Don't interrupt the display for pending input if
6437 redisplay_dont_pause is set.
52283633 6438
43028b7e
GM
6439 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6440
41e757a6
GM
6441 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6442
2f2174fa
KH
64432000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6444
6445 * callproc.c (Fcall_process): Terminate the unwind-protect around
6446 the post-read-conversion of coding system.
6447
0a6fd67e
MB
6448 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6449 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6450 * buffer.h (overlays_at): Update prototype.
6451 * xdisp.c (next_overlay_change): Update call to overlays_at.
6452 * xfaces.c (face_at_buffer_position): Likewise.
6453 * textprop.c (Fget_char_property): Likewise.
6454 * xterm.c (note_mouse_highlight): Likewise.
6455
0c80756e
MB
6456 * minibuf.c (do_completion): Don't consider a simple change of
6457 case as `completion'.
6458
975f250a
KR
64592000-08-08 Ken Raeburn <raeburn@gnu.org>
6460
52283633 6461 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6462 * undo.c (record_delete): Make sure last_point_position_buffer is
6463 a buffer before comparing pointers.
6464
6465 * coding.h (decode_coding_string): Declare.
6466
6467 * intervals.h (Fprevious_single_char_property_change): Declare.
6468
6469 * textprop.c (Fprevious_single_char_property_change): Don't do
6470 arithmetic directly on lisp objects.
6471
52283633 6472 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6473
6474 * keyboard.h (menu_item_eval_property): Declare.
6475
6476 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6477 reuse as buffer name, instead of recreating (and discarding) every
6478 time a message is logged.
6479 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6480 (current_message_1, truncate_message_1, set_message_1)
6481 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6482 (current_message, truncate_echo_area, display_echo_area)
6483 (resize_echo_area_axactly): Changed calls.
b347b3fd 6484
975f250a 6485 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6486 Lisp object.
975f250a 6487 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6488 must be an integer, not a Lisp object.
975f250a 6489
46dc9912
KH
64902000-08-08 Kenichi Handa <handa@etl.go.jp>
6491
6492 * charset.c (Fchar_width): Doc fix.
6493
9f6d1a6c
GM
64942000-08-08 Gerd Moellmann <gerd@gnu.org>
6495
6496 * charset.c (Fstring_width): Doc fix.
6497
ff3d9573
GM
64982000-08-07 Gerd Moellmann <gerd@gnu.org>
6499
41e757a6 6500 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6501 line, clear ascent and descent members of the iterator structure;
6502 the height of the continued line does not affect the height of the
6503 continuation line.
6504 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6505 line taller than the window.
6506 (redisplay_window) <forced window start>: Handle case that the
6507 middle of the window is not found in any row.
6508 (dump_glyph_row): Show more information.
6509 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6510 first text line in a glyph matrix.
6511
6512 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6513 of the clip area when image doesn't have a mask.
6514
70fc58b3
GM
6515 * fns.c (sweep_weak_table): Fix survival conditions for
6516 key-or-value and key-and-value weakness.
6517
6518 * .gdbinit (xhashtable): New command.
6519
ac0e96ee
GM
6520 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6521 tables out of the list of all weak hash tables.
6522
ff3d9573
GM
6523 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6524 a new buffer is created, make sure echo_area_buffer[] references
6525 the new buffer.
6526
e0d8827b
EZ
65272000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6528
6529 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6530 the doc string.
6531
c6f35378
KH
65322000-08-07 Kenichi Handa <handa@etl.go.jp>
6533
6534 * syntax.c (skip_chars): Fix previous change. Make the handling
6535 of unibyte string consistent with that of regex search.
6536
1fd4c450
GM
65372000-08-05 Gerd Moellmann <gerd@gnu.org>
6538
e49aa397
GM
6539 * xmenu.c (popup_get_selection): Use xfree instead of free.
6540
6541 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6542
6543 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6544
6545 * callproc.c (child_setup): Use xfree instead of free.
6546
6547 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6548 instead of malloc.
6549 (run_mac_command, closedir): Use `xfree' instead of `free'.
6550
6551 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6552
6553 * eval.c (error): Use xfree instead of free.
6554
1fd4c450
GM
6555 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6556
6557 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6558 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6559
82d497fc
KH
65602000-08-05 Kenichi Handa <handa@etl.go.jp>
6561
6562 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6563 conversion.
6564
59f953a2
NF
65652000-08-04 Noah Friedman <friedman@splode.com>
6566
6567 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6568 docstring.
6569
688351f2
GM
65702000-08-04 Gerd Moellmann <gerd@gnu.org>
6571
6572 * syntax.c (skip_chars): Fix typo in error message.
6573
2dad51cc
AS
65742000-08-04 Andreas Schwab <schwab@suse.de>
6575
6576 * m/ia64.h: Moved from s/ia64.h.
6577
99bb2c60
KH
65782000-08-04 Kenichi Handa <handa@etl.go.jp>
6579
082a1df2
KH
6580 * process.c (read_process_output): Big simplification. Handle
6581 composition and post-read-conversion of coding system correctly.
6582 (send_process): Handle composition correctly.
6583
6584 * callproc.c (Fcall_process): Handle post-read-conversion of
6585 coding system if any.
6586
99bb2c60
KH
6587 * coding.c (decode_coding_iso2022): More strict check for handling
6588 single shifting.
082a1df2
KH
6589 (coding_restore_composition): Pay attention to the case that
6590 cmp_data is not set properly (because of invalid code in the
6591 source text).
6592 (run_pre_post_conversion_on_str): Include text properties in the
6593 resulting string.
6594 (decode_coding_string): Set members of coding correctly.
99bb2c60 6595
f4988be7
GM
65962000-08-03 Gerd Moellmann <gerd@gnu.org>
6597
6598 * s/ia64.h: New file.
6599
6600 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6601 Use NULL instead of 0 at the end of variable argument list of
6602 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6603 sizeof (int) < sizeof (void *).
6604
6605 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6606 of variable argument lists of XtVaGetValues and XtVaSetValues.
6607
6608 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6609 variable argument lists of XtVaGetValues and XtVaSetValues.
6610
ead53494
GM
66112000-08-02 Gerd Moellmann <gerd@gnu.org>
6612
6613 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6614 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6615
6616 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6617 prototype.
6618
6619 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6620 in call to Fsingle_key_description.
6621
6622 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6623 Callers changed.
6624
66252000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6626
6627 * window.c (display_buffer_reuse_frames): New variable.
6628 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6629 frames displaying BUFFER.
52283633 6630 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6631
10b0f752
MB
66322000-08-01 Miles Bader <miles@gnu.org>
6633
6634 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6635 when to constrain NEW_POS (they were pretty screwed up before).
6636
16425c4a
EZ
66372000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6638
6639 * msdos.c (run_msdos_command): Save and restore the master
6640 environment, for the case that child_setup signals an error.
6641 When mirroring slashes in DOS shell commands, don't fail when
6642 argv[2] has embedded blanks.
da288c14
EZ
6643 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6644 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6645 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6646
6647 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6648 using alloca; free it after run_msdos_command returns.
6649
27f73852
DL
66502000-07-27 Dave Love <fx@gnu.org>
6651
52283633
SM
6652 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6653 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6654
6655 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6656
c0261b5e
EZ
66572000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6658
6659 * editfns.c (lisp_time_argument): Fix last change.
6660
b548072f
GM
66612000-07-27 Gerd Moellmann <gerd@gnu.org>
6662
3ab82477
GM
6663 * fns.c (Fdelete): Make it work on vectors and strings in addition
6664 to lists.
6665
b548072f
GM
6666 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6667 (syms_of_fns): Initialize new variables.
52283633 6668 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6669 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6670 weakness, with t meaning the same as `key-and-value'.
6671
91ae8751
KH
66722000-07-27 Kenichi Handa <handa@etl.go.jp>
6673
6674 * coding.h (struct coding_system): Member safe_charset deleted.
6675
6676 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6677 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6678 New variables.
91ae8751
KH
6679 (coding_safe_chars): New function.
6680 (CODING_SAFE_CHAR_P): New macro.
6681 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6682 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6683 (detect_coding_iso2022): New local variable safe_chars.
6684 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6685 safe_charsets member of the coding system.
6686 (decode_coding_iso2022): New local variable safe_chars.
6687 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6688 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6689 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6690 (ENCODE_UNSAFE_CHARACTER): New macro.
6691 (encode_coding_iso2022): New local variable safe_chars. Check
6692 unsafe chars.
6693 (setup_coding_system): Delete the code to initialize
6694 coding->safe_charses
6695 (intersection, find_safe_codings): New functions.
6696 (Ffind_coding_systems_region_internal): New function.
6697 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6698 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6699 variable and initialize it.
6700
6701 * fns.c (char_table_ref_and_index): New function.
6702
6703 * lisp.h (char_table_ref_and_index): Add prototype.
6704
34a7a267
SS
67052000-07-26 Sam Steingold <sds@gnu.org>
6706
6707 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6708 (Ffloat_time): New built-in Lisp function.
34a7a267 6709
a95cb10a
GM
67102000-07-26 Gerd Moellmann <gerd@gnu.org>
6711
3353ef5a
GM
6712 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6713 for the character code.
6714
6715 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6716 GNU/Linux.
6717
a95cb10a
GM
6718 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6719 if called for a popup menu.
6720 (xmenu_show): Store help string in widget values.
6721
b4a12321
DL
67222000-07-26 Dave Love <fx@gnu.org>
6723
6724 * syswait.h: Move some definitions.
6725 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6726 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6727 perspicuous definitions.
6728 (WTERMSIG): Fix bit pattern used.
6729
13f5ad37
KH
67302000-07-26 Kenichi Handa <handa@etl.go.jp>
6731
6732 * print.c (print_object): If vector printing is truncated, print
6733 "..." to indicate it as well as the case of list printing.
6734
070fe99c
GM
67352000-07-25 Gerd Moellmann <gerd@gnu.org>
6736
969065c3
GM
6737 * xdisp.c (next_element_from_display_vector): Improve comments.
6738
6739 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6740 for the character code, and the rest for the face id as in 20.x.
6741 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6742
6743 * window.c (window_display_table): Cleaned up.
6744
070fe99c
GM
6745 * syntax.c (Fforward_word): Add last arg nil in call of
6746 Fconstrain_to_field.
6747
bad77ef7
EZ
67482000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6749
969065c3 6750 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6751 identical but for the letter-case, don't call
6752 barf_or_query_if_file_exists.
bad77ef7 6753
c28da489
MB
67542000-07-25 Miles Bader <miles@gnu.org>
6755
6756 * editfns.c (find_field): Honor special `boundary' fields.
6757 (Qboundary): New variables.
6758 (syms_of_editfns): Initialize Qboundary.
6759 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6760 Use scan_buffer instead of find_before_next_newline, because it
6761 allows us to detect the boundary case where there's a newline at
6762 the search limit.
6763 * lisp.h (Fconstrain_to_field): Update external declaration.
6764
e3c31fd5
GM
67652000-07-24 Gerd Moellmann <gerd@gnu.org>
6766
6767 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6768 if that is nil.
c28da489 6769
c66c29a2
DL
67702000-07-24 Dave Love <fx@gnu.org>
6771
6772 * s/sunos4-0.h, s/sol2.h:
6773 (LIBS_TERMCAP): Move from m/sparc.h.
6774
6775 * m/sparc.h (TERMINFO): Moved to system files (probably only
6776 relevant for sunos4 judging by its vintage).
6777 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6778 __arch64__.
6779
fbe0a958
EZ
67802000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6781
6782 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6783 name to single_keymap_panes.
6784
7d88e5c9
AS
67852000-07-24 Andreas Schwab <schwab@suse.de>
6786
6787 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6788
e024b101
GM
67892000-07-24 Gerd Moellmann <gerd@gnu.org>
6790
6791 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6792 parameters instead of using int parameters. Expect FN to accept
6793 EMACS_INT parameters.
6794 (display_echo_area, resize_echo_area_axactly, current_message)
6795 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6796 with new argument list.
6797 (resize_mini_window_1): New callback function.
6798 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6799 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6800
25c1a9ce
KH
68012000-07-24 Kenichi Handa <handa@etl.go.jp>
6802
6803 * fontset.c (fontset_ref): Remove INLINE declaration.
6804 (fontset_ref_via_base): Likewise.
6805 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6806 to downcase.
6807
7f987ac0
EZ
68082000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6809
6810 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6811 correct order of priority. If help echo was found in an overlay,
6812 use that overlay as the object in which the help echo was found.
6813
e2db3069
MB
68142000-07-22 Miles Bader <miles@gnu.org>
6815
6816 * textprop.c (Fprevious_single_char_property_change): The initial
6817 property value should be from the position preceding POSITION, not
6818 following it.
6819
5e3203e4
EZ
68202000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6821
6822 * coding.c (syms_of_coding): Doc fix for
6823 inhibit-iso-escape-detection.
6824
62145073
GM
68252000-07-21 Gerd Moellmann <gerd@gnu.org>
6826
c20aeb83
GM
6827 * xterm.c (note_mouse_highlight): Process overlays in the right
6828 order of priority.
34a7a267 6829
743934db
GM
6830 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6831
6832 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6833 overlay, use that overlay as the object in which the help was found.
743934db 6834
d1dc7e43 6835 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6836
62145073
GM
6837 * window.c (foreach_window): Instead of a fake variable argument
6838 list, take one USER_DATA argument.
6839 (foreach_window_1): Likewise, and call callback functions with two
6840 args, the window and USER_DATA.
6841 (struct check_window_data): New struct.
6842 (check_window_containing): Use it.
6843 (window_from_coordinates): Set up a struct check_window_data for
6844 foreach_window.
6845 (add_window_to_list, freeze_window_start): Change parameters
6846 according to new calling convention.
6847
6848 * window.h (foreach_window): Change prototype.
6849
6850 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6851
68522000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6853
6854 * xmenu.c (menu_help_callback): Call show_help_echo with
6855 additional arguments OBJECT and POS.
6856
11270583
KH
68572000-07-21 Kenichi Handa <handa@etl.go.jp>
6858
07b14857
KH
6859 * data.c (Faset): Allow storing any multibyte character in a
6860 string. Convert unibyte string to multibyte if necessary.
6861
11270583
KH
6862 * xfns.c (x_encode_text): New function.
6863 (x_set_name): Use x_encode_text.
6864 (x_set_title): Likewise.
6865
6866 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6867
6868 * xterm.h (x_encode_text): Add prototype.
6869
bc75b4fd
DL
68702000-07-20 Dave Love <fx@gnu.org>
6871
6872 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6873 xfree, not free.
6874
48c14970
EZ
68752000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6876
6877 * msdos.c (help_echo_window): New variable.
6878 (syms_of_msdos): Initialize and staticpro it.
6879 (IT_note_mode_line_highlight): Set help_echo_window.
6880 (IT_note_mouse_highlight): Ditto.
6881 (dos_rawgetc): Store help_echo_window in the second event produced
6882 for HELP_EVENTs.
6883
6884 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6885 Record the object that generated the help echo and the position of
6886 that object in help_echo_object and help_echo_pos. Record that
6887 some glyphs in a row are displayed in mouse-face.
6888 (IT_update_begin): Don't clear mouse highlight unless one of the
6889 enabled glyph rows is marked as being displayed in mouse-face.
6890 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6891 and position recorded in help_echo_object and help_echo_pos to the
6892 event queue.
6893 (IT_menu_display): Accept a new argument PN: the pane number of
6894 the current menu pane. Record the pane number and the item
6895 number of the item which has associated help string.
6896 (XMenuActivate): Update the prototype for help_callback in
6897 function declaration. Call IT_menu_display with the current menu
6898 pane number as an additional argument. Call help_callback with
6899 two additional arguments: the pane number and the item number of
6900 the menu item associated with the help text.
6901 (help_echo_object, help_echo_pos): New variables.
6902 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6903
6904 * msdos.h (XMenuActivate): Update prototype.
6905
4279296d
GM
69062000-07-19 Gerd Moellmann <gerd@gnu.org>
6907
47db06aa
GM
6908 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6909 Add some more prototypes.
6910
6911 * xterm.c, xterm.h: Add some more prototypes.
6912
6913 * lisp.h (Fnext_single_char_property_change): Add prototype.
6914
6915 * dispnew.c (direct_output_for_insert): Remove confusing
6916 outer local variable mouse_face_overwritten_p.
6917 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6918
4279296d
GM
6919 * alloc.c (allocate_string_data): Don't copy old string contents.
6920
670acd62
KH
69212000-07-19 Kenichi Handa <handa@etl.go.jp>
6922
6923 * coding.c (code_convert_region): Delete text properties before
6924 shrinking the conversion region.
6925
7cea38bc
GM
69262000-07-18 Gerd Moellmann <gerd@gnu.org>
6927
dc1cac59
GM
6928 * dispnew.c (update_text_area): Write the whole row if it
6929 has mouse-face in it.
6930
85a8aca9
GM
6931 * xfaces.c (face-alternative-font-family-alist): Remove
6932 DEFVAR_LISP; staticpro instead.
6933
34a7a267 6934 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6935 new arguments.
6936
6937 * keyboard.c (show_help_echo): Add parameter WINDOW.
6938 (read_char): Call show_help_echo with window extracted from Lisp
6939 help event.
6940 (gen_help_event): Add parameter WINDOW.
6941
6942 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6943
6944 * xterm.c (help_echo_window): New variable.
52283633 6945 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6946 (XTread_socket): Pass help_echo_window to gen_help_event.
6947 (syms_of_xterm): Initialize and staticpro help_echo_window.
6948
f8276b77
DL
69492000-07-18 Dave Love <fx@gnu.org>
6950
52283633 6951 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6952
088831a6
GM
69532000-07-18 Gerd Moellmann <gerd@gnu.org>
6954
3d6cd763
GM
6955 * alloc.c (allocate_string_data): If string had already data
6956 assigned, copy old contents to new string data.
6957
6958 * coding.c (syms_of_coding): Fix typo in spelling of variable
6959 `inhibit-iso-escape-detection'.
6960
088831a6
GM
6961 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6962
6963 * Makefile.in: Add dependencies on dispextern.h.
6964 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6965 `free'; both can conflict with system header files.
6966
bc8a8d55
KH
69672000-07-18 Kenichi Handa <handa@etl.go.jp>
6968
6969 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6970 undefined.
6971
069f5950
DL
69722000-07-18 Dave Love <fx@gnu.org>
6973
6974 * window.c (Fwindow_list): Declare arg `window'.
6975
aa96c820
KH
69762000-07-18 Kenichi Handa <handa@etl.go.jp>
6977
6978 * coding.c (setup_coding_system): Don't override the explicitly
6979 specified designations.
6980
06be8d32
MB
69812000-07-15 Miles Bader <miles@gnu.org>
6982
6983 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6984 from `text_property_eq' and `text_property_stickiness', respectively.
6985 (find_field, Fconstrain_to_field, char_property_eq)
6986 (char_property_stickiness): Changed to call char-property functions
6987 instead of text-property-only ones.
6988
6989 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6990 `next_single_char_property_change'). Do more error checking, and
6991 cleanup limit behavior.
6992 (Fprevious_single_char_property_change): New function.
6993 (syms_of_textprop): Initialize new subrs.
6994
6995 * xdisp.c (display_prop_end, invisible_text_between_p):
6996 Call Fnext_single_char_property_change instead of
6997 next_single_char_property_change.
6998
3fddcdc3
JR
69992000-07-15 Jason Rumney <jasonr@gnu.org>
7000
7001 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7002 after menu is finished with.
7003 (add_menu_item): Only consider wv->title as a menu title.
7004 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7005
7006 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7007 null title.
7008 (FONT_REGEXP): Remove unused macro, and its sub-components.
7009 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7010
7011 * w32term.c (help_echo_object, help_echo_pos): New variables.
7012 (note_mode_line_highlight): Store additional information about the
7013 help-echo in help_echo_object and help_echo_pos. Check both
7014 `local-map' and `keymap' properties for changing the cursor
7015 (note_mouse_highlight): Store additional information about the
7016 help-echo in help_echo_object and help_echo_pos.
7017 (note_tool_bar_highlight): Set help_echo_object to nil and
7018 help_echo_pos to -1.
7019 (w32_read_socket): Use gen_help_event instead of filling
7020 input_events manually.
7021 (syms_of_w32term): Staticpro help_echo_object.
7022 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7023 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7024 (x_clear_mouse_face): New function.
7025 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7026 (x_update_window_begin): No need to turn off the mouse
7027 highlight here.
7028 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7029 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7030 (x_fill_stretch_glyph_string): Consume runs of stretch
7031 glyphs instead of a single one.
7032 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7033 with new argument list.
7034 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7035 (x_append_glyph, x_append_composite_glyph)
7036 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7037 changes in struct glyph starting 1999-12-27. See comments for
7038 xterm.c on 2000-07-05.
7039
178c5d9c
SS
70402000-07-14 Sam Steingold <sds@gnu.org>
7041
7042 * xfaces.c (realize_x_face): Fix the last patch:
7043 check `default_face' before dereferencing.
7044
6fe533f6
DL
70452000-07-14 Dave Love <fx@gnu.org>
7046
069f5950 7047 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7048
dd7b81cf
KH
70492000-07-14 Kenichi Handa <handa@etl.go.jp>
7050
0693904a 7051 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7052 default_face's fontset, not using the default fontset.
0693904a 7053
dd7b81cf
KH
7054 * coding.c (inhibit_iso_escape_detection): New variable.
7055 (syms_of_coding): Make it a Lisp variable.
7056 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7057 nonzero, ignore ISO2022's escape sequence.
7058
d5aa31d8
GM
70592000-07-14 Gerd Moellmann <gerd@gnu.org>
7060
e5acf0ca
GM
7061 * alloca.c (malloc) [emacs]: Define as xmalloc.
7062
bd23a692
GM
7063 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7064 use that instead of the mouse position. Add parameters DX and DY.
7065
7066 * dispextern.h (Fx_show_tip): Adjust number of parameters
7067 in prototype.
7068
9662da0b
GM
7069 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7070 if HELP is a function, call it with OBJECT and POS as parameters
7071 to get the help to display.
7072 (gen_help_event, kbd_buffer_store_help_event): New functions.
7073 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7074 (read_char): Call show_help_echo with new parameters.
7075
178c5d9c 7076 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7077 Add prototypes.
7078
7079 * xterm.c (help_echo_object, help_echo_pos): New variables.
7080 (note_mode_line_highlight): Store additional information about the
7081 help-echo in help_echo_object and help_echo_pos. Check both
7082 `local-map' and `keymap' properties for changing the cursor
7083 (note_mouse_highlight): Store additional information about the
7084 help-echo in help_echo_object and help_echo_pos.
7085 (note_tool_bar_highlight): Set help_echo_object to nil and
7086 help_echo_pos to -1.
7087 (XTread_socket): Use gen_help_event instead of filling
7088 input_events manually.
7089 (syms_of_xterm): Staticpro help_echo_object.
7090
7091 * xmenu.c (menu_highlight_callback): Use
7092 kbd_buffer_store_help_event instead of setting up and input_event
7093 structure manually.
7094
7095 * xdisp.c (eval_form): GCPRO argument sexpr.
7096 (call_function): New function.
7097 (handle_single_display_prop): Use call_function and FUNCTIONP
7098 instead of checking whether if font_height is a symbol and
7099 using eval_form.
7100
7101 * eval.c (internal_condition_case_2): New function.
7102
7103 * lisp.h (FUNCTIONP): New macro.
7104 (internal_condition_case_2, call_function): Add prototypes.
7105
d5aa31d8
GM
7106 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7107 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7108 Always set `arg' member of input_events.
7109 (construct_menu_click): Unused function removed.
7110
7111 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7112
7113 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7114 (construct_drag_n_drop, x_scroll_bar_handle_click)
7115 (w32_read_socket): Always set `arg' member of input_events.
7116
7117 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7118
7119 * lisp.h (eval_form): Add prototype.
7120
7121 * xdisp.c (eval_form): Make it externally visible.
7122
0f1a9b23
GM
71232000-07-13 Gerd Moellmann <gerd@gnu.org>
7124
7125 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7126 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7127 consing. For prefix events, store the frame in the `arg' slot of
7128 the event, otherwise store the key there.
7129 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7130 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7131
7132 * xmenu.c (menu_highlight_callback): Store help string in the
7133 `arg' member of the input event; don't cons.
7134 (menubar_selection_callback): Use the `arg' slot of input events
7135 to queue additional information, instead of consing.
7136
7137 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7138
7139 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7140 TOOL_BAR_EVENTs.
7141 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7142
7143 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7144 input events to queue additional information, instead of consing.
7145
7146 * keyboard.c (kbd_buffer_gcpro): Renamed from
7147 kbd_buffer_frame_or_window. Now used for all Lisp objects
7148 referenced from the input queue.
7149 (kbd_buffer_store_event): Always use structure assignment for
7150 copying input events. Record all Lisp objects referenced from
7151 events in kbd_buffer_gcpro.
7152 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7153 differently from input events. Test for prefix menu_bar_events
7154 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7155 event in kbd_buffer_gcpro to nil.
7156 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7157 frame_or_window is equal to its arg member as prefix events.
7158 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7159 used by an input event to nil.
7160 (init_keyboard): Use two times the size of the input queue
7161 for kbd_buffer_gcpro.
7162 (syms_of_keyboard): Likewise.
7163
52283633
SM
7164 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7165 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7166
7167 * termhooks.h (struct input_event): Add member `arg'.
7168 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7169 (USER_SIGNAL_EVENT): Renamed from user_signal.
7170
7171 * xfaces.c (ASET): Remove definition.
7172
7173 * lisp.h (AREF, ASET, ASIZE): New macros.
7174
7175 * fontset.c (AREF, ASIZE): Remove definitions.
7176
7177 * fns.c (AREF): Remove definition.
178c5d9c 7178
0f1a9b23
GM
7179 * composite.c (AREF): Remove definition.
7180
712eaef2
GM
71812000-07-12 Gerd Moellmann <gerd@gnu.org>
7182
d8ee7803
GM
7183 * dispnew.c (redraw_overlapped_rows): Add missing local.
7184 (scrolling_window): Remove debug code.
7185
712eaef2
GM
7186 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7187 Before scrolling, turn off a mouse-highlight in the window
7188 being scrolled.
7189
7190 * xterm.c (x_update_window_end): Add parameter
7191 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7192 redisplay in XTframe_up_to_date.
7193 (x_clear_mouse_face): New function.
7194 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7195
7196 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7197 current glyph row.
7198 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7199 it when any row is written to that contains glyphs highlighted in
7200 mouse-face.
7201 (update_window): Call the window update end hook with new
7202 parameter MOUSE_FACE_OVERWRITTEN_P.
7203 (direct_output_for_insert): Give up if row contains mouse-face.
7204
7205 * dispextern.h (struct redisplay_interface): Add parameter
7206 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7207 (clear_mouse_face): New function pointer member.
7208
02010917
SM
72092000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7210
7211 * syntax.c (back_comment): Use one switch rather than a few `if's.
7212 Obey open_paren_in_column_0_is_defun_start.
7213 When reverting to the `slow' method, try to nicely handle the case
7214 of nested comments by checking that the comment-starter we found
7215 does indeed match the comment-ender.
7216 (scan_sexps_forward, scan_sexps_forward):
7217 Ignore excessive opening parenthesis rather than throwing an error.
7218
d76c03ea
GM
72192000-07-11 Gerd Moellmann <gerd@gnu.org>
7220
7221 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7222 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7223
7224 * dispnew.c (direct_output_forward_char): Give up if currently
7225 displaying a message instead of the minibuffer contents.
7226
7227 * xterm.c (x_update_window_begin): No need to turn off the mouse
7228 highlight here.
7229 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7230 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7231
7232 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7233 compare the mouse_face_p flags of both rows.
7234
7235 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7236
d55ead18
EZ
72372000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7238
7239 * keyboard.c (show_help_echo): Accept additional parameter
7240 ok_to_overwrite_keystroke_echo.
7241 (read_char): Call show_help_echo with a zero
7242 ok_to_overwrite_keystroke_echo argument.
52283633 7243 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7244 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7245 ok_to_overwrite_keystroke_echo argument.
7246 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7247 non-zero ok_to_overwrite_keystroke_echo argument.
7248
df75b1a3
GM
72492000-07-10 Gerd Moellmann <gerd@gnu.org>
7250
4b92c49a
GM
7251 * xdisp.c (try_window_id): If changes are all below what is
7252 displayed in the window, and point is in the window, we still
7253 might have to find point on the display.
7254
7255 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7256 glyphs instead of a single one.
7257 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7258 with new argument list.
7259 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7260
df75b1a3
GM
7261 * keymap.c (get_keymap_1): Add comment that this function can GC.
7262 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7263 comment that functions can GC.
7264 (Fset_keymap_parent): GCPRO arg KEYMAP.
7265
4314cf3e
EZ
72662000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7267
7268 * msdos.c (XMenuActivate): After exiting the menu, restore the
7269 echo area message and erase it.
7270
ab49ce15
KH
72712000-07-10 Kenichi Handa <handa@etl.go.jp>
7272
7273 * fontset.c (Ffontset_info): Make the return value more compatible
7274 with that of Emacs 20.
7275
090a072f
GM
72762000-07-07 Gerd Moellmann <gerd@gnu.org>
7277
7278 * eval.c (Fsignal): Handle case that backtrace_list is null.
7279
f92de4a6
KH
72802000-07-07 Kenichi Handa <handa@etl.go.jp>
7281
7282 * ccl.c (Fccl_execute): Typo fixed.
7283
dd8888a1
GM
72842000-07-06 Gerd Moellmann <gerd@gnu.org>
7285
e5c81191 7286 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7287
dd8888a1
GM
7288 * window.c (Fwindow_list): Reverse list at the end.
7289 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7290 means allow windows on OWINDOW's frame, only.
7291 (window_loop): Simplified; use Fwindow_list.
7292
7293 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7294
485266d0
GM
72952000-07-05 Gerd Moellmann <gerd@gnu.org>
7296
7297 * xterm.c (XTread_socket): Increment handling_signal at the start,
7298 decrement it at the end.
7299
7300 * eval.c (handling_signal): New variable.
7301 (Fsignal): Abort if handling_signal is non-zero.
7302
7303 * lisp.h (handling_signal): External declaration.
178c5d9c 7304
485266d0
GM
7305 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7306
80fcd514
KR
73072000-07-05 Ken Raeburn <raeburn@gnu.org>
7308
7309 Sound support for NetBSD through "Linux emulation" support:
7310 * config.in (HAVE_SOUNDCARD_H): Undef.
7311 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7312 * Makefile.in (LIBSOUND): New variable.
7313 (LIBES): Include it.
52283633
SM
7314 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7315 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7316 (vox_open): Use DEFAULT_SOUND_DEVICE.
7317 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7318
d5c5cddd
GM
73192000-07-05 Gerd Moellmann <gerd@gnu.org>
7320
7321 * print.c (print_error_message): If Vsignaling_function is set,
7322 show it in *Messages*.
7323
7324 * lisp.h (Vsignaling_function): External declaration.
7325
7326 * eval.c (Vsignaling_function): New variable.
7327 (Fsignal): Compute it.
7328 (syms_of_eval): Staticpro it.
7329
65171e3a
DL
73302000-07-05 Dave Love <fx@gnu.org>
7331
7332 * syswait.h: Use the autoconf recommended approach. Old code
7333 #if'd out in case we need to revert.
7334
178c5d9c 7335 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7336
e2c46326
AI
73372000-07-05 Andrew Innes <andrewi@gnu.org>
7338
7339 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7340 when non-NULL instead of __morecore, to take account of buffer
7341 memory. This also solves a problem with spurious memory warnings
7342 on Windows.
7343
7344 * ralloc.c: Make real_morecore non-static.
7345
7346 * eval.c (internal_condition_case): Comment out abort if
7347 interrupt_input_blocked is not zero.
7348
7349 * makefile.nt: Add support for `bootstrap' and related targets.
7350 Include minimal debug info in emacs.exe in release build.
7351 Remove all dependencies on lisp.h, and fixup some others.
7352
7353 * w32.c (init_environment): Install code from 20.7 for providing
7354 default values for environment variables, based on the
7355 executable's own location.
52283633 7356 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7357 (sys_socket): Install socket inheritance bug fix from 20.7.
7358
7359 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7360 here via blockinput.h).
7361
a027a91b
SM
73622000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7363
e4b31601
SM
7364 * w32menu.c (w32_menu_display_help):
7365 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7366
7367 * keyboard.h (show_help_echo): Declare.
7368
7369 * keyboard.c (show_help_echo): New function, extracted from read_char.
7370 Feval its `msg' argument if it's a cons cell.
7371 (read_char): Use it.
4cf8d9d5 7372 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7373
178c5d9c 7374 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7375 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7376 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7377 (dos_rawgetc):
7378 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7379 (note_tool_bar_highlight, w32_read_socket):
7380 Do not gratuitously ignore non-string `help-echo' properties.
7381
88d75730
GM
73822000-07-05 Gerd Moellmann <gerd@gnu.org>
7383
969f7e79
GM
7384 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7385
71201b00
GM
7386 * window.c (delete_all_subwindows): Reset Vwindow_list.
7387
88d75730
GM
7388 * xterm.c (x_append_glyph, x_append_composite_glyph)
7389 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7390 changes in struct glyph starting 1999-12-27. Some bit-fields of
7391 struct glyph were not set, which made glyphs unequal when compared
7392 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7393 effects were the result. This also depended on the contents of
7394 memory returned by xmalloc. If flickering happens again, activate
7395 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7396 gone with that, chances are that it is caused by something similar.
88d75730
GM
7397
7398 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7399
88d75730
GM
7400 * dispextern.h: Add some comments.
7401
7402 * window.c (add_window_to_list): Add parameter LIST.
7403 (window_list): Order list so that, for each frame, windows are
7404 in canonical order, and so that frames appear in the list in
7405 the order given by Vframe_list.
7406 (next_window): Reverse the handling of NEXT_P.
7407
53654733
GM
74082000-07-04 Gerd Moellmann <gerd@gnu.org>
7409
87efd256
GM
7410 * window.c (Vwindow_list): New variable.
7411 (make_window, delete_window): Set Vwindow_list to nil.
7412 (check_window_containing): New function.
7413 (window_from_coordinates): Rewritten.
7414 (add_window_to_list, window_list, candidate_window_p)
7415 (decode_next_window_args, next_window): New functions.
52283633 7416 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7417 (Fwindow_list): New function.
7418 (Fother_window): Cleaned up.
7419 (foreach_window): Add a longer "variable argument list". Let
7420 callback function return 0 to indicate that cycling over windows
7421 should stop.
7422 (foreach_window_1): Likewise.
7423 (freeze_window_start): Return int.
7424 (init_window): New function.
7425 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7426
7427 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7428 input_event with bzero.
7429 (main): Call init_window.
7430
53654733
GM
7431 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7432 a menu filter.
7433
4a8c194f
KH
74342000-07-04 Kenichi Handa <handa@etl.go.jp>
7435
7436 * composite.h (make_composition_value_copy): Extern it.
7437
7438 * composite.c (make_composition_value_copy): New function.
7439
7440 * editfns.c (Fformat): While copying text properties, make each
7441 composition property value a copy.
7442
7443 * fns.c (concat): While copying text properties, make each
7444 composition property value a copy.
7445
831a6cb0
GM
74462000-07-03 Gerd Moellmann <gerd@gnu.org>
7447
2f516940
GM
7448 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7449
178c5d9c 7450 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7451 marked already.
7452
831a6cb0
GM
7453 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7454 include those frames as candidates which have their focus
7455 redirected to the minibuffer frame.
7456
d9c4f922
SM
74572000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7458
7459 * fns.c (Fputhash): Return `value' rather than nil.
7460
3780bc22
GM
74612000-06-30 Gerd Moellmann <gerd@gnu.org>
7462
97d176db
GM
7463 * frame.c (next_frame): Don't check focus redirection in case
7464 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7465 unless their focus is redirected, which contradicts the
7466 specification of next-frame, and leads to infinite loops in
7467 certain situations when cycling through windows with next-window.
7468
dca9961d
KH
74692000-06-30 Kenichi Handa <handa@etl.go.jp>
7470
7471 * coding.c (code_convert_region): Even if the length of text is
7472 zero, try to convert it if coding->type is coding_type_ccl.
7473 (decode_coding_string, encode_coding_string): Likewise.
7474
d5483ab1
GM
74752000-06-28 Gerd Moellmann <gerd@gnu.org>
7476
af5c25e1 7477 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7478 the display if windows_or_buffers_changed.
af5c25e1
GM
7479
7480 * dispnew.c (struct row_entry): New structure.
7481 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7482 (row_table_size, old_lines, new_lines, old_lines_size)
7483 (new_lines_size, run_pool, runs_size, runs): New variables.
7484 (add_row_entry): New function.
7485 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7486 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7487 holding them in local variables. Use a larger hash table whose
7488 size depends on glyph matrix sizes. Don't use bzero to clear the
7489 hash table; instead, clear used slots only.
7490
7491 * fns.c (next_almost_prime): Make it externally visible.
7492
7493 * lisp.h (next_almost_prime): Add prototype.
7494
d5483ab1
GM
7495 * s/isc4-0.h (sigunblock): Define.
7496
7497 * s/sco5.h (sigunblock): Define.
7498
93e40f40
DL
74992000-06-27 Dave Love <fx@gnu.org>
7500
7501 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7502 (moved to osf5-0.h).
7503 [!NOT_C_CODE]: Protect string.h stuff.
7504
7505 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7506 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7507
3c4b7685
GM
75082000-06-27 Gerd Moellmann <gerd@gnu.org>
7509
97d176db 7510 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7511 below the last line from the needed window height.
7512
32cad0aa
SM
75132000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7514
7515 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7516 (Fwidget_get): Use it.
7517 (syms_of_fns): Defsubr it.
7518
2c69ced2
GM
75192000-06-26 Gerd Moellmann <gerd@gnu.org>
7520
178c5d9c 7521 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7522 display info for XIM.
7523 (xim_open_dpy): Likewise.
7524 (xim_close_dpy): Don't free the display info's XIM.
7525
7526 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7527
7528 * config.in (USE_XIM): New define.
7529
3fc720e4
GM
7530 * keymap.c (get_keyelt): For menu-items containing a `:filter
7531 FILTER', apply FILTER to the menu-item's definition to get the
7532 real definition to use.
7533
7534 * lisp.h (QCfilter): External declaration.
7535
2c69ced2
GM
7536 * xfns.c (Fimage_size): New function.
7537 (syms_of_xfns): Defsubr it.
7538
f978b2a2
AS
75392000-06-26 Andreas Schwab <schwab@suse.de>
7540
7541 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7542 Fstring_as_unibyte.
7543
94cc7892
DL
75442000-06-25 Dave Love <fx@gnu.org>
7545
52283633 7546 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7547
7548 * Makefile.in (blockinput.h): Depend on atimer.h.
7549 (atimer.h): Depend on systime.h.
7550
52283633 7551 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7552
52283633 7553 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7554
7555 * lisp.h (swap_in_global_binding): Declare.
7556
b8c24556
KR
75572000-06-24 Ken Raeburn <raeburn@gnu.org>
7558
7559 * process.c (Fopen_network_stream): Turn off atimers for duration
7560 of call to connect. (Patch from Gerd.)
7561
8cf8560b
DL
75622000-06-23 Dave Love <fx@gnu.org>
7563
511c7541
DL
7564 * ralloc.c: Maybe include unistd.h
7565
8cf8560b
DL
7566 * emacs.c (setgrp): Undefine before defining.
7567 (malloc_warning, set_time_zone_rule, index): Prototype.
7568
7569 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7570 HAVE_STRUCT_TIMEZONE.
7571
7572 * s/osf1.h: Move string.h hack here from alpha.h and make it
7573 conditional.
7574 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7575 _XOPEN_SOURCE.
7576 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7577 (SOCKLEN_TYPE): Don't define.
7578
7579 * m/alpha.h: Remove string.h hack.
7580
7581 * s/osf5-0.h: New file.
7582
7583 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7584 include time.h, done by systime.h.
7585 [__FreeBSD__]: Remove redundant includes.
7586
3fc720e4 7587 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7588 (delete_temp_file): Return Qnil to avoid warning.
7589
7590 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7591
7592 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7593 HAVE_X_WINDOWS.
7594
7595 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7596
7597 * composite.h (compose_text): Declare.
7598
7599 * xterm.c: Don't include sys/types.h unconditionally. Don't
7600 protect its inclusion with !USG (following xmenu.c).
7601
ea055732
GM
76022000-06-23 Gerd Moellmann <gerd@gnu.org>
7603
7604 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7605 in x_create_frame.
7606
74b01b80
EZ
76072000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7608
7609 * coding.c (decode_eol_post_ccl): Special handling for undecided
7610 and inconsistent EOL types.
7611
64f3a166
GM
76122000-06-22 Gerd Moellmann <gerd@gnu.org>
7613
16cf31f7
GM
7614 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7615 trough color and main window's background color.
7616
52283633 7617 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7618
7619 * xterm.h (Xt_app_con): External declaration.
7620
7621 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7622
486a103d
GM
7623 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7624
64f3a166
GM
7625 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7626 (handle_invisible_prop): Record the start of invisible text in
7627 it->add_overlay_start.
7628 (struct overlay_entry): Add member `overlay'.
7629 (handle_overlay_change): Simplify.
7630 (next_overlay_string): After having processed overlay strings at the
7631 end of the buffer, record that fact in
7632 it->overlay_strings_at_end_processed_p.
7633 (compare_overlay_entries): If before- and after-strings come
7634 from the same overlay, let before-strings come first.
7635 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7636 (load_overlay_strings): Take it->add_overlay_start into account
7637 when adding overlay strings.
7638
7639 * dispextern.h (struct it): Add member add_overlay_start.
7640
bb746ea6
DL
76412000-06-22 Dave Love <fx@gnu.org>
7642
7643 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7644
7645 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7646
a8f573f3
KH
76472000-06-22 Kenichi Handa <handa@etl.go.jp>
7648
7649 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7650 is greater than 0.
7651
9f2bbc92
DL
76522000-06-21 Dave Love <fx@gnu.org>
7653
178c5d9c 7654 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7655
3ee5041c
SM
76562000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7657
7658 * syntax.c (back_comment): Simplify string-parity counting (with
7659 the added benefit of handling multiple string-styles as long as
7660 they are not intertwined).
7661 Jump to the slow code as soon as a comment starter is found in
7662 a "string_lossage" position. Fixes the case: " /* " /* " */.
7663
4c343001
DL
76642000-06-21 Dave Love <fx@gnu.org>
7665
7666 * Makefile.in: Use GETLOADAVG_LIBS.
7667
7668 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7669 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7670
e6365855
SM
76712000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7672
7673 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7674 (Fforward_comment, scan_lists):
7675 Check the comstyle of single-char comment-starters.
7676 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7677 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7678 Check the comstyle of single-char comment-starters.
7679 Clarify control-flow around the Scomment case.
e6365855 7680
5700d2cc
DL
76812000-06-20 Dave Love <fx@gnu.org>
7682
d355bd8a
SM
7683 * fns.c (make_hash_table, maybe_resize_hash_table):
7684 Cast arg of next_almost_prime.
5700d2cc 7685
178c5d9c 7686 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7687
7688 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7689 and unistd.h.
7690
4a27bdfb
GM
76912000-06-20 Gerd Moellmann <gerd@gnu.org>
7692
a61d762c 7693 * keyboard.c (adjust_point_for_property): Check if display
52283633 7694 property should be treated as intangible by looking at its value.
a61d762c 7695
178c5d9c 7696 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7697 (display_prop_intangible_p): New functions.
7698
7699 * dispextern.h (display_prop_intangible_p): Add prototype.
7700
7701 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7702
4a27bdfb
GM
7703 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7704 argument to sigprocmask.
7705
7706 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7707 argument to sigprocmask.
7708
7709 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7710 sigprocmask_set, and pass a pointer to it to sigprocmask.
7711
7712 * sysdep.c (sigprocmask_set): New variable.
7713
7714 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7715 report_file_error.
7716
427ec082
SS
77172000-06-20 Sam Steingold <sds@gnu.org>
7718
7719 * xrdb.c: Don't declare xmalloc, xrealloc.
7720
8972fe79 77212000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7722
7723 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7724 (re_comp): Cast gettext return value to avoid complaints when
7725 !HAVE_LIBINTL.
7726
074b6efe
DL
77272000-06-20 Dave Love <fx@gnu.org>
7728
52283633 7729 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7730
5700d2cc 7731 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7732
d355bd8a 7733 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7734
7735 * m/alpha.h: Don't declare xmalloc, xrealloc.
7736
0af4f205
DL
7737 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7738
7739 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7740
7741 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7742
7743 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7744 HAVE_GETWD.
7745
074b6efe
DL
7746 * keyboard.h (poll_for_input_1): Declare.
7747
7748 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7749
7750 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7751
7752 * doprnt.c: Don't declare xmalloc, xrealloc.
7753
7754 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7755 (getenv, ctime, getwd): Removed.
7756 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7757
7758 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7759 x_set_tool_bar_lines.
7760
7761 * config.in: Add HAVE_GETWD. Move some definitions above
7762 machine/system includes.
7763
68a5e97b
KH
77642000-06-20 Kenichi Handa <handa@etl.go.jp>
7765
95417e1e
KH
7766 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7767
68a5e97b
KH
7768 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7769 contain information about ENCODING.
7770
7771 * fontset.c (FONTSET_ASCII): Use the first element of char table
7772 for an ASCII font, not defalt slot.
7773 (fontset_ref_via_base): If FONTSET doesn't contain information for
7774 C, try the default fontset.
7775 (make_fontset): Don't copy the default fontset.
7776 (fontset_font_pattern): Likewise.
7777 (accumulate_font_info): If ELT is nil, use the corresponding
7778 element in the default fontset.
7779
3b4fa1b2
DL
77802000-06-19 Dave Love <fx@gnu.org>
7781
943e731c
DL
7782 * syntax.c (Fparse_partial_sexp): Doc fix.
7783
7784 * regex.h: Test PROTOTYPES as well as __STDC__.
7785
3b4fa1b2
DL
7786 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7787 errno, strerror. Put text after #endif in comment.
7788
52283633 7789 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7790
7791 * xterm.c (x_frame_of_widget): Likewise.
7792
cdf0357b
GM
77932000-06-19 Gerd Moellmann <gerd@gnu.org>
7794
7795 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7796 to Vfundamental_mode_abbrev_table.
7797
7798 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7799 bogus objects are marked. This slows down GC by ~80 percent, but
7800 it might be worth trying when debugging GC-related problems.
7801 This feature requires conservative stack marking to be enabled.
7802
7803 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7804 returns XLookupChars, reset `modifiers' to zero.
7805
998e9f8c
DL
78062000-06-19 Dave Love <fx@gnu.org>
7807
7808 * mktime.c: Unprotoized.
7809
18e21ce8 78102000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7811
7812 * data.c (set_internal): If variable is frame-local,
7813 store the new value immediately into the frame parameter alist.
7814
140c4ac6
KR
78152000-06-19 Ken Raeburn <raeburn@gnu.org>
7816
14358466
KR
7817 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7818 in the custom handler pointer.
7819
140c4ac6
KR
7820 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7821 value, or checks for CHAR_META can fail when Lisp_Object is a
7822 union type.
7823 * keymap.c (get_keyelt): Likewise.
7824
10d7bf84
KH
78252000-06-19 Kenichi Handa <handa@etl.go.jp>
7826
7827 * ccl.h (struct ccl_program): New member eol_type.
7828 (struct ccl_spec): New member cr_carryover.
7829
7830 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7831 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7832
7833 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7834 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7835 (decode_eol_post_ccl): New function.
7836 (decode_coding): Don't detect EOL format here for CCL based coding
7837 systems.
7838 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7839 decode_eol_post_ccl after running the CCL program.
7840 (code_convert_region): Don't detect EOL format here for CCL based
7841 coding systems.
7842 (decode_coding_string): Likewise.
7843
52e386c2
KR
78442000-06-18 Ken Raeburn <raeburn@gnu.org>
7845
7846 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7847 when treating it as an integer.
7848
7849 * coding.h (encode_coding_string): Declare.
7850
7851 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7852 it as an integer.
7853
7854 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7855 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7856 to be passed to get_local_map.
7857
7858 * sound.c (Fplay_sound): Don't call make_number on
7859 Frun_hook_with_args count argument.
7860
7861 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7862 for lisp objects in X event structure data field, when lisp
7863 objects are represented with unions.
7864 (x_scroll_bar_to_input_event): Ditto.
7865
b357b9d4
KR
78662000-06-16 Ken Raeburn <raeburn@gnu.org>
7867
7868 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7869 termination of string. Fix sense of test whether
7870 Vline_number_display_limit is an integer.
b357b9d4 7871
a871441d
GM
78722000-06-16 Gerd Moellmann <gerd@gnu.org>
7873
a9021acd
GM
7874 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7875 only if HAVE_X_WINDOWS.
7876
6344985d
GM
7877 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7878 of titles.
7879
427ec082 7880 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7881 out of bounds.
7882
228b083e
EZ
78832000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7884
7885 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7886 of its headers.
7887
c25b53a2
KH
78882000-06-15 Kenichi Handa <handa@etl.go.jp>
7889
7890 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7891 start of the while loop.
7892
a6981b11
GM
78932000-06-15 Gerd Moellmann <gerd@gnu.org>
7894
e9924e52
GM
7895 * atimer.c (alarm_signal_handler): Add forward declaration.
7896
a6981b11
GM
7897 * data.c (set_internal): Remove debug code.
7898
25fa6deb
GM
78992000-06-14 Gerd Moellmann <gerd@gnu.org>
7900
dce6b995
GM
7901 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7902
9f817ea4
GM
7903 * unexec.c (toplevel) [COFF]: Include coff.h.
7904
7905 * s/lynxos.h: New file.
7906
7907 * keymap.c (Fsingle_key_description): Enclose function key and
7908 event symbol names in angle brackets.
7909
8a4e3c0c
GM
7910 * xdisp.c (setup_echo_area_for_printing): Call
7911 message_log_maybe_newline if message_buf_print is not set.
7912
7913 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7914 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7915 function does something useful even when message_buf_print is
7916 already set.
7917
52283633
SM
7918 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7919 New variables.
25fa6deb
GM
7920 (ensure_echo_area_buffers): Initialize echo buffer's
7921 truncate lines setting to nil.
7922 (with_echo_area_buffer): Don't set the echo buffer's truncate
7923 lines setting here.
8a4e3c0c 7924 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7925 of message_truncate_lines.
7926 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7927 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7928 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7929
7930 * keyboard.c (read_char): Bind message-truncate-lines to t
7931 while displaying a help-echo.
7932
7933 * lisp.h (Qmessage_truncate_lines): External declaration.
7934
163dcff3
GM
79352000-06-13 Gerd Moellmann <gerd@gnu.org>
7936
1681ead6
GM
7937 * xdisp.c (Vline_number_display_limit): Renamed from
7938 line_number_display_limit.
7939 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7940 Extend documentation string. Initialize
7941 Vline_number_display_limit to nil meaning no limit.
7942 (decode_mode_spec): Use Vline_number_display_limit with its new
7943 meaning.
7944
163dcff3
GM
7945 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7946
18e21ce8 79472000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7948
7949 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7950
163dcff3
GM
7951 * xfns.c (x_set_frame_parameters): Comment fix.
7952
7953 * frame.c (store_frame_param): Call swap_in_global_binding if the
7954 variable's current binding was chosen based on this frame.
7955
7956 * data.c (swap_in_global_binding): New function.
7957
a704139d
EZ
79582000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7959
7960 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7961 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7962
9b6610db
EZ
79632000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7964
7965 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7966
c68833d2
JR
79672000-06-12 Jason Rumney <jasonr@gnu.org>
7968
7969 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7970
7971 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7972
7973 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7974
7975 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7976
ed1056b3
GM
79772000-06-12 Gerd Moellmann <gerd@gnu.org>
7978
7979 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7980 (syms_of_xfaces): Defsubr Sdump_colors.
7981 (x_free_colors): Don't treat b&w specially on default visual.
7982 (x_free_dpy_colors): New function.
7983 (free_face_colors): Don't check visual class; it's done
7984 in x_free_colors.
7985
7986 * xterm.c (x_frame_of_widget): New function.
7987 (x_alloc_nearest_color_for_widget): Use it.
7988 (x_copy_dpy_color): New function.
7989 (x_destroy_window): Free various colors.
7990
5050a2ef
KH
79912000-06-12 Kenichi Handa <handa@etl.go.jp>
7992
7993 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7994
7995 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7996
7997 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7998
7999 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8000
8001 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8002
fb1b041d
DL
80032000-06-11 Dave Love <fx@gnu.org>
8004
8005 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8006
ff96b5f4
EZ
80072000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8008
8009 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8010
db8eeecd
GM
80112000-06-11 Gerd Moellmann <gerd@gnu.org>
8012
ed1056b3 8013 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8014 to `XEvent *'.
8015
49b71c5f
KH
80162000-06-10 Kenichi Handa <handa@etl.go.jp>
8017
c479bd55
KH
8018 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8019 (regex_compile): Fix the code for handling the case of single byte
8020 char and multibyte char being mixed in a range within [...].
8021
ff6a65c2
KH
8022 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8023 and dst_multibyte members of coding.
8024
49b71c5f
KH
8025 * charset.c (update_charset_table): Update the table
8026 bytes_by_char_head.
8027 (init_charset_once): Initialize elements of bytes_by_char_head to
8028 1 except for leading codes for private charases.
8029
8030 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8031 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8032
9e80b57d
KR
80332000-06-09 Ken Raeburn <raeburn@gnu.org>
8034
8035 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8036 access the data it doesn't point to.
8037
f83fe4b4
GM
80382000-06-08 Gerd Moellmann <gerd@gnu.org>
8039
8040 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8041 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8042 event queue. This is necessary because Emacs otherwise won't
8043 perform a switch-frame to a new frame until some other event, for
8044 example a keystroke event, forces it to do so. This has various
8045 effects, one visible being that the cursor of a frame created with
8046 C-x 5 2 or switched to with a window manager key binding like
8047 A-TAB stays hollow because selected_window isn't on the newly
8048 focused frame until the switch-frame is performed.
8049
8050 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8051 generating a switch-frame event if necessary.
8052
8053 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8054
8055 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8056 it's an integer.
8057
0890801b
KH
80582000-06-08 Kenichi Handa <handa@etl.go.jp>
8059
52283633 8060 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8061
173cbca8
GM
80622000-06-07 Gerd Moellmann <gerd@gnu.org>
8063
3091c2a6
GM
8064 * window.c (displayed_window_lines): Take empty lines at
8065 the bottom of a window into account.
427ec082 8066
f38952fe
GM
8067 * window.c (displayed_window_lines): New function.
8068 (Fmove_to_window_line): Use displayed_window_lines to determine
8069 the number of lines to move, instead of using the window's height.
8070
8071 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8072 to stop reading, even if the form read sets point to a different
8073 value when evaluated.
8074
427ec082 8075 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8076 put the cursor.
8077
6ba6c818
KH
80782000-06-07 Kenichi Handa <handa@etl.go.jp>
8079
8080 * fileio.c (e_write): Free composition data if stored in
8081 coding->cmp_data.
8082
5f1aea9a
GM
80832000-06-06 Gerd Moellmann <gerd@gnu.org>
8084
666852af
GM
8085 * xdisp.c (display_line): Set row's and iterator's
8086 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8087 Set cursor even if row ends in the middle of a character.
8088 (dump_glyph_row): Print values of new flags.
8089 (redisplay_window) <cursor movement in unchanged window>: When
8090 point has been moved forward, and PT is at the end of the cursor
8091 row, don't place the cursor in the next row if the cursor row ends
8092 in the middle of a character or at ZV.
8093
8094 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8095 (struct glyph_row): Add starts_in_middle_of_char_p and
8096 ends_in_middle_of_char_p.
8097 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8098 ends_in_middle_of_char_p flag.
8099 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8100
d13f3e2e
GM
8101 * term.c (append_glyph): Revert change of 2000-06-06.
8102
8103 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8104 padding glyph not fitting on line as whole character not
8105 fitting on line.
8106
5f1aea9a
GM
8107 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8108 this isn't true for images with `:ascent 100'.
8109
10cda9b0
KH
81102000-06-06 Kenichi Handa <handa@etl.go.jp>
8111
ed00559d
KH
8112 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8113 as modified if it is originally unmodified.
8114
10cda9b0
KH
8115 * term.c (encode_terminal_code): Change the way to check if
8116 terminal coding does any conversion.
8117 (append_glyph): Set glyph->pixel_width correctly.
8118
8119 * xdisp.c (display_line): While checking line continuation, pay
8120 attention to a padding glyph.
8121
1969fae2
GM
81222000-06-05 Gerd Moellmann <gerd@gnu.org>
8123
8124 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8125
162ccef4
DL
81262000-06-05 Dave Love <fx@gnu.org>
8127
f19f32dd
DL
8128 * xdisp.c: Include fontset.h.
8129
8130 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8131
8132 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8133
8134 * dispnew.c: Conditionally include term.h.
8135
8136 * coding.h: Declare code_convert_string_norecord.
8137
8138 * frame.h (struct frame): Use volatile unconditionally.
8139
8140 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8141
8142 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8143
8144 * systime.h: Protect against multiple inclusion.
8145 (timezone) [USG5_4]: Define as time_t.
8146
8147 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8148 (Foptimize_char_table, make_temp_name): Declare.
8149
8150 * Makefile.in (xdisp.o): Depend on fontset.h.
8151
8152 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8153
8154 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8155 (Foptimize_char_table, make_temp_name): Declare.
8156
427ec082 8157 * s/irix4-0.h:
162ccef4
DL
8158 * s/irix5-0.h:
8159 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8160
2082fe81
DL
81612000-06-02 Dave Love <fx@gnu.org>
8162
8163 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8164
dcf671d2
GM
81652000-06-02 Gerd Moellmann <gerd@gnu.org>
8166
8167 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8168 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8169 be freed.
8170
8171 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8172 glyph, use the ASCII NUL character to determine the face.
8173
d42122a3
DL
81742000-06-02 Dave Love <fx@gnu.org>
8175
8176 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8177 (VFORK_RETURN_TYPE): Remove.
427ec082 8178
d42122a3
DL
8179 * config.in: Add NO_MATHERR.
8180
dd432f16
DL
81812000-06-01 Dave Love <fx@gnu.org>
8182
90aa4ea8
DL
8183 * cmds.c (internal_self_insert): Don't check
8184 Vbefore_change_function, Vafter_change_function.
8185
8186 * insdel.c (signal_before_change, signal_after_change): Likewise.
8187
8188 * buffer.c (Vbefore_change_function, Vafter_change_function):
8189 Variables and their initializations deleted.
8190
2330c9d4
DL
8191 * callint.c (Fcall_interactively): Doc fix.
8192
dd432f16
DL
8193 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8194
bf9e8804
DL
81952000-05-31 Dave Love <fx@gnu.org>
8196
8197 * textprop.c: Revert last change -- duplicated.
8198
3694b4ab
GM
81992000-05-31 Gerd Moellmann <gerd@gnu.org>
8200
8201 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8202 in #if 0.
8203
8204 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8205
f14156cd
JR
82062000-05-31 Jason Rumney <jasonr@gnu.org>
8207
8119aab8
JR
8208 * search.c (Fre_search_forward, Fre_search_backward)
8209 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8210
f14156cd
JR
8211 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8212
4aab9be3
JR
82132000-05-30 Jason Rumney <jasonr@gnu.org>
8214
8215 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8216 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8217
52283633 8218 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8219
8220 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8221 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8222 expand a nil default_filename.
8223
8224 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8225 pointer to glyph_to_pixel_coords, not a frame.
8226
8227 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8228 coding.h to dependencies.
8229
8230 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8231
8232 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8233 window pointer to be consistent with w32term.c and xterm.c.
8234
8235 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8236 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8237 (Qline_spacing, Qcenter): New variables.
8238 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8239 (x_set_line_spacing): New function.
52283633 8240 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8241 (x_specified_cursor_type): New function.
8242 (x_set_cursor_type): Use it.
8243 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8244 and icon strings.
8245 (validate_x_resource_name, x_get_resource_string): Measure lengths
8246 of external strings in bytes.
8247 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8248 GetTextExtentPoint32 with NULL title.
8249 (Fx_create_frame): Initialize Qline_spacing.
8250 (w32_load_system_font): Initialize font->double_byte_p.
8251 (x_to_w32_charset): Use Vw32_charset_info_alist.
8252 (Image, busy cursor, tooltip functions): Merged changes from
8253 xfns.c. Not yet functional on Windows.
8254
8255 * w32gui.h (W32FontStruct): Add double_byte_p member.
8256
8257 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8258 (emacs_button_translation): Use it.
8259 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8260 in `mask' to be set.
8261
8262 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8263 menu strings.
8264
8265 * w32term.c: Format and doc changes to bring closer to xterm.c.
8266 (w32_char_font_type): New enum.
8267 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8268 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8269 (w32_encode_char): New function.
8270 (x_encode_char): Removed.
8271 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8272 x_encode_char and w32_font_is_double_byte.
8273 (x_produce_image_glyph): Use image_ascent.
8274 (x_produce_glyphs): Use new version of w32_per_char_metric and
8275 handle NULL return value. Allow extra line spacing.
8276 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8277 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8278 w32_font_type member of glyph instead.
8279 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8280 (fast_find_position): Make sure not to consider rows not visible
8281 in the window.
8282 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8283 w32_menu_display_help with input blocked, as it can abort.
8284 (x_display_and_set_cursor): Choose cursor depending
8285 on buffer-local value of cursor_type.
8286 (x_draw_bar_cursor): Add parameter WIDTH.
8287
8288 * w32term.h (CP_DEFAULT): Define.
8289 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8290
10fc3187
GM
82912000-05-30 Gerd Moellmann <gerd@gnu.org>
8292
8293 * search.c (Fre_search_forward, Fre_search_backward)
8294 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8295
d0555360
KH
82962000-05-30 Kenichi Handa <handa@etl.go.jp>
8297
8298 * coding.c (detect_coding_iso2022): Fix code for checking
8299 CODING_CATEGORY_MASK_ISO_8_2.
8300
f1ad044f
SM
83012000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8302
8303 * regex.c (PREFETCH_NOLIMIT): New function.
8304 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8305
84ec3b4b
GM
83062000-05-29 Gerd Moellmann <gerd@gnu.org>
8307
66254a13
GM
8308 * syntax.c (find_defun_start): Move test for
8309 open_paren_in_column_0_is_defun_start outside of the loop.
8310
49e70dec
GM
8311 * xdisp.c (redisplay_window): Really switch buffers when
8312 displaying mode lines, and temporarily set selected_frame to the
8313 frame of the window that's redisplayed.
8314
84ec3b4b
GM
8315 * xfaces.c (free_realized_faces): Block/unblock input.
8316 (free_realized_multibyte_face): Ditto.
8317
869a3a14
DL
83182000-05-29 Dave Love <fx@gnu.org>
8319
8320 * textprop.c (Qkeymap): New variable.
8321 (syms_of_textprop): Intern it.
8322
8323 * keymap.c: Include intervals.h.
8324 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8325
8326 * Makefile.in (keymap.o): Depend on intervals.h.
8327
8328 * keyboard.c (menu_bar_items, tool_bar_items)
8329 (Fexecute_extended_command): Deal with `keymap' property.
8330 (read_key_sequence): Track map from `keymap' property as well as
8331 `local_map'.
8332
8333 * intervals.c (get_local_map): Extra arg to allow looking for
8334 `keymap' too.
8335
8336 * intervals.h (map_property): New enum.
8337 (get_local_map): Extra arg using it.
8338 (Qkeymap): Declare.
8339
84ec3b4b 8340 * lisp.h (get_local_map): Don't declare here.
869a3a14 8341
89d0c844
KH
83422000-05-29 Kenichi Handa <handa@etl.go.jp>
8343
8344 * Makefile.in (callproc.o): Depend on composite.h.
8345
8346 * callproc.c: Include composite.h.
8347 (Fcall_process): Handle composition correctly.
8348
8349 * coding.h (coding_allocate_composition_data): Extern it.
8350 (coding_restore_composition): Likewise.
8351
8352 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8353 yet allocated, finish decoding with result
8354 CODING_FINISH_INSUFFICIENT_CMP.
8355 (coding_allocate_composition_data): Make it non-static.
8356 (coding_restore_composition): Likewise.
8357
797a084a
EZ
83582000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8359
8360 * charset.c (syms_of_charset): Revert last change.
8361
cf872af5
EZ
83622000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8363
8364 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8365 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8366 Handa.
cf872af5 8367
5b1ae051
EZ
83682000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8369
8370 * charset.c (syms_of_charset): Set width of character sets
8371 eight-bit-control and eight-bit-graphic to 1 column.
8372
34ec9ebe
GM
83732000-05-26 Gerd Moellmann <gerd@gnu.org>
8374
8375 * config.in (HAVE_SPEED_T): New define.
8376
8377 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8378 `extern speed_t'.
8379
dd854dc2
DL
83802000-05-26 Dave Love <fx@gnu.org>
8381
8382 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8383
8384 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8385 (Fsubr_arity): New function.
8386 (syms_of_data): Install them.
8387
ba9f8f95
KH
83882000-05-26 Kenichi Handa <handa@etl.go.jp>
8389
0f3e0672
KH
8390 * charset.c (init_charset_once): Set the table bytes_by_char_head
8391 correctly.
8392
cebefb44
KH
8393 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8394 the default fontset to what Emacs uses by default.
0f3e0672
KH
8395 (check_registry_encoding): This function deleted.
8396 (Fset_fontset_font): Remove the adhoc condition for the default
8397 fontset. Allow cons in FONTNAME.
cebefb44 8398
0f3e0672
KH
8399 * fns.c (map_char_table): Ignore char-table entries for
8400 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8401
7a18af49
KR
84022000-05-25 Ken Raeburn <raeburn@gnu.org>
8403
8404 * emacs.c (main): Initialize keyboard syms before initializing
8405 window code, so face names are available.
8406
d2af47df
SM
84072000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8408
8409 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8410 of an anchor at the beginning of a shy-group.
8411
fc6a6a4e
GM
84122000-05-25 Gerd Moellmann <gerd@gnu.org>
8413
8414 * xdisp.c (handle_invisible_prop): Don't try to skip over
8415 invisible text if end of text is already reached.
8416
005f0d35
DL
84172000-05-25 Dave Love <fx@gnu.org>
8418
02513cdd
DL
8419 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8420
005f0d35
DL
8421 * coding.c (encode_eol): Add null statement after label.
8422
89f6ca4e
EZ
84232000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8424
8425 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8426 2000-05-20.
8427
a4e1759e
KH
84282000-05-25 Kenichi Handa <handa@etl.go.jp>
8429
8430 * ccl.c (ccl_driver): Fix previous change.
8431
eacfd7fe
KH
84322000-05-25 Kenichi Handa <handa@etl.go.jp>
8433
46ab33a9
KH
8434 * coding.c (run_pre_post_conversion_on_str): Set point to the
8435 beginning of buffer before calling coding->post_read_conversion.
8436 (decode_coding_string): Give correct args to
8437 run_pre_post_conversion_on_str.
8438 (encode_coding_string): Likewise.
8439
eacfd7fe
KH
8440 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8441 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8442 eight-bit-graphic correctly.
8443
f8569325
DL
84442000-05-24 Kenichi HANDA <handa@etl.go.jp>
8445
8446 * fileio.c (Finsert_file_contents): Even if a file is not found,
8447 execute codes for setting up coding system. Call
8448 after-insert-file-functions unconditionally.
8449
04545643
GM
84502000-05-24 Gerd Moellmann <gerd@gnu.org>
8451
8452 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8453 BSD_PGRPS are not defined.
8454
747d90ea
KH
84552000-05-24 Kenichi Handa <handa@etl.go.jp>
8456
8457 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8458 DESCRIPTION.
8459 (syms_of_charset): Avoid building same strings.
8460
716e3b88
GM
84612000-05-23 Gerd Moellmann <gerd@gnu.org>
8462
8463 * lread.c (Fload): Add a comment about the meaning of
8464 Vuser_init_file being t.
8465
8466 * puresize.h (BASE_PURESIZE): Increase to 675000.
8467
8468 * s/gnu-linux.h (setpgrp): Don't define it here because this
8469 prevents compilation on GNU/Linux systems with glib 2.2.
8470
8471 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8472 as setpgid.
427ec082 8473
9aeb39fa
EZ
84742000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8475
8476 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8477 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8478 version.
8479 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8480
29ced61b
KH
84812000-05-23 Kenichi Handa <handa@etl.go.jp>
8482
52283633 8483 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8484
3d80f24d
KH
8485 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8486
52283633 8487 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8488
29ced61b
KH
8489 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8490
d7e00792
KH
84912000-05-22 Kenichi Handa <handa@etl.go.jp>
8492
c9d80d38
KH
8493 * keyboard.c (read_char): Allow character codes 128..255 to be
8494 handled by input-method-function.
8495
d7e00792
KH
8496 * insdel.c (adjust_markers_for_replace): Fix previous change.
8497 (adjust_after_replace): If PREV_TEXT is nil, call
8498 adjust_markers_for_insert, not adjust_markers_for_replace.
8499
087121cc 85002000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8501
087121cc
GM
8502 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8503 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8504 [HAVE_GRANDPT]: Define.
8505 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8506
8507 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8508 like SYSV_PTYS.
8509
8510 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8511
8512 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8513
c9671f81
KH
85142000-05-20 Kenichi Handa <handa@etl.go.jp>
8515
8516 The following changes are to handle 8-bit characters in a
8517 multibyte buffer/string without facing with byte combining
8518 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8519 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8520
8521 * Makefile.in (fns.o): Depend on charset.h.
8522
8523 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8524 convert it to unibyte.
8525 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8526
8527 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8528 apparent char boundary.
8529 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8530 0x80..0x9F to/from multibyte form.
8531
8532 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8533 to unibyte.
8534
8535 * callproc.c (Fcall_process): Always encode an argument string if
8536 it is multibyte. Setup src_multibyte and dst_multibyte members of
8537 process_coding properly.
ce75fd23 8538
c9671f81
KH
8539 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8540 SPLIT_NON_ASCII_CHAR.
8541
8542 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8543 as is.
8544 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8545
52283633 8546 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8547 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8548 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8549 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8550 and eight-bit-graphic.
8551 (char_to_string): Likewise. Signal an error for too large
8552 character code.
8553 (char_printable_p): Return 0 for 8-bit characters.
8554 (update_charset_table): Update iso_charset_table only when a final
8555 character is non-negative.
8556 (find_charset_in_text): Renamed from find_charset_in_str.
8557 Arguments and return value changed. Callers changed.
8558 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8559 be -1 if CHARSET is used only internally.
8560 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8561 eight-bit-graphic.
8562 (Fcharset_after): Simplified.
8563 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8564 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8565 (multibyte_chars_in_text): Simplified by assuming there's no
8566 invalid multibyte sequence.
52283633
SM
8567 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8568 (str_as_unibyte): New functions.
8569 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8570 (init_charset_once): Initialization for
8571 LEADING_CODE_8_BIT_CONTROL.
8572 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8573 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8574 eight-bit-control and eight-bit-graphic.
8575
52283633
SM
8576 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8577 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8578 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8579 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8580 (CHARSET_REVERSE_CHARSET): Likewise.
8581 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8582 eight-bit-graphic.
8583 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8584 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8585 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8586 encounter an invalid multibyte sequence.
8587 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8588 sequence is always valid.
8589 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8590 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8591 (CHAR_STRING): For 8-bit characters, call char_to_string.
8592 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8593 multibyte sequence is always valid.
8594 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8595 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8596 (str_as_unibyte): Extern them.
c9671f81 8597 (BCOPY_SHORT): Fix a bug.
52283633 8598 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8599 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8600 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8601 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8602
bd4bde7f 8603 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8604 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8605 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8606 (EMIT_BYTES): New macros.
8607 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8608 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8609 macros deleted.
8610 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8611 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8612 check the validity of multibyte sequence.
8613 (decode_coding_emacs_mule): New function.
8614 (encode_coding_emacs_mule): New macro.
8615 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8616 the source.
8617 (DECODE_ISO_CHARACTER): Just return a character code.
8618 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8619 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8620 EMIT_CHAR to produced decoded characters. Exit the loop only by
8621 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8622 block here.
8623 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8624 only position codes for an invalid character.
8625 (encode_designation_at_bol): Return new destination pointer. 5th
8626 arg DSTP is changed to DST.
8627 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8628 from the source by ONE_MORE_CHAR. Don't handle the case of last
8629 block here.
8630 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8631 macros deleted.
52283633
SM
8632 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8633 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8634 TWO_MORE_BYTES to fetch a byte from the source.
8635 (encode_eol): Pay attention to coding->src_multibyte.
8636 (detect_coding, detect_eol): Preserve members src_multibyte and
8637 dst_multibyte.
8638 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8639 (encoding_buffer_size): Set magnification to 3 for all coding
8640 systems that require encoding.
8641 (ccl_coding_driver): For decoding, be sure that the result is
8642 valid multibyte sequence.
8643 (decode_coding): Initialize coding->errors and coding->result.
8644 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8645 and raw-text, always call decode_eol. Handle the case of last
8646 block here. If not coding->dst_multibyte, convert the resulting
8647 sequence to unibyte.
8648 (encode_coding): Initialize coding->errors and coding->result.
8649 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8650 and raw-text, always call encode_eol. Handle the case of last
8651 block here.
8652 (shrink_decoding_region, shrink_encoding_region): Detect cases
8653 that we can't skip data more rigidly.
8654 (code_convert_region): Setup src_multibyte and dst_multibyte
8655 members of coding. For decoding, if the buffer is multibyte,
8656 convert the source sequence to unibyte in advance. For encoding,
8657 if the buffer is multibyte, convert the resulting sequence to
8658 multibyte afterward.
8659 (run_pre_post_conversion_on_str): New function.
8660 (code_convert_string): Deleted and divided into the following two.
8661 (decode_coding_string, encode_coding_string): New functions.
8662 (code_convert_string1, code_convert_string_norecord): Call one of
8663 above.
8664 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8665 MAKE_NON_ASCII_CHAR.
52283633
SM
8666 (Fset_terminal_coding_system_internal)
8667 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8668 and dst_multibyte members.
8669 (init_coding_once): Initialize iso_code_class with new enum
8670 ISO_control_0 and ISO_control_1.
8671
8672 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8673 devided into ISO_control_0 and ISO_control_1.
8674 (struct coding_system): New members src_multibyte, dst_multibyte,
8675 errors, and result. Delete member fake_multibyte.
8676 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8677 nonzero.
8678 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8679 nonzero.
8680
8681 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8682 (Faset): Likewise.
8683
8684 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8685 multibyte form.
8686 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8687 combining occurs.
8688 (Ftranspose_region): Delete codes for handling byte combining.
8689
8690 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8691 dst_multibyte members of coding. On handling REPLACE on unibyte
8692 buffer, convert the result of decode_coding to unibyte. On
8693 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8694 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8695 multibyteness of the source (buffer or string).
8696
8697 * fns.c (concat): Handle 8-bit characters correctly.
8698 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8699 unibyte in the result.
8700 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8701 valid multibyte form in the result.
8702 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8703 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8704 return -1, signal an error.
8705 (base64_encode_1): New arg MULTIBYTE. Get each character by
8706 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8707 character is found, return -1.
8708 (Fbase64_decode_region): Delete codes for handling byte-combining.
8709 Treat each decoded byte as a unibyte character.
8710 (Fbase64_decode_string): Return unibyte string.
8711 (Fcompare_strings, concat, string_byte_to_char): Use
8712 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8713 FETCH_STRING_CHAR_ADVANCE.
8714 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8715 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8716
8717 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8718 SPLIT_NON_ASCII_CHAR.
8719 (fontset_ref_via_base, fontset_set): Likewise
8720
8721 * insdel.c (adjust_markers_for_record_delete): Deleted.
8722 (adjust_markers_for_insert): Argument changed. Caller changed.
8723 (adjust_markers_for_replace): Likewise.
52283633
SM
8724 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8725 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8726 (copy_text): Delete unused local varialbe c_save. For converting
8727 to multibyte, be sure to make all 8-bit characters in valid
8728 multibyte form.
8729 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8730 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8731 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8732 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8733 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8734 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8735 handling byte combining.
8736 (adjust_before_replace): Deleted.
427ec082 8737
c9671f81
KH
8738 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8739 SPLIT_NON_ASCII_CHAR.
8740 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8741 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8742 (Fkey_description): Likewise.
8743
8744 * lread.c (read1): On reading multibyte string, be sure to make
8745 all 8-bit chararacters in valid multibyte form.
8746 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8747
8748 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8749 unconditionally.
8750
8751 * process.c (Fstart_process): GCPRO current_dir before calling
8752 Ffind_operation_coding_system. Encode arguments here.
8753 (create_process): Don't encode arguments here. Setup
8754 src_multibyte and dst_multibyte members of struct coding.
8755 (read_process_output): Setup src_multibyte and dst_multibyte
8756 members of struct coding. If the output is to multibyte buffer,
8757 always decode the output of the process. Adjust the
52283633 8758 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8759 (send_process): Setup coding->src_multibyte according to the
8760 multibyteness of the source.
8761
52283633 8762 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8763 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8764 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8765
52283633 8766 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8767
8768 * w16select.c (Fw16_set_clipboard_data): Setup members
8769 src_multibyte and dst_multibyte of coding. Adjusted for the
8770 change for find_charset_in_str.
8771 (Fw16_get_clipboard_data): Likewise.
8772
8773 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8774 dst_multibyte of coding.
8775 (x_to_w32_font): Likewise.
8776
8777 * w32select.c (Fw32_set_clipboard_data): Setup members
8778 src_multibyte and dst_multibyte of coding. Adjusted for the
8779 change for find_charset_in_str.
8780 (Fw32_get_clipboard_data): Likewise.
8781
8782 * xdisp.c (get_next_display_element): Handle 8-bit characters
8783 correctly.
52283633
SM
8784 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8785 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8786
8787 * xselect.c (selection_data_to_lisp_data): Setup members
8788 src_multibyte and dst_multibyte of coding. Adjusted for the
8789 change for find_charset_in_str.
8790 (lisp_data_to_selection_data): Likewise.
8791
5f64c9e0
GM
87922000-05-19 Gerd Moellmann <gerd@gnu.org>
8793
52283633 8794 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8795
5f64c9e0
GM
8796 * dispextern.h (Vimage_types): Add extern declaration.
8797
8798 * xdisp.c (Vimage_types): Moved here from xfns.c.
8799 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8800
8801 * xfns.c (Vimages_types): Moved to xdisp.c.
8802 (syms_of_xfns): Move `image-types' to xdisp.c.
8803
8804 * w32fns.c (Vimage_types): Removed.
8805 (syms_of_w32fns): Remove `image-types'.
8806
813086ea
KH
88072000-05-18 Kenichi Handa <handa@etl.go.jp>
8808
8809 * fns.c (map_char_table): Pay attention to character number of
8810 charset. Check the validity of charset at the first level. For
8811 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8812 the default value.
8813
8814 * fontset.c: Include "buffer.h".
8815 (fs_load_font): If the face has fontset, record the face ID in
8816 that fontset.
8817 (Finternal_char_font): New function.
8818 (accumulate_font_info): New function.
8819 (Ffontset_info): Rewritten for the new fontset implementation.
8820 (syms_of_fontset): Register Vdefault_fontset in the first element
8821 of Vfontset_table. Include Vdefault_fontset in
8822 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8823 function.
8824
bdaebbf0
DL
88252000-05-16 Dave Love <fx@gnu.org>
8826
8827 * m/iris5d.h: Deleted -- unused.
8828
cb613bb8
GM
88292000-05-16 Gerd Moellmann <gerd@gnu.org>
8830
b15f3b77
GM
8831 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8832 `invalid' instead of `illegal'.
8833
8834 * indent.c (Fmove_to_column): When ending within a tab, insert
8835 spaces first so that markers at the end of the tab get adjusted.
8836
835c1b36
GM
8837 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8838 buffer list that wasn't selected in that frame.
8839
cb613bb8
GM
8840 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8841 is needed on mescaline, use a 2 char prefix, and call
8842 make_temp_name with second arg non-zero.
8843
8844 * fileio.c (make_temp_name): New function, extracted from
8845 Fmake_temp_name.
8846 (Fmake_temp_name): Use it.
8847
f685bea9
EZ
88482000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8849
52283633 8850 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8851
a1b8d58b
GM
88522000-05-15 Gerd Moellmann <gerd@gnu.org>
8853
8854 * Makefile.in (lisp): Add env.elc.
8855
8856 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8857
a265079f
GM
88582000-05-12 Gerd Moellmann <gerd@gnu.org>
8859
8860 * search.c (Freplace_match): Handle case of `\N' in the
8861 replacement when there's no group N.
8862
da4496b6
GM
88632000-05-11 Gerd Moellmann <gerd@gnu.org>
8864
0ace421a
GM
8865 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8866 of the message to message_dolog.
8867
1172eb8d
GM
8868 * keyboard.c (read_char): Don't clear current message for help
8869 events; let the code handling help events handle this. Change
8870 code detecting help events that should be ignored.
8871
da4496b6
GM
8872 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8873 we're interating over a string.
8874
0623e40f
DL
88752000-05-09 Dave Love <fx@gnu.org>
8876
8877 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8878 that offset before writing. Move gcpro region past call of
8879 Ffile_regular_p.
8880
bae2503b
DL
88812000-05-04 Dave Love <fx@gnu.org>
8882
8883 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8884
ec82fb2f
GM
88852000-05-04 Gerd Moellmann <gerd@gnu.org>
8886
8887 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8888 of inserted characters when BUF equals the current buffer, and PT
8889 is in front of or equal to FROM.
8890
cbf18892
GM
88912000-05-03 Gerd Moellmann <gerd@gnu.org>
8892
4ff40dd0
GM
8893 * xdisp.c (handle_single_display_prop): If display property value
8894 is invalid, or something not supported on the frame, restore
8895 iterator's position to what it was initially. Make sure to return
8896 0 for invalid and unsupported property values.
8897
cbf18892
GM
8898 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8899 that x_per_char_metric returns null.
8900
1b0672c3
GM
89012000-05-02 Gerd Moellmann <gerd@gnu.org>
8902
576da55d
GM
8903 * xterm.h (struct face): Add forward declaration.
8904 (struct image): Ditto.
8905 (image_ascent): Add prototype.
8906
8907 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8908 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8909 image_ascent instead of using IMAGE_ASCENT.
8910
8911 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8912 (IMAGE_ASCENT): Removed.
8913
8914 * xfns.c (Qcenter): New variable.
8915 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8916 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8917 (image_ascent): New function.
8918 (lookup_image): Recognize `:ascent center'.
8919 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8920 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8921 (xbm_load): Don't set image's ascent here.
8922 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8923 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8924 check ascent values here.
8925 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8926 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8927 (syms_of_xfns): Initialize Qcenter.
8928
1b0672c3
GM
8929 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8930 to the limits, increase the limits.
8931
0d7811ed
KH
89322000-05-01 Kenichi Handa <handa@etl.go.jp>
8933
8934 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8935 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8936
a943a5ca
GM
89372000-04-28 Gerd Moellmann <gerd@gnu.org>
8938
8939 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8940 taller than the window.
8941
5dba1e29
KH
89422000-04-28 Kenichi Handa <handa@etl.go.jp>
8943
8944 * xfaces.c (realize_x_face): Fix the argument of the second
8945 xassert. BASE_FACE may not be a face for ASCII.
8946
353964e3
GM
89472000-04-27 Gerd Moellmann <gerd@gnu.org>
8948
c76e04a8
GM
8949 * print.c (print_object): Treat print-length < 0 as nil.
8950
8951 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8952
8953 * s/freebsd.h (TERMCAP_OBJ): Removed.
8954 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8955
8956 * lread.c (read1): Don't treat period followed by certain
8957 characters as symbol start.
8958
8959 * xfns.c (slurp_file): New function.
8960 (xbm_image_p): Handle case of in-memory XBM files.
8961 (xbm_scan): Rewritten to work on memory buffers instead of files.
8962 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8963 Work on memory buffers instead of files. If DATA is null test
8964 if buffer looks like an in-memory XBM file.
8965 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8966 memory buffers instead of files.
8967 (xbm_file_p): New function.
8968 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8969
353964e3
GM
8970 * lread.c (end_of_file_error): New function.
8971 (read1): Call it instead of signaling `end-of-file' directly.
8972
427ec082 8973 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8974 with Fprinc instead of Fprin1.
8975
24d744ac
KR
89762000-04-26 Ken Raeburn <raeburn@gnu.org>
8977
8978 * window.c (freeze_window_start): Check that minibuffer scroll
8979 window isn't nil before extracting the window structure pointer
8980 from it.
8981
8982 * undo.c (record_delete): If we hit the end of the undo list, stop
8983 picking elements apart.
8984
7464346d
GM
89852000-04-26 Gerd Moellmann <gerd@gnu.org>
8986
8987 * xdisp.c (display_line): If lines are continued, restore
8988 iterator's ascent/descent information to the values before the
8989 first glyph not fitting on the line.
8990
612839b6
GM
89912000-04-25 Gerd Moellmann <gerd@gnu.org>
8992
8993 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8994 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8995
8996 * dispnew.c (increment_matrix_positions): Renamed from
8997 increment_glyph_matrix_buffer_positions.
8998 (increment_row_positions): Renamed from
8999 increment_glyph_row_buffer_positions.
9000
9001 * dispextern.h: Change names of renamed functions from dispnew.c
9002 in prototypes.
9003
cc181e95
GM
90042000-04-24 Gerd Moellmann <gerd@gnu.org>
9005
abfcc168
GM
9006 * fileio.c (Fdo_auto_save): Create directories for auto-save
9007 list file if necessary.
9008
cc181e95
GM
9009 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9010 from buffer or frame.
9011 (automatic_hscrolling_p): New variable.
9012 (hscroll_windows): Scroll windows horizontally only if automatic
9013 hscrolling is allowed.
9014 (syms_of_xdisp): New variable `automatic-hscrolling'.
9015
9016 * frame.h (struct frame): Add member extra_line_spacing.
9017
9018 * xfns.c (x_set_line_spacing): New function.
9019 (Fx_create_frame): Set line spacing from resources.
9020 (Qline_spacing): New variable.
9021 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9022
cc181e95
GM
9023 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9024
9025 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9026 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9027 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9028 extra_line_spacing from default value.
9029 (init_buffer_once): Initialize default value of extra_line_spacing.
9030
9031 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9032 and extra3.
9033
9034 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9035 prompt_width. Add extra line spacing.
9036
9037 * term.c (produce_glyphs): Remove reference to struct it's
9038 prompt_width.
9039
9040 * dispextern.h (struct it): Remove member prompt_width, add
9041 extra_line_spacing.
9042
58827478
GM
90432000-04-22 Gerd Moellmann <gerd@gnu.org>
9044
9045 * dispnew.c (update_frame_line): When writing a whole line, make
9046 sure cursor is in the right row afterwards, otherwise a use of
9047 capability `ch' in cmgoto might leave the cursor in the row below.
9048
25a87f42
GM
90492000-04-21 Gerd Moellmann <gerd@gnu.org>
9050
9051 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9052
9053 * keyboard.c (timer_check): Fix typo in comment.
9054
54edf5c2
KH
90552000-04-21 Kenichi Handa <handa@etl.go.jp>
9056
9057 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9058 name change: ch -> character.
9059
3a64eef5
GM
90602000-04-20 Gerd Moellmann <gerd@gnu.org>
9061
9062 * keyboard.c (echo_message_buffer): New variable.
9063 (echo_now): Set echo_message_buffer to the echo area buffer used
9064 to display the echo.
9065 (cancel_echoing): Reset echo_message_buffer to nil.
9066 (read_char): Code rewritten that handles canceling an echo or
9067 echoing a dash, respectively.
9068
9069 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9070 directory doesn't exist.
9071
6142fdcb
DL
90722000-04-19 Dave Love <fx@gnu.org>
9073
9074 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9075 (concat): Don't allow numeric args.
9076 (Fconcat): Doc change.
6142fdcb 9077
ac6b5352
SM
90782000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9079
9080 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9081 instead define end_match(1|2) more carefully.
9082 Use GET_CHAR_BEFORE_2 for `begline'.
9083
cb9215e4
GM
90842000-04-19 Gerd Moellmann <gerd@gnu.org>
9085
5e3dac3f
GM
9086 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9087 on 64-bit systems where NULL is defined as `0'.
9088
9089 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9090 the `variable argument list' to make it work on Alpha.
9091
cb9215e4
GM
9092 * m/alpha.h (_LP64) [!_LP64]: Define.
9093 (ORDINARY_LINK): Define for NetBSD.
9094
9095 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9096
f532dca0
DL
90972000-04-19 Dave Love <fx@gnu.org>
9098
c750667e
DL
9099 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9100 change.
9101
9102 * Makefile.in (LIBS): Don't use.
9103 (GETLOADAVG_OBJ): Define again.
9104 (otherobj): Add GETLOADAVG_OBJ.
9105
f532dca0
DL
9106 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9107
1c7e22fd
GM
91082000-04-18 Gerd Moellmann <gerd@gnu.org>
9109
f6d3257b
GM
9110 * lread.c (read_filtered_event): Cancel and start busy cursor.
9111
427ec082 9112 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9113 that the per-character metrics may be null.
9114
e10f64e7
GM
91152000-04-17 Gerd Moellmann <gerd@gnu.org>
9116
0daee095
GM
9117 * buffer.c (clone_per_buffer_values): New function.
9118 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9119 clone_per_buffer_values if CLONE is not nil.
9120
e10f64e7
GM
9121 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9122
38687d43
DL
91232000-04-16 Dave Love <fx@gnu.org>
9124
9125 * Makefile.in: Remove obsolete localcpp stuff.
9126 (GETLOADAVG_OBJ): Don't define.
9127 (obj): Move LIBOBJS...
9128 (otherobj): ... to here.
9129 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9130 whitespace-only lines after the continuation (Irix).
9131
c21c7262
GM
91322000-04-14 Gerd Moellmann <gerd@gnu.org>
9133
9134 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9135
9136 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9137
314767c0
DL
91382000-04-14 Dave Love <fx@gnu.org>
9139
9140 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9141 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9142 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9143 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9144 NLIST_STRUCT.
9145
9146 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9147 autoconfiscated HAVE_GETLOADAVG.
9148
9149 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9150 BROKEN_MKTIME.
9151
a2522dca
GM
91522000-04-14 Gerd Moellmann <gerd@gnu.org>
9153
9154 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9155 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9156
33744b5d
DL
91572000-04-14 Dave Love <fx@gnu.org>
9158
c21c7262 9159 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9160 (INTERVAL_SRC): Convert to make variable.
9161 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9162 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9163 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9164 add LIBOBJS.
9165 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9166 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9167 (shortlisp): Add facemenu, float-sup, frame.
9168 (SOME_MACHINE_LISP): Remove them from here.
9169 (LIBES): Change unused LDLIBS to autoconf LIBS.
9170
9171 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9172
9d3d5916
KH
91732000-04-14 Kenichi Handa <handa@etl.go.jp>
9174
9175 * composite.c (update_compositions): If FROM and TO are not in a
9176 valid range, do nothing.
9177
198e3c7a
GM
91782000-04-13 Gerd Moellmann <gerd@gnu.org>
9179
52283633 9180 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9181
52283633 9182 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9183
9184 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9185 as TERMCAP_OBJ.
9186
055a28c9
EZ
91872000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9188
9189 * fileio.c (a_write): Remove redundant semi-colons.
9190 (e_write): Return -1 if failed to write all the data.
9191 This fixes the changes made at 1999-12-15.
9192
f5c75033
DL
91932000-04-12 Dave Love <fx@gnu.org>
9194
9195 * fns.c (mapcar1): Test for null vals to support mapc.
9196 (Fmapc): New function.
9197
0c3cfc51
EZ
91982000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9199
9200 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9201 (IT_frame_up_to_date): Support the buffer local value of
9202 cursor-type, if defined.
9203
33465a31
DL
92042000-04-10 Dave Love <fx@gnu.org>
9205
9206 * editfns.c (preceding-char, following-char): Doc fix.
9207
6ed56568
KR
92082000-04-10 Ken Raeburn <raeburn@gnu.org>
9209
9210 * Makefile.in (temacs): Revert 2000-03-12 change.
9211
7cf80d4e
JR
92122000-04-10 Jason Rumney <jasonr@gnu.org>
9213
9214 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9215
34f3f342
GM
92162000-04-10 Gerd Moellmann <gerd@gnu.org>
9217
1a1b1895
GM
9218 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9219 area buffer, if it's not set up yet.
9220
34f3f342
GM
9221 * indent.c (compute_motion): Set immediate_quit.
9222
be0dbdab
GM
92232000-04-09 Gerd Moellmann <gerd@gnu.org>
9224
52283633 9225 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9226 (realize_tty_face): Suppress boldness if colors are the inverse of
9227 the default colors, and tty_suppress_bold_inverse_default_colors_p
9228 is set.
9229 (Ftty_suppress_bold_inverse_default_colors): New function.
9230 (syms_of_xfaces): Defsubr it.
9231
be0dbdab
GM
9232 * buffer.c (Frestore_buffer_modified_p): New function.
9233 (syms_of_buffer): Defsubr it.
9234
e8413c3b
KR
92352000-04-08 Ken Raeburn <raeburn@gnu.org>
9236
87f67317
KR
9237 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9238 charset id (int) argument, not a charset (Lisp_Object).
9239
e8413c3b
KR
9240 * coding.h (code_convert_string): Declare.
9241 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9242 object, as the fourth argument to code_convert_string.
9243
52283633 9244 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9245 (Fset_fontset_font): Use EQ to compare lisp objects.
9246
7c752c80
KR
92472000-04-05 Ken Raeburn <raeburn@gnu.org>
9248
c0333abc
KR
9249 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9250 a pointer that looks like a lisp object.
9251 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9252 zero, instead see whether it's an integer object, since they can't
9253 have intervals.
9254 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9255
52283633
SM
9256 * dispnew.c (allocate_matrices_for_frame_redisplay)
9257 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9258 to convert between (unsigned) int values and lisp integers.
9259 * keyboard.c (read_key_sequence): Likewise.
9260 * lread.c (substitute_object_recurse): Likewise.
9261 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9262 * minibuf.c (do_completion, Fminibuffer_complete_word)
9263 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9264 * term.c (produce_special_glyphs): Likewise.
9265
9266 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9267 * print.c (print_preprocess, print_object): Likewise.
9268
9269 * search.c (compile_pattern): Use NILP when checking for nil.
9270
74e49b38
KR
9271 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9272 __OPTIMIZE__]: Provide a GNU C macro version that handles
9273 lisp-object unions.
9274 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9275 field, to better cope with ENABLE_CHECKING and calls that modify a
9276 Lisp_Object using its old value.
9277
685e5ed2
GM
92782000-04-04 Gerd Moellmann <gerd@gnu.org>
9279
c407c570
GM
9280 * window.c (compare_window_configurations): Signal an error
9281 if parameters C1 or C2 aren't window configurations.
9282
685e5ed2
GM
9283 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9284 AFTER_POTENTIAL_GC calls around calls to functions that can
9285 signal an error and thus invoke the debugger.
9286
587a49ab
GM
92872000-04-03 Gerd Moellmann <gerd@gnu.org>
9288
62f20204
GM
9289 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9290 an error if decoding fails.
9291
587a49ab
GM
9292 * keyboard.c (lispy_mouse_names): Variable removed.
9293 (Vlispy_mouse_stem): New variable.
9294 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9295 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9296 for any mouse button number. Increase size of mouse_syms and
9297 button_down_location as needed. Call modify_event_symbol with
9298 different arguments.
9299 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9300 Call modify_event_symbol with different arguments.
9301 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9302 for any button number. Call modify_event_symbol with different
9303 arguments.
9304 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9305 Accept a string for NAME_ALIST_OR_STEM.
9306
9307 * lisp.h (larger_vector): Add prototype.
9308
9309 * fns.c (larger_vector): Make externally visible.
9310
9311 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9312
2d1675e4
SM
93132000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9314
9315 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9316 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9317 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9318 we are between str1 and str2.
9319 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9320 (PATFETCH): Use `TRANSLATE'.
9321 (PATFETCH_RAW): Fetch multibyte char if applicable.
9322 (PATUNFETCH): Remove.
9323 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9324 When writing a char, write it directly into the pattern buffer rather
9325 than going needlessly through a temp char-array.
9326 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9327 multibyte magic and remove the useless `#ifdef emacs'.
9328 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9329 buffer.
9330
9331 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9332 conditional on `emacs'.
9333
9334 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9335
cc2d8c6b
KR
93362000-04-01 Ken Raeburn <raeburn@gnu.org>
9337
9338 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9339 non-union-type versions of XMARK and friends here, because XMARK
9340 and friends won't work on an integer field if NO_UNION_TYPE is not
9341 defined.
52283633 9342 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9343
52283633 9344 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9345 (syms_of_composite): Delete local var NARGS, pass an int as first
9346 argument to Fmake_hash_table.
9347
2387b382
KR
9348 * editfns.c (text_property_stickiness): Use NILP to test
9349 Lisp_Object boolean value.
9350 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9351 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9352 problems reading from and changing the same lisp value in an
9353 XSETSTRING call.
9354
27660e89
GM
93552000-04-01 Gerd Moellmann <gerd@gnu.org>
9356
9357 * term.c (TN_no_color_video): New variable.
9358 (term_init): Intitialize TN_no_color_video.
9359 (enum no_color_bit): New enumeration.
9360 (MAY_USE_WITH_COLORS_P): New macro.
9361 (turn_on_face): Use it to determine if attributes may be used
9362 combined with colors.
9363
3578db3c
KR
93642000-04-01 Ken Raeburn <raeburn@gnu.org>
9365
9366 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9367 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9368 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9369 proper accessor macros.
9370 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9371 (grow_mini_window): Fix typo getting int value of root->height.
9372
6fc556fd
KR
9373 * xdisp.c (compute_string_pos): Fix order of arguments to
9374 string_pos_nchars_ahead.
9375 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9376 count arg to variable-arg routines like Frun_hook_with_args and
9377 Fformat.
587a49ab
GM
9378 (back_to_previous_visible_line_start)
9379 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9380 fixed-arg routines like Fget_char_property and Fmake_string.
9381 (reconsider_clip_changes): Use XINT when comparing integer lisp
9382 objects, or passing them as int arguments.
587a49ab
GM
9383 (mark_window_display_accurate, insert_left_trunc_glyphs)
9384 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9385 storing or passing integer values as lisp objects.
9386 (set_cursor_from_row, highlight_trailing_whitespace): Use
9387 INTEGERP, not implicit test against zero, for glyph object.
9388 (try_window_id): Don't use make_number when we want an int value.
9389
9390 * xfaces.c (xlfd_symbolic_value): Make last argument a
9391 Lisp_Object, to be consistent with callers.
9392 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9393 (lface_hash): Apply XFASTINT to lisp values before folding in.
9394
9395 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9396 fill in window width and height. Pass an int, not a lisp object,
9397 as first arg to Finsert.
9398
6e7b2457
GM
93992000-04-01 Gerd Moellmann <gerd@gnu.org>
9400
610d841e
GM
9401 * xfaces.c (realize_basic_faces): Block input while realizing
9402 the faces.
9403
6e7b2457
GM
9404 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9405
9406 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9407
aa110c0c
GM
94082000-03-31 Gerd Moellmann <gerd@gnu.org>
9409
9410 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9411 or ASCII, handle case that per-char metric is null.
aa110c0c 9412
8801a864
KR
94132000-03-30 Ken Raeburn <raeburn@gnu.org>
9414
c6129d7e
KR
9415 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9416
52283633
SM
9417 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9418 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9419 pointer, using eassert.
9420 * frame.h (XFRAME): Likewise.
9421
52283633
SM
9422 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9423 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9424 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9425 * data.c (set_internal): Likewise.
52283633
SM
9426 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9427 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9428 * fileio.c (auto_save_1): Likewise.
9429 * insdel.c (check_markers): Likewise.
9430 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9431 * undo.c (record_insert): Likewise.
9432 * vmsproc.c (child_sig): Likewise.
9433 * window.c (unshow_buffer, window_loop): Likewise.
9434 * xterm.c (x_erase_phys_cursor): Likewise.
9435
8e7af858
GM
94362000-03-30 Gerd Moellmann <gerd@gnu.org>
9437
9438 * xfns.c (free_image_cache): Free the cache structure itself
9439 last, after all its members have been freed.
9440
9441 * lisp.h (xstrdup): Add prototype.
9442
9443 * alloc.c (xstrdup): Moved here from xfaces.c.
9444 (allocating_for_lisp): Variable removed.
52283633 9445 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9446
9447 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9448 of Fsymbol_value.
9449 (xstrdup): Moved to alloc.c.
9450
e0b8c689
KR
94512000-03-29 Ken Raeburn <raeburn@gnu.org>
9452
b96f9fb7
KR
9453 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9454
9455 * emacs.c (main): Fix sense of no-loadup test.
9456
e0b8c689
KR
9457 * config.in (ENABLE_CHECKING): Undef.
9458
9459 * lisp.h (struct interval): Replace "parent" field with a union of
9460 interval pointer and Lisp_Object; add new bitfield to use as
9461 discriminant. Change other flag fields to bitfields.
9462 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9463 is defined and the supplied test fails, print a message and abort.
9464 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9465
9466 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9467 pointers; abort if the value looks like a lisp object.
52283633
SM
9468 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9469 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9470 Modify for new interval parent definition.
9471
52283633
SM
9472 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9473 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9474 addressable lisp object in the interval structure.
9475 (die): New function.
9476 (suppress_checking): New variable.
9477
9478 * intervals.c (interval_start_pos): Just return 0 if there's no
9479 parent object.
9480
f83c5440
GM
94812000-03-29 Gerd Moellmann <gerd@gnu.org>
9482
9483 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9484 and earlier Emacs versions.
9485
9486 * keyboard.c (Ftop_level): Cancel busy-cursor.
9487
9488 * eval.c (call_debugger): Cancel busy-cursor.
9489
fdce64ff
KH
94902000-03-29 Kenichi Handa <handa@etl.go.jp>
9491
9492 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9493 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9494
f6a3f532
SM
94952000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9496
9497 * regex.c (analyse_first): New function obtained by ripping out most
9498 of re_compile_fastmap and generalizing it a little bit so that it
9499 can also just return whether a given (sub)pattern can match the empty
9500 string or not.
9501 (regex_compile): Use `analyse_first' to decide whether the loop-check
9502 needs to be done or not for *, +, *? and +? (the loop check is costly
9503 for non-greedy repetition).
9504 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9505
e9b309ac
DL
95062000-03-28 Dave Love <fx@gnu.org>
9507
52283633 9508 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9509
e9b309ac
DL
9510 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9511
ed0767d8
SM
95122000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9513
9514 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9515 an expression.
9516 (enum re_opcode_t): Update description of succeed_n.
9517 (PATFETCH): Always define.
9518 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9519 operators, char classes, shy-groups and intervals).
9520 Optimize special cases of intervals so as to only use succeed_n and
9521 jump_n when really needed.
9522 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9523 that we don't have to handle the special cases any more.
9524 Simplify on_failure_jump handling as well.
9525
e11e7e46
JR
95262000-03-28 Jason Rumney <jasonr@gnu.org>
9527
9528 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9529
88faab89
GM
95302000-03-27 Gerd Moellmann <gerd@gnu.org>
9531
182ff242
GM
9532 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9533
9534 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9535
182ff242
GM
9536 * alloc.c (mark_maybe_object): New function.
9537 (mark_memory): Use it.
9538 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9539 (setjmp_tested_p, longjmp_done): New variables.
9540 (test_setjmp): New function.
9541 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9542 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9543
c1005d06
GM
9544 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9545 to DEC_TEXT_POS and INC_TEXT_POS.
9546
9547 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9548 with parameter MULTIBYTE_P.
9549
52283633 9550 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9551
7439e5b9 9552 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9553 buffers because it looks for multibyte character byte sequences
9554 which don't exist in unibyte text.
7439e5b9 9555
d9c545da
GM
9556 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9557
11fd416e 9558 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9559 [DEBUG_X_COLORS]: New functions.
9560 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9561
9562 * xfns.c (x_set_cursor_color): Get color reference counts right.
9563
9564 * xterm.c (x_copy_color): New function.
9565 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9566
9567 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9568 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9569 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9570 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9571 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9572 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9573 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9574 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9575 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9576 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9577
11fd416e
GM
9578 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9579 names for handling per-buffer variables.
d9c545da
GM
9580
9581 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9582 instead of MAX_BUFFER_LOCAL_VARS.
9583 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9584
9585 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9586
88faab89
GM
9587 * xfns.c (x_specified_cursor_type): New function.
9588 (x_set_cursor_type): Use it.
9589
9590 * buffer.h (struct buffer): Add cursor_type.
9591
d80f42b7
SM
95922000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9593
9594 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9595 (print_partial_compiled_pattern, re_compile_fastmap):
9596 Handle new opcode.
d80f42b7
SM
9597 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9598 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9599 executing it as well as when popping it off the stack to find infinite
9600 loops in non-greedy repetition operators.
9601
89e80928
GM
96022000-03-26 Gerd Moellmann <gerd@gnu.org>
9603
3d4ff2dd
GM
9604 * doc.c (Qfunction_documentation): New variable.
9605 (syms_of_doc): Initialize Qfunction_documentation.
9606 (Fdocumentation): If FUNCTION is a symbol with non-nil
9607 `function-documentation' property, return a documentation derived
9608 from that.
9609
bd96bd79
GM
9610 * buffer.c (syms_of_buffer): Add default-cursor-type.
9611 (init_buffer_once): Don't let cursor_type have a local value
9612 in every buffer.
9613
19d1bc27
GM
9614 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9615 on buffer-local value of cursor_type.
9616 (x_draw_bar_cursor): Add parameter WIDTH.
9617
9618 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9619 (init_buffer_once): Set default cursor_type value to t.
9620 Mark cursor_type as local everywhere.
9621 (syms_of_buffer): New per-buffer variable cursor-type.
9622
89e80928
GM
9623 * buffer.h (struct buffer): Remove member local_var_flags,
9624 add local_flags.
9625 (MAX_BUFFER_LOCAL_VARS): New macro.
9626 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9627 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9628 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9629 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9630
52283633 9631 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9632
9633 * category.c (Fset_category_table): Use new macros for per-buffer
9634 variables.
9635
9636 * buffer.c (buffer_permanent_local_flags): Make a char array.
9637 (max_buffer_local_idx): New variable.
9638 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9639 for new handling of per-buffer variables.
9640 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9641 (init_buffer_once): Initialize per-buffer vars differently.
9642 Set max_buffer_local_idx.
9643
9644 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9645 variables.
9646
52283633 9647 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9648
9649 * data.c (do_symval_forwarding, store_symval_forwarding)
9650 (find_symbol_value, set_internal, default_value, Fset_default)
9651 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9652 per-buffer variables.
9653
9654 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9655
9a0dd3dc
GM
96562000-03-24 Gerd Moellmann <gerd@gnu.org>
9657
b68c375f
GM
9658 * xterm.c (x_term_init): Unblock input around call1 of
9659 Qvendor_specific_keysyms.
9660
9a0dd3dc
GM
9661 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9662 (find_defun_start): Consider an open parenthesis in column 0
9663 a defun start only if open_paren_in_column_0_is_defun_start is set.
9664 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9665
7973e637
SM
96662000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9667
9668 * eval.c (Fautoload): Add entry in load-history (if after dump).
9669 * lread.c (load-history): Update docstring.
9670
39210e90
GM
96712000-03-24 Gerd Moellmann <gerd@gnu.org>
9672
9673 * indent.c (Fvertical_motion): Always use the current buffer.
9674 Temporarily change the window's buffer, if necessary.
9675
72db3ab5
GM
96762000-03-23 Gerd Moellmann <gerd@gnu.org>
9677
9678 * xterm.c (fast_find_position): Make sure not to consider rows
9679 not visible in the window.
9680
990b2375
SM
96812000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9682
9683 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9684 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9685
ff4df011
JR
96862000-03-22 Jason Rumney <jasonr@gnu.org>
9687
9688 * w32menu.c (single_submenu): Set help string to NULL if none.
9689 (w32_menu_show): Set help string correctly.
9690 (add-menu-item): Set help string in MIIM_DATA for menu item.
9691 Load SetMenuItemInfoA explicitly.
9692 (w32_menu_display_help): New function.
427ec082 9693
ff4df011
JR
9694 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9695 (QCdata): Moved to xdisp.c.
9696
9697 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9698 (Vw32_charset_to_codepage_alist): Removed.
9699 (Vw32_charset_info_alist): New variable.
52283633
SM
9700 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9701 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9702 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9703 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9704 with TODO comment.
9705 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9706 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9707 Define Vw32_charset_info_alist and w32_charset symbols.
9708
97092000-03-22 Jason Rumney <jasonr@gnu.org>
9710
9711 * makefile.nt (w32bdf.obj): Update dependencies.
9712
9713 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9714
9715 * w32fns.c: Include fontset.h after dispextern.h.
9716 (Fx_create_frame): Do not create fontset.
9717 (w32_load_system_font): Doc fix.
9718 (Fx_close_connection): Free full_name if it is not shared.
9719
9720 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9721 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9722 Callers updated.
ff4df011
JR
9723 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9724 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9725 (w32_font_is_double_byte): New function, needs body.
9726 (x_append_glyph): Set glyph->glyph_not_available_p.
9727 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9728 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9729 character, convert it to a unibyte character.
9730 (struct glyph_string): Delete member `charset'.
9731 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9732 calculating it is found.
9733 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9734 the case that per char metric is not available correctly.
9735 (x_fill_glyph_string): Handle the case that the specific glyph is
9736 not available correctly.
9737 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9738 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9739 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9740 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9741 fontset. Don't call FS_LOAD_FONT.
9742
439d5cb4
KR
97432000-03-22 Ken Raeburn <raeburn@gnu.org>
9744
9745 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9746 (INT_LISPLIKE): New macro.
9747 (NULL_INTERVAL_P): Use it.
52283633
SM
9748 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9749 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9750 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9751
9752 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9753 explicit references to "parent" field of struct interval and
9754 associated unclean type conversions.
52283633
SM
9755 * intervals.c (create_root_interval, root_interval, rotate_right)
9756 (rotate_left, balance_possible_root_interval, split_interval_right)
9757 (split_interval_left, interval_start_pos, find_interval)
9758 (next_interval, previous_interval, update_interval)
9759 (adjust_intervals_for_insertion, delete_node, delete_interval)
9760 (adjust_intervals_for_deletion, merge_interval_right)
9761 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9762 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9763 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9764 Likewise.
9765 * syntax.c (update_syntax_table): Likewise.
9766
9767 * intervals.c (reproduce_tree_obj): New function, like
9768 reproduce_tree but takes a Lisp_Object for the parent. Declare
9769 with prototype.
9770 (graft_intervals_into_buffer): Use it when appropriate.
9771 (reproduce_tree): Declare with prototype.
9772 (balance_possible_root_interval): Check that the parent is a lisp
9773 object before trying to examine its type.
9774
ee1c5b21
GM
97752000-03-22 Gerd Moellmann <gerd@gnu.org>
9776
9777 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9778 as strings only if both are known to be strings.
9779
9780 * s/openbsd.h (LIBS_TERMCAP): Undef.
9781
1fb352e0
SM
97822000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9783
9784 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9785 definitions for non-Emacs compilation.
9786 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9787 outside of `#ifdef emacs'.
9788 (print_partial_compiled_pattern): Update.
9789 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9790 (re_compile_fastmap): Merge handling of charset and charset_not (for
9791 emacs and non-emacs compilation as well).
9792 Similarly for (not)categoryspec and (not)syntaxspec.
9793 Don't use the fastmap when reaching `anychar' since the added
9794 complexity is not justified.
9795 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9796 and (not)syntaxspec. Merge (not)categoryspec.
9797
fdaa1f77
KH
97982000-03-22 Kenichi Handa <handa@etl.go.jp>
9799
52283633
SM
9800 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9801 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9802 --without-x.
fdaa1f77 9803
d152fb46
DL
98042000-03-21 Dave Love <fx@gnu.org>
9805
9806 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9807 doc string.
9808
d2cafc8c
GM
98092000-03-21 Gerd Moellmann <gerd@gnu.org>
9810
9811 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9812 (lface_fully_specified_p): Don't check contents of
9813 LFACE_FONT_INDEX because that attribute is optional.
9814 (realize_x_face): Remove now unwarranted xassert.
9815
9111d4b5
KH
98162000-03-21 Kenichi HANDA <handa@etl.go.jp>
9817
9818 The following changes are to make font selection based on
9819 characters, not charset. In addition, they recover fontset
9820 facilities while utilizing the new font selection mechanism.
9821
6c4bfdc0
KH
9822 * Makefile.in (fontset.o): Depend on dispextern.h.
9823
9824 * alloc.c (mark_face_cache): Don't mark face->registry.
9825
9111d4b5
KH
9826 * dispextern.h (struct glyph): New member glyph_not_available_p.
9827 Use 22 bits for face_id.
9828 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9829 (struct face): Delete member registry, new member ascii_face.
9830 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9831 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9832 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9833 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9834
9835 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9836 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9837 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9838 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9839 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9840 (fs_free_face_fontset, fontset_font_pattern)
9841 (face_suitable_for_char_p, face_for_char)
9842 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9843 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9844 (FS_LOAD_FACE_FONT): New macro.
9845
9846 * fontset.c: All codes rewritten or adjusted for the change of
9847 fontset implementation. Now fontset is represented by char table.
52283633
SM
9848 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9849 Variables removed.
9111d4b5 9850 (my_strcasecmp): Function removed.
52283633 9851 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9852 (AREF, ASIZE): New macros.
52283633
SM
9853 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9854 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9855 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9856 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9857 (fontset_id_valid_p, font_family_registry, fontset_name)
9858 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9859 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9860 New functions.
9861 (fs_load_font): New arg FACE. Caller changed.
9862 (fs_query_fontset): Argument changed. Caller changed.
9863 (Fquery_fontset): call fs_query_fontset.
9864 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9865 Functions removed.
52283633
SM
9866 (clear_fontset_elements, check_registry_encoding)
9867 (check_fontset_name): New functions.
9111d4b5
KH
9868 (syms_of_fontset): Set char-table-extra-slots property of fontset
9869 to 3. Staticpro and initialize Vfontset_table and
9870 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9871
9872 * frame.h (struct frame): Member `fontset_data' removed.
9873 (FRAME_FONTSET_DATA): Macro removed.
9874
9875 * frame.c (make_frame): Don't allocate f->fontset_data.
9876 (Fdelete_frame): Don't free f->fontset_data.
9877
6c4bfdc0
KH
9878 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9879
9111d4b5
KH
9880 * xdisp.c (charset_at_position): Function removed.
9881 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9882 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9883 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9884 Likewise.
9885 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9886 FACE_FOR_CHARSET.
52283633
SM
9887 (get_next_display_element, append_space)
9888 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9889
9890 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9891 Variables removed.
9892 (clear_font_table, frame_update_line_height, load_face_font):
9893 Adjusted for the change of fontset implementation.
9894 (load_face_fontset_font): Function removed.
9895 (pixel_point_size): New function.
9896 (font_list): Argument type changed. Caller changed.
9897 (LFACE_FONT): New macro.
9898 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9899 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9900 Lisp_Object. Determine the font name by actually loading a font
9901 by the specified pattern. Set LFACE_FONT (lface) to the specified
9902 pattern. Even if a font is not found, don't try alternatives.
9903 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9904 (set_font_frame_param): If `font' is specified in lface, use it.
9905 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9906 (lface_same_font_attributes_p): Likewise.
9907 (make_realized_face): Arguent changed. Caller changed. Set
9908 face->ascii_face to face itself.
9909 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9910 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9911 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9912 (free_realized_multibyte_face): New function.
9913 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9914 changed. Caller changed.
9915 (try_font_list): Argument type changed.
9916 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9917 (choose_face_font): Argument changed. Handle fontset properly.
9918 (choose_face_fontset_font): Function removed.
9919 (realize_default_face, realize_named_face): Don't remove the
9920 former face here.
9921 (realize_face): Argument changed. Caller changed. Remove face
52283633 9922 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9923 (realize_x_face): Argument changed. Caller changed. For a
9924 multibyte character, share fontset with base_face. For a single
52283633 9925 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9926 (realize_tty_face): Argument changed. Caller changed.
9927 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9928 (face_at_buffer_position): Don't check multibyte_p for returning
9929 DEFAULT_FACE_ID.
9930 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9931 FACE_SUITABLE_FOR_CHARSET_P.
9932 (syms_of_xfaces): Remove code for Qx_charset_registry and
9933 Vface_default_registry.
9934
6c4bfdc0
KH
9935 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9936 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9937 (x_per_char_metric): Don't try FONT->default_char. Even if
9938 pcm->width is zero, glyph bits may exist.
9939 (x_encode_char): Always initialize char2b->byte1.
9940 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9941 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9942 (x_append_glyph): Set glyph->glyph_not_available_p.
9943 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9944 it->charset. Handle the case that per char metric is not
9945 available. If it->multibyte_p is zero and it->c is a multibyte
9946 character, convert it to a unibyte character.
9947 (struct glyph_string): Delete member `charset'.
9948 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9949 the case that per char metric is not available correctly.
9950 (x_fill_glyph_string): Handle the case that the specific glyph is
9951 not available correctly.
9952 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9953 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9954 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9955 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9956 fontset. Don't call FS_LOAD_FONT.
9957
9958 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9959 (x_create_tip_frame): Likewise.
9960 (Fx_close_connection): Free full_name of font_info.
9961
9962 * fns.c (optimize_sub_char_table): New function.
9963 (Foptimize_char_table): New function.
9964 (syms_of_fns): Defsubr Soptimize_char_table.
9965
b33dd3b0
GM
99662000-03-20 Gerd Moellmann <gerd@gnu.org>
9967
9968 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9969 only if buffer is displayed in some window.
9970
9971 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9972 (try_window_reusing_current_matrix): Don't call scroll run
9973 function if run's current and desired position are the same;
9974 this prevents cursor flickering.
9975
4e8a9132
SM
99762000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9977
9978 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9979
9980 * regex.c (RE_STRING_CHAR): New macro.
9981 (GET_CHAR_AFER_2): Remove.
9982 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9983 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9984 (print_partial_compiled_pattern, re_compile_fastmap)
9985 (re_match_2_internal): Remove on_failure_jump_exclusive.
9986 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9987 optimization only need to work for * (ie. can use of_keep_string_jump).
9988 Remove the special case for .*\n since it is now covered by the general
9989 optimization.
9990 (re_search_2): Don't bother with `room'.
9991 (skip_one_char): New function.
9992 (skip_noops): Simplify since `memory' is not needed any more.
9993 (mutually_exclusive_p): Restructure slightly to use `switch' and
9994 add handling for "all" remaining cases.
9995 (re_match_2_internal): Change on_failure_jump_smart to use
9996 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9997 rather than on_failure_jump_exclusive.
9998
2136fdd4
GM
99992000-03-19 Gerd Moellmann <gerd@gnu.org>
10000
10001 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10002 number of bits per RGB because it's everywhere used as the depth
10003 of the visual.
10004
10005 * term.c (calculate_costs): Remove code dealing with X frames.
10006
18e21ce8 100072000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10008
10009 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10010
d7b511c4
GM
100112000-03-18 Gerd Moellmann <gerd@gnu.org>
10012
10013 * lread.c (read_integer): Unread the last char not consumed.
10014
16b5d424
GM
100152000-03-17 Gerd Moellmann <gerd@gnu.org>
10016
10017 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10018 which are in the process of being deleted.
16b5d424 10019
1fa28578
GM
100202000-03-16 Gerd Moellmann <gerd@gnu.org>
10021
83488cce
GM
10022 * Makefile.in (mostlyclean): Add `*.core'.
10023 (clean): Add `bootstrap-emacs'.
10024
1fa28578
GM
10025 * lread.c (read_integer): New function.
10026 (read1): Support read syntax #o, #x, #b, #r.
10027
99633e97
SM
100282000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10029
1fa28578
GM
10030 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10031 make sure POINTER_TO_OFFSET gives the same value before and after
10032 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10033 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10034 (debug): Now only active if > 0 rather than if != 0.
10035 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10036 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10037 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10038 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10039 (store_op1, store_op2, insert_op1, insert_op2)
10040 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10041 (group_in_compile_stack): Move to after its arg's types are
10042 declared and add a prototype.
99633e97 10043 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10044 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10045 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10046 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10047 indentation of the greedy-op and shy-group code.
99633e97
SM
10048 (at_(beg|end)line_loc_p): Fix argument's types.
10049 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10050 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10051 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10052 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10053 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10054 QUIT unconditionally.
99633e97 10055
699238d9
GM
100562000-03-15 Gerd Moellmann <gerd@gnu.org>
10057
10058 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10059 a sole completion.
10060
10061 * process.c (send_process): Add a hint that the function
10062 can call Lisp code to its comment.
10063
10064 * lread.c (load_dangerous_libraries): New variable.
10065 (Vbytecomp_version_regexp): New variable.
10066 (safe_to_load_p): New function.
10067 (Fload): Handle files not compiled with Emacs specially.
10068 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10069
34e23e5a
GM
100702000-03-14 Gerd Moellmann <gerd@gnu.org>
10071
9c763cca
GM
10072 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10073
10074 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10075 support functions only if HAVE_X11R6_XIM is defined.
10076 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10077
10078 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10079
10080 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10081 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10082 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10083
10084 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10085 (HAVE_X11R6_XIM): Define.
10086
10087 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10088
34e23e5a
GM
10089 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10090 If set, call XSynchronize.
10091
66f0296e
SM
100922000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10093
34e23e5a
GM
10094 * regex.c: Declare a new type `re_char' used throughout the code
10095 for the string char type. It's `const unsigned char' to match the
10096 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10097 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10098 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10099 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10100 code duplication.
66f0296e
SM
10101
10102 * charset.h (GET_CHAR_AFTER_2): Remove.
10103 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10104
854a025c
KR
101052000-03-12 Ken Raeburn <raeburn@gnu.org>
10106
10107 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10108 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10109 of them try to use backquotes.
10110
b9d2c7e2
DL
101112000-03-12 Dave Love <fx@gnu.org>
10112
10113 * unexelf.c: Restore changes of 1999-10-19.
10114 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10115 fix its type and alignment; copy it from current process.
10116
5e5dff44
GM
101172000-03-12 Gerd Moellmann <gerd@gnu.org>
10118
9b2f3c38
GM
10119 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10120 has been found. Fix bug not computing timer's predecessor.
10121
427ec082 10122 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10123 file name.
10124
e1cff360
GM
10125 * window.c (Fsave_window_excursion): Doc fix.
10126
52283633 10127 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10128
e411ce4b
EZ
101292000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10130
10131 * msdos.c (vga_installed): New function, code moved from
10132 dos_set_window_size.
10133 (Qbar, Qcursor_type, outside_cursor): New variables.
10134 (syms_of_msdos): Intern and staticpro them.
10135 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10136 shape used outside Emacs when called for the first time.
10137 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10138 cursor shape used outside Emacs.
10139 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10140 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10141 type has changed.
10142 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10143 parameters specify the cursor. Make qreverse a global
10144 variable (renamed to Qreverse).
10145
80460654
GM
101462000-03-09 Gerd Moellmann <gerd@gnu.org>
10147
10148 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10149
95cd4c40
SM
101502000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10151
10152 This is a big redesign of failure-stack and register handling, prompted
10153 by bugs revealed when trying to add shy-groups. Overall, what happened
10154 is that loops are now structured a little differently, groups can be
10155 shy and the code is a little simpler.
10156
10157 * regex.h: Update the copyright.
10158 (RE_SHY_GROUPS): New value.
10159 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10160 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10161
80460654
GM
10162 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10163 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10164 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10165 for (start|stop)_memory since they now only take one argument (the
10166 second has becomes unnecessary).
52283633 10167 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10168 (print_compiled_pattern): Use %ld to printf long ints and flush to
10169 make debugging a little easier.
95cd4c40
SM
10170 (union fail_stack_elt): Make the integer unsigned.
10171 (struct fail_stack_type): Add a `frame' element.
10172 (INIT_FAIL_STACK): Init `frame' as well.
10173 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10174 (DEBUG_PUSH, DEBUG_POP): Remove.
10175 (NUM_REG_ITEMS): Remove.
10176 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10177 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10178 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10179 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10180 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10181 New macros.
80460654
GM
10182 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10183 address pushed is not the destination of the jump but the source
10184 of it instead.
95cd4c40
SM
10185 (NUM_FAILURE_ITEMS): Remove.
10186 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10187 registers before the actual failure point). Don't hardcode any
10188 meaning for str==NULL anymore.
95cd4c40 10189 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10190 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10191 Remove.
95cd4c40
SM
10192 (REG_UNSET_VALUE): Use NULL (why not?).
10193 (compile_range): Remove declaration since it doesn't exist.
10194 (struct compile_stack_elt_t): Remove inner_group_offset.
10195 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10196 (regex_grow_registers): Remove dead code.
10197 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10198 (regex_compile): Add shy-groups Change loops to use
10199 on_failure_jump_smart&jump instead of
10200 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10201 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10202 variable to me). Use `jump' instead of `jump_past_alt' and don't
10203 bother with push_dummy_failure in alternatives since it is now
10204 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10205 emacs' for (re)allocating the stack.
10206 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10207 from loop when bufp->can_be_null rather than jumping to `done'.
10208 Avoid jumping backwards so as to ensure termination. Use
10209 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10210 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10211 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10212 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10213 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10214 (lowest_active_reg, highest_active_reg)
10215 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10216 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10217 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10218 variables. Push register (in `start_memory') on the stack rather
10219 than storing it in old_reg(start|end). Remove the cycle detection
10220 from `stop_memory', replaced by the use of on_failure_jump_loop
10221 for greedy loops. Add code for the new on_failure_jump_<foo>.
10222 Remove ad-hoc code in `on_failure_jump' to push more registers in
10223 the case of a loop. Take out code from `maybe_pop_jump' into
10224 separate functions and adapt it to the semantics of
10225 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10226 and push_dummy_failure. Remove dummy_failure handling and
10227 handling of `failures to jump to on_failure_jump' (this last one
10228 was already dead code, it seems).
10229 (group_match_null_string_p, alt_match_null_string_p)
10230 (common_op_match_null_string_p): Remove.
95cd4c40 10231
7397acc4
DL
102322000-03-08 Dave Love <fx@gnu.org>
10233
10234 * config.in: Don't depend on __STDC__ for volatile.
10235 Add POINTER_TYPE, PTR, PROTOTYPES.
10236
10237 * hftctl.c, strftime.c: Use PROTOTYPES.
10238 * eval.c (find_handler_clause): Likewise.
10239
10240 * mem-limits.h: Use POINTER_TYPE.
10241
10242 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10243 (memory_warnings): Declare using POINTER_TYPE.
10244
5e91ff9e
GM
102452000-03-08 Gerd Moellmann <gerd@gnu.org>
10246
feab4fba
GM
10247 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10248
52283633 10249 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10250
5e91ff9e
GM
10251 * xfns.c: Remove obsolete code in #if 0.
10252 (Fx_focus_frame): New function.
10253
a735b7e1
KH
102542000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10255
10256 * coding.c (coding_category_name): Add coding-category-utf-8,
10257 coding-category-utf-16-be, coding-category-utf-16-le.
10258 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10259 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10260 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10261 (detect_coding_utf_8): New function.
10262 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10263 UTF_16_LOW_SURROGATE_P): New macros.
10264 (detect_coding_utf_16): New function
10265 (detect_coding_mask): When priorities are specified, skip any
10266 categories that have `nil' coding-system. Fix bug of returning
10267 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10268 returns a mask not set in PRIORITIES.
10269 (detect_eol_type_in_2_octet_form): New function.
10270 (detect_eol): selects detect_eol_type_XXX to call according to
10271 cooding->category_idx.
10272 (detect_coding_system): Remove `nil' coding-system in the result.
10273 (Fupdate_coding_systems_internal): Update all coding-categories.
10274
52283633
SM
10275 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10276 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10277 New macros.
10278 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10279 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10280 (CODING_CATEGORY_IDX_UTF_16_LE)
10281 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10282 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10283 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10284 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10285
9994cc69
GM
102862000-03-07 Gerd Moellmann <gerd@gnu.org>
10287
e9b4e5ff
GM
10288 * doc.c (Fdocumentation_property): If value is not a string,
10289 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10290
f7daf1e1
GM
10291 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10292 close the display with XtCloseDisplay. This caused a bus error
10293 on OpenWindows.
10294
9994cc69
GM
10295 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10296 complete but not unique.
10297
4336c705
GM
102982000-03-06 Gerd Moellmann <gerd@gnu.org>
10299
18bb0684
GM
10300 * process.c (send_process): Remove local variable `procname' that
10301 might become invalid when a GC happens. Instead, access the
10302 process name slot directly.
10303
4336c705
GM
10304 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10305 orig_height if set.
10306
10307 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10308 orig_height if set.
10309
515d0d0e
EZ
103102000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10311
10312 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10313 glyph matrices have been freed.
10314
100b3cbb
GM
103152000-03-05 Gerd Moellmann <gerd@gnu.org>
10316
50df5e5a 10317 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10318 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10319
10320 * xfns.c (QCdata): Moved to xdisp.c.
10321
10322 * xdisp.c (QCdata): Moved here from xfns.c.
10323 (syms_of_xdisp): Initialize QCdata.
10324
10325 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10326
10327 * window.c (coordinates_in_window): Use
10328 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10329 FRAME_INTERNAL_BORDER_WIDTH.
10330
100b3cbb 10331 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10332 it is obviously invalid.
100b3cbb
GM
10333
10334 * xterm.c (x_term_init): Create a colormap if not using the
10335 default visual.
10336
10337 * xterm.h (select_visual): Change prototype.
10338
10339 * xfns.c (select_visual): Rewritten. Recognize user-specified
10340 visual classes.
10341 (visual_classes): New variable.
10342
64d739c4
GM
103432000-03-04 Gerd Moellmann <gerd@gnu.org>
10344
10345 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10346 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10347 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10348 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10349 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10350 XtNcolormap resources.
10351 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10352 (Fx_create_frame): Initialize color members of x_output structure.
10353 (xpm_load): Pass colormap to XPM lib.
10354
10355 * xfaces.c (x_free_colors): Access colormap of frame using
10356 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10357 when default colormap is used.
10358
10359 * xterm.c (x_term_init): Set Colormap member of x_display_info
10360 structure. Copy colormap if resource `privateColormap' is
10361 specified (PseudoColor only).
10362 (x_setup_relief_color): Access colormap of frame using
10363 FRAME_X_COLORMAP.
10364
10365 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10366 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10367
c3cee013
JR
103682000-03-04 Jason Rumney <jasonr@gnu.org>
10369
10370 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10371 other non-platform-specific equivalents.
64d739c4 10372 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10373 specific functions and macros as their w32 equivalents where
10374 non-platform-specifics are not available.
10375 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10376 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10377 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10378 (frame_update_line_height): Use macros to access f->output_data.
10379 (defined_color): Remove FIXME comments; fixed.
10380 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10381 into #ifdef blocks. Add WINDOWSNT blocks.
10382 (Fx_list_fonts): Use macros for accessing font data.
10383 (set_lface_from_font_name): Different default fonts for X and
10384 WINDOWSNT.
10385 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10386 scalable for backward compatibility.
64d739c4 10387 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10388 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10389
64d739c4 10390 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10391 syms_of_w32faces.
10392
10393 * makefile.nt (w32faces.obj): Remove.
10394 (xfaces.obj): Add.
10395
807cc41c
JR
103962000-03-03 Jason Rumney <jasonr@gnu.org>
10397
10398 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10399 correct parameters.
10400
0007072a
KR
104012000-03-03 Ken Raeburn <raeburn@gnu.org>
10402
10403 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10404 standard ELF definitions here if the system header does not.
10405
71a6ba55
GM
104062000-03-03 Gerd Moellmann <gerd@gnu.org>
10407
10408 * xterm.c (PER_CHAR_METRIC): Removed.
10409 (x_per_char_metric_1, x_default_char): New functions.
10410 (x_per_char_metric): If font's default char is invalid, return
10411 metrics of a suitably chosen usable default char.
10412 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10413 char, replace occurrences of unprintable chars with a suitably
10414 chosen usable default char.
71a6ba55 10415
900fa1f1
GM
104162000-03-02 Gerd Moellmann <gerd@gnu.org>
10417
42f55fe0
GM
10418 * xterm.c (note_mouse_highlight): Return quickly if frame's
10419 glyph matrices have been freed.
10420
10421 * dispnew.c (free_glyphs): Block input while freeing matrices.
10422
900fa1f1
GM
10423 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10424
52283633
SM
10425 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10426 Use x_free_colors.
900fa1f1
GM
10427
10428 * dispextern.h (x_free_colors): Add prototype.
10429
10430 * xfaces.c (x_free_colors): New function.
10431 (unload_color, free_face_colors): Use it.
10432
2f950292
EZ
104332000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10434
10435 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10436
10437 * window.c [MSDOS]: Include msdos.h.
10438
54d04320
DL
104392000-03-02 Dave Love <fx@gnu.org>
10440
10441 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10442
10443 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10444 set C_OPTIMIZE_SWITCH for gcc.
10445
0ba93ac4
KH
104462000-03-02 Kenichi Handa <handa@etl.go.jp>
10447
10448 * coding.c (coding_save_composition): Be sure to allocate
10449 composition data area in coding even if there's no composition in
10450 the current run.
10451
a2bc11d4
JR
104522000-03-01 Jason Rumney <jasonr@gnu.org>
10453
10454 * w32term.c: Equivalent changes to those made to xterm.c on
10455 2000-02-25 and 2000-02-24.
10456
10457 * w32fns.c: Equivalent changes to those made to xfns.c on
10458 2000-02-25 and 2000-02-21.
10459
10460 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10461 correct line-end convention is followed.
10462
10463 * w32menu.c [HAVE_BOXES]: Remove #undef.
10464 (single_keymap_panes): Remove code for simulating checkmarks.
10465 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10466 Remove code for drawing simulated checkmarks.
10467 (w32_menu_show): make unibyte help string correctly.
10468 (add_menu_item): draw standard Windows checkmarks. Draw radio
10469 buttons as radio buttons if possible.
10470
72d19d75
GM
104712000-03-01 Gerd Moellmann <gerd@gnu.org>
10472
2df636f4
GM
10473 * sysdep.c (start_of_text): Don't define this function for NetBSD
10474 with ELF.
10475
427ec082 10476 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10477 Don't define.
10478 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10479 (LINKER): Don't undef if __NetBSD__ is defined.
10480
10481 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10482
10483 * fileio.c [__NetBSD__]: Define `unix'.
10484
72d19d75
GM
10485 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10486
ed4d0512
GM
104872000-02-29 Gerd Moellmann <gerd@gnu.org>
10488
50b1039f
GM
10489 * atimer.c (start_atimer): Don't abort when timers are stopped.
10490 (append_atimer_lists): New function.
10491 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10492 arbitrary lists of stopped and running atimers.
10493
ed4d0512
GM
10494 * atimer.c (cancel_atimer): Handle canceling an atimer when
10495 some timers are stopped.
10496
10497 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10498 after canceling it.
10499
10500 * fns.c (maybe_resize_hash_table): Handle case of new size
10501 coming out as being the same as old size.
10502
387023ee
JR
105032000-02-27 Jason Rumney <jasonr@gnu.org>
10504
10505 * makefile.nt: Add atimer.h to dependencies.
10506 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10507 * w32console.c: Only disable window system features for dispextern.h
10508 (initialize_w32_display): Build a display info for the console.
10509 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10510 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10511 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10512 as 2 button mice.
10513 * w32gui.h (struct W32FontStruct): Revert last change after change
10514 to xdisp.c.
10515 * w32menu.c (single_submenu): Set up help string.
10516 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10517 (w32_dialog_show): Set up help string.
10518 * w32term.c (w32_display_info_for_display): Remove unused function.
10519 (w32_draw_bitmap): Use pre-built bitmaps.
10520 (w32_initialize_display_info): New function to initialize parts of
10521 display info that are common to both GUI and console frames.
10522 (w32_term_init): Use w32_initialize_display_info. Do not set
10523 Vw32_num_mouse_buttons here, as it is not called for console
10524 frames. Build bitmaps for indicating truncated lines etc.
10525 (x_delete_display): Destroy pre-built bitmaps.
10526 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10527 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10528
4516715a
DL
105292000-02-27 Dave Love <fx@gnu.org>
10530
10531 * lisp.h: Add a bunch of prototypes.
10532
171ca836
KH
105332000-02-26 Kenichi Handa <handa@etl.go.jp>
10534
10535 * keyboard.c (read_char): Set `usec' correctly.
10536
4013921d
KH
105372000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10538
10539 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10540 `lambda', set reg[RRR] to the map index.
10541 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10542 reg[RRR] to 0. Otherwise, set it to -1.
10543
9244a058
GM
105442000-02-25 Gerd Moellmann <gerd@gnu.org>
10545
2df636f4 10546 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10547
18e21ce8 105482000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10549
f43d79c1
GM
10550 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10551 and contains a `:', prepend `/:'.
10552
10553 * window.c (select_window_1): If selected_window is nil,
10554 don't "swap out" the buffer's point.
10555 (Fset_window_configuration): Set selected_window to nil
10556 before calling Fselect_window.
10557 (unshow_buffer): Don't set point in buffer from window's point
10558 if another more recently selected window also shows the buffer.
10559
bed0c171
GM
105602000-02-25 Gerd Moellmann <gerd@gnu.org>
10561
449c3c52
GM
10562 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10563
f5b58615
GM
10564 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10565 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10566 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10567 New variables.
f5b58615
GM
10568 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10569 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10570 (hide_busy_cursor): New functions.
10571 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10572
10573 * minibuf.c (read_minibuf): Cancel busy-cursor.
10574
10575 * keyboard.c (command_loop_1): Call start_busy_cursor before
10576 Fcommand_execute and cancel_busy_cursor after it.
10577 (timer_check): Remove busy-cursor code.
10578 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10579 cursor timer.
10580
10581 * process.c (wait_reading_process_input): Remove busy-cursor code.
10582
10583 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10584 Fx_hide_busy_cursor.
10585
10586 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10587 Remove prototyoes.
10588 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10589
10590 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10591
10592 * xterm.c (XTread_socket): Remove busy-cursor code.
10593
4eb8436f
GM
10594 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10595 (build_frame_matrix_from_leaf_window): Put code handling
10596 glyph row's not being a slice of a frame row in #if 0.
10597 (sync_window_with_frame_matrix_rows): New function.
10598 (frame_row_to_window): New function.
10599 (mirror_line_dance): Handle copies between windows.
10600
3cb65b0e
GM
10601 * lread.c (Fload): Use `xfree' instead of `free'.
10602 (init_obarray): Use `xmalloc' instead of `malloc'.
10603
bed0c171
GM
10604 * window.c (Fset_window_buffer): Set WINDOW to the window
10605 after decoding.
2add4349
GM
10606 (coordinates_in_window): Take frame's internal border width
10607 into account.
bed0c171 10608
42088c12
GM
106092000-02-24 Gerd Moellmann <gerd@gnu.org>
10610
10611 * xterm.c (x_display_and_set_cursor): Display cursor of
10612 non-selected windows depending on the setting of
10613 cursor_in_non_selected_windows.
10614
10615 * xdisp.c (cursor_in_non_selected_windows): New variable.
10616 (syms_of_xdisp): DEFVAR_BOOL it.
10617
d1e103b2
GM
106182000-02-23 Gerd Moellmann <gerd@gnu.org>
10619
723e779c
GM
10620 * data.c (Fstring_to_number): If number is greater than what
10621 fits into an integer, return a float.
10622
d1e103b2
GM
10623 * eval.c (specbind): Remove references to
10624 keyword_symbols_constant_flag.
10625
10626 * data.c (keyword_symbols_constant_flag): Removed.
10627 (Fmakunbound, set_internal, syms_of_data): Remove references to
10628 keyword_symbols_constant_flag.
10629
10630 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10631
214f877f
KH
106322000-02-23 Kenichi Handa <handa@etl.go.jp>
10633
10634 * syntax.c (multibyte_syntax_as_symbol): New variable.
10635 (syms_of_syntax): Declare it as a Lisp variable.
10636 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10637 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10638 nonzero, treat all multibyte characters as symbol.
52283633 10639 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10640
130adcb7
EZ
106412000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10642
3cb65b0e 10643 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10644 a deleted frame.
130adcb7 10645
17cbbf95
GM
106462000-02-21 Gerd Moellmann <gerd@gnu.org>
10647
10648 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10649
10650 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10651 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10652
beb0bc36
DL
106532000-02-21 Dave Love <fx@gnu.org>
10654
10655 * frame.c (Vmouse_position_function): New variable.
10656 (Fmouse_position): Use it.
10657 (syms_of_frame): Install it.
10658
10659 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10660
1d92afcd
GM
106612000-02-20 Gerd Moellmann <gerd@gnu.org>
10662
10663 * fileio.c (Finsert_file_contents): Unbind the binding of
10664 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10665
10666 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10667 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10668 (specbind, unbind_to): Handle most common case of non-constant
10669 symbol with trivial value specially.
10670
10671 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10672
18e21ce8 106732000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10674
10675 * data.c (Fmake_variable_buffer_local): Doc fix.
10676 Init found_for_buffer to 0.
10677 (Fmake_variable_frame_local): If the variable has already
10678 been buffer-local, set the check_frame field.
10679
1d4311c3
EZ
106802000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10681
10682 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10683 produced for CODING_MODE_LAST_BLOCK requires.
10684
2dc95ddd
DL
106852000-02-18 Dave Love <fx@gnu.org>
10686
10687 * keyboard.c (echo_keystrokes): Remove declaration.
10688 (Vecho_keystrokes) New variable.
10689 (read_char, record_menu_key, read_key_sequence): Use it to allow
10690 use of float value.
10691 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10692
10693 * lread.c: Undef feature selection macros before defining.
10694
f0930f35
GM
106952000-02-18 Gerd Moellmann <gerd@gnu.org>
10696
10697 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10698 for symbols other than the symbol in question.
10699
e3d4de90
DL
107002000-02-17 Dave Love <fx@gnu.org>
10701
10702 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10703
0b378936
GM
107042000-02-17 Gerd Moellmann <gerd@gnu.org>
10705
d621caf7
GM
10706 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10707
0b378936
GM
10708 * alloc.c (enum mem_type): Compile unconditionally.
10709
3b451f74
EZ
107102000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10711
10712 * xfaces.c (tty_defined_color): Don't return faulire indication
10713 for unspecified-fg and unspecified-bg pseudo-colors.
10714
10689a01
GM
107152000-02-17 Gerd Moellmann <gerd@gnu.org>
10716
1216f5e4
GM
10717 * alloc.c (mark_object): Don't mark symbol names in pure space.
10718 (gc_sweep): Don't unmark symbol names in pure space.
10719
10720 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10721 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10722 [GC_MARK_STACK]: New defines.
427ec082 10723 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10724 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10725
10726 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10727
10728 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10729 allocate_buffer instead of xmalloc.
10730
10731 * alloc.c (toplevel): Include setjmp.h.
10732 (PURE_POINTER_P): New define.
10733 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10734 (Vdead) [GC_MARK_STACK]: New variable.
10735 (lisp_malloc): Add parameter TYPE, call mem_insert if
10736 GC_MARK_STACK is defined.
10737 (allocate_buffer): New function.
427ec082 10738 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10739 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10740 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10741 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10742 (MEM_NIL) [GC_MARK_STACK]: New define.
10743 (struct mem_node) [GC_MARK_STACK]: New structure.
10744 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10745 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10746 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10747 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10748 (mark_stack) [GC_MARK_STACK]: New functions.
10749 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10750 (clear_marks): Removed.
10751 (gc_sweep): Set free conses' car, free floats' type, free
10752 symbols' function to Vdead. Use lisp_free to free buffers.
10753 (init_alloc_once): Initialize Vdead.
10754 (survives_gc_p): Return non-zero for pure objects.
10755
10756 * alloc.c: Add comments throughout the file.
10757
2503c8b1
GM
10758 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10759 that unblocks alarms.
10760
8389e1e2
GM
10761 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10762 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10763 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10764
10689a01 10765 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10766
bfc17d18
KH
107672000-02-17 Kenichi Handa <handa@etl.go.jp>
10768
4a09dee0
KH
10769 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10770 avoid infinite error signaling. Allocate sufficient memory for
10771 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10772
2b927d02
SM
107732000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10774
10775 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10776 depends on the previous behavior.
10777
b49cb764
GM
107782000-02-16 Gerd Moellmann <gerd@gnu.org>
10779
10780 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10781
99e95407
GM
107822000-02-15 Gerd Moellmann <gerd@gnu.org>
10783
10784 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10785
10786 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10787 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10788 write(2).
10789
6ffd3cf7
RS
107902000-02-15 Richard M. Stallman <rms@gnu.org>
10791
10792 * data.c (set_internal): Don't make variable buffer-local
10793 if within a let-binding for the same buffer.
10794 (let_shadows_buffer_binding_p): New function.
10795
10796 * eval.c (specbind): For buffer-local value,
10797 record the current buffer also.
10798 (unbind_to): Cope with that change.
10799
cad53475
GM
108002000-02-15 Gerd Moellmann <gerd@gnu.org>
10801
10802 * window.c (Fsave_window_excursion): Doc fix.
10803
1aa963c8
SM
108042000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10805
10806 * syntax.c (back_comment): Make sure we only consider comment-starters
10807 of the relevant style and return -1 in case of a failure to find the
10808 beginning of the comment.
10809 (Fforward_comment): If back_comment fails, go back to the position just
10810 after the comment-end.
10811 (scan_lists): Add comment describing a very minor bug.
10812
b9b84fd3
SM
108132000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10814
10815 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10816 `completion-regexp-list' in the docstring.
10817
3a28db80
DL
108182000-02-14 Dave Love <fx@gnu.org>
10819
10820 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10821
fb4a568d
SM
108222000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10823
10824 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10825 to Emacs' syntax. Also fix the comment about set/not-set meanings
10826 since Emacs syntax is not the value 0 any more.
10827 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10828 since it's now part of RE_SYNTAX_EMACS.
10829
1063ebb5
DL
108302000-02-12 Dave Love <fx@gnu.org>
10831
52283633 10832 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10833
fb07a302
GM
108342000-02-12 Gerd Moellmann <gerd@gnu.org>
10835
10836 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10837
aaf2320c
DL
108382000-02-12 Dave Love <fx@gnu.org>
10839
10840 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10841
10842 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10843 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10844 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10845
10846 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10847
10848 * s/nextstep.h: Don't define HAVE_ALLOCA.
10849
10850 * config.in: Add vfork bits.
10851
eedf8bde
GM
108522000-02-12 Gerd Moellmann <gerd@gnu.org>
10853
10854 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10855 unwind function to undo the effect of stopping atimers.
10856
52283633 10857 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10858
10859 * atimer.c (stopped_atimers): New variable.
10860 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10861 New functions.
10862
10863 * atimer.h (stop_other_atimers, run_all_atimers)
10864 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10865
eedf8bde
GM
10866 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10867
8476c2f8
KR
108682000-02-11 Ken Raeburn <raeburn@gnu.org>
10869
10870 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10871 library may depend on jpeg.
10872 (atimer.o): Depends on atimer.c.
10873
0e85e4a3
KH
108742000-02-11 Kenichi Handa <handa@etl.go.jp>
10875
10876 * insdel.c (del_range_1): Call update_compositions.
10877 (del_range_both): Call update_compositions just once..
10878
97fa0cc8
DL
108792000-02-10 Dave Love <fx@gnu.org>
10880
10881 * xfns.c (create_frame_xic): Fix initialization of automatic
10882 aggregates for pcc.
10883
25566a3c
KH
108842000-02-09 Kenichi Handa <handa@etl.go.jp>
10885
10886 * ccl.c (CCL_MAKE_CHAR): New macro.
10887 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10888 registers by CCL_MAKE_CHAR before calling translate_char.
10889 <CCL_TranslateCharacterConstTbl> Likewise.
10890
69da54ba
DL
108912000-02-08 Dave Love <fx@gnu.org>
10892
10893 * lread.c (__EXTENSIONS__): Define.
10894
f7136ee8
GM
108952000-02-08 Gerd Moellmann <gerd@gnu.org>
10896
10897 * puresize.h (BASE_PURESIZE): Increase to 650000.
10898
7768790b
EZ
108992000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10900
10901 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10902 the help message.
10903
38fd211b
EZ
109042000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10905
10906 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10907 md, mh, mb, mr, and me to the fake termcap entry.
10908
66e4690f
KR
109092000-02-06 Ken Raeburn <raeburn@gnu.org>
10910
10911 * sound.c (sound_cleanup): Don't call device close routine if the
10912 function pointer is null.
10913
a75dfea0
AI
109142000-02-06 Andrew Innes <andrewi@gnu.org>
10915
10916 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10917 around image definitions and prototypes.
10918 (gamma_correct) [WINDOWSNT]: New prototype.
10919
10920 * w32term.c (x_make_frame_visible): Replace call to
10921 input_poll_signal with poll_for_input.
10922
10923 * window.c [WINDOWSNT]: Include w32term.h.
10924
10925 * xdisp.c [WINDOWSNT]: Include w32term.h.
10926
10927 * makefile.nt: Add dependencies on w32gui.h.
10928 (OBJ1): Include atimer.obj.
10929 ($(BLD)\atimer.obj): New dependency rule.
10930
10931 * w32.c (sigmask): New function (does nothing).
10932 (sigunblock): Ditto.
10933
10934 * frame.c [WINDOWSNT]: Include w32term.h.
10935
10936 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10937
10938 * lread.c (syms_of_lread): Fix literal newlines.
10939
10940 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10941 the string constant limit (2048 bytes) in MSVC.
10942 (main): Ditto.
10943
59ddecde
GM
109442000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10945
52283633 10946 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10947 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10948 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10949 dispatch the event.
10950
07590973
DL
109512000-02-04 Dave Love <fx@gnu.org>
10952
10953 * fileio.c: Remove some unused vars.
10954 (_GNU_SOURCE): Define (for euidaccess).
10955
10956 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10957
10958 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10959 gcpro1, gcpro2.
10960 (read_minibuf): Deal with allow_props correctly.
10961
649351f9
EZ
109622000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10963
10964 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10965
66e4690f 109662000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10967
10968 * search.c (compile_pattern): If a cache entry has a nil regexp,
10969 fill in that entry instead of clobbering a previously cached
10970 string regexp.
10971
66e4690f 109722000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10973
10974 * puresize.h (BASE_PURESIZE): Increase to 610000.
10975
d240a249
GM
109762000-02-02 Gerd Moellmann <gerd@gnu.org>
10977
10978 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10979 can GC.
10980
ca91fb26
KH
109812000-02-02 Kenichi Handa <handa@etl.go.jp>
10982
25660570
KH
10983 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10984 instead of incrementing ic directly.
10985 <CCL_WriteExprConst> Likewise.
10986 <ccl_set_expr>: Set ic to jump_address.
10987
ca91fb26
KH
10988 * fileio.c (e_write): Fix the handling of
10989 CODING_FINISH_INSUFFICIENT_SRC.
10990
2ede9689
DL
109912000-02-01 Dave Love <fx@gnu.org>
10992
10993 * editfns.c (Fpropertize): Doc fix.
10994
10995 * process.c (Fstart_process): Doc fix.
10996
10997 * eval.c: Fix various doc strings not to duplicate information
10998 from help-manyarg-func-alist.
10999
52283633 11000 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11001
11002 * doc.c (Vhelp_manyarg_func_alist): New variable.
11003 (Fdocumentation): Use it.
11004 (syms_of_doc): Define it.
11005
b6680a0e
GM
110062000-01-31 Gerd Moellmann <gerd@gnu.org>
11007
2cb750ba
GM
11008 * xterm.c (xim_open_dpy): Remove unused local variable.
11009
52283633 11010 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11011
11012 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11013 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11014
b6680a0e
GM
11015 * fns.c (sweep_weak_table): New function.
11016 (sweep_weak_hash_tables): Use it. Keep on marking until there
11017 is no more change.
11018
994c5afe
GM
110192000-01-30 Gerd Moellmann <gerd@gnu.org>
11020
11021 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11022 that XTread_socket does not crash by trying to call XNoOp on a
11023 closed display.
427ec082 11024
f00276e3
JR
110252000-01-30 Jason Rumney <jasonr@gnu.org>
11026
11027 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11028 Change selected_frame to SELECTED_FRAME ().
11029 (w32_console_mouse_position): Remove #ifndef MULE from around
11030 `insist' parameter.
11031
11032 * makefile.nt: Remove dosfns.obj.
11033
11034 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11035
11036 * w32fns.c (w32_defined_color): Check for valid frame before
11037 applying gamma correction. Eliminate dependency on frame elsewhere.
11038 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11039 (w32_to_x_font): Use resx and resy not height_in and width_in.
11040 (x_to_w32_font): Doc fix.
11041 (xlfd_strip_height): New function to strip and return font height.
11042 (w32_font_match): Compare height separately from rest of xlfd
11043 spec, using xlfd_strip_height.
11044
11045 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11046 width_in. Use w32_defined_color in place of defined_color.
11047
11048 * w32faces.c: Merge more of DOS and X specifics in preparation for
11049 merge with xfaces.c.
11050 (defined_color): Remove FIXME comment.
11051 (tty_color_name): Provide w32-specific function.
11052 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11053
11054 * w32console.c (turn_on_face, turn_off_face): Removed.
11055 (w32_face_attributes): New function.
11056 (Global_variables): Reduce scope where possible.
11057 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11058 fill attribute.
11059 (hl_mode): Don't modify text attributes.
11060 (write_glyphs): Don't do anything if len <= 0. Use
11061 w32_face_attributes to get attributes for drawing. Write
11062 terminating codes using char_attr_normal.
11063 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11064 (update_begin, update_end): Likewise.
11065 (vga_stdcolor_name): New function.
11066 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11067 (Fset_screen_color): Remove char_attr_reverse.
11068
b08e8bb2
GM
110692000-01-29 Gerd Moellmann <gerd@gnu.org>
11070
11071 * xfns.c (xic_set_preeditarea): Take window parameter and
11072 window-relative pixel-positions.
11073
11074 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11075 is its frame's selected window.
11076 (xim_instantiate_callback): Likewise.
11077
11078 * xfns.c (x_create_im): Removed.
11079 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11080 (supported_xim_styles): Renamed from supported_styles.
11081 (best_xim_style): Renamed from best_style.
11082 (create_frame_xic): Renamed from xic_create_frame.
11083 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11084
b08e8bb2
GM
110852000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11086
11087 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11088 our frames, call XFilterEvent with 2nd parameter `None'.
11089 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11090 returning XBufferOverflow.
52283633 11091 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11092 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11093 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11094 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11095 (xim_initialize, xim_close)
11096 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11097 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11098 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11099 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11100
11101 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11102 and `xim_styles'.
11103 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11104 `xic_style' and `xic_xfs'.
11105 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11106 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11107 (FRAME_XIM): Removed.
11108
11109 * xfns.c (supported_styles): New variable.
11110 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11111 (xic_create_xfontset, best_style, xic_create_frame)
11112 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11113 (xic_set_xfontset): New functions.
11114
142e109c
DL
111152000-01-28 Dave Love <fx@gnu.org>
11116
11117 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11118
11119 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11120
b02786f9
GM
111212000-01-28 Gerd Moellmann <gerd@gnu.org>
11122
d060bc9f
GM
11123 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11124 for *scratch* if it already existed.
11125
b02786f9
GM
11126 * emacs.c (USAGE): New macro.
11127 (main): Use it to display usage information.
11128
2c52d7e4
EZ
111292000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11130
11131 Support for the menu-help feature:
11132
52283633 11133 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11134
11135 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11136 part of the line to the termscript file.
11137 (IT_clear_to_end): Clear the entire line, not just its beginning.
11138 (menu_help_message, prev_menu_help_message): New variables.
11139 (IT_menu_make_room): Make room for the help_text member.
11140 (IT_menu_display): New argument disp_help; all callers changed.
11141 If disp_help is non-zero, store the help text of the active menu
11142 item in menu_help_message.
11143 (XMenuAddPane): Initialize the help_text member to NULL.
11144 (XMenuAddSelection): New argument help_text. Store it in the
11145 XMenu structure.
11146 (XMenuActivate): New argument help_callback. If the value of
11147 menu_help_message has changed since the last time, display the
11148 menu help message text while waiting for the mouse to move. Clear
11149 the echo area before exiting.
11150 (XMenuDestroy): Free the help_text member.
11151
ffe0bcd1
GM
111522000-01-27 Gerd Moellmann <gerd@gnu.org>
11153
11154 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11155 XMenuAddSelection. Pass help callback to XMenuActivate.
11156 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11157
50dbd23f
EZ
111582000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11159
11160 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11161 and EMACS_SET_USECS.
11162
f5941bf8
GM
111632000-01-26 Dave Love <fx@gnu.org>
11164
6c67ddee
DL
11165 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11166
f5941bf8
GM
11167 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11168 an error may be signalled.
11169
9e49c990
GM
111702000-01-26 Gerd Moellmann <gerd@gnu.org>
11171
fc3cb460
GM
11172 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11173 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11174
9e49c990
GM
11175 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11176
d0c037d8
GM
111772000-01-25 Gerd Moellmann <gerd@gnu.org>
11178
11179 * charset.c (Fstring): If there is a multibyte char among
11180 the args, always return a multibyte string.
11181
e12489f9
GM
111822000-01-25 Gerd Moellmann <gerd@gnu.org>
11183
11184 * sysdep.c (sys_select): Turn atimers off and on instead of
11185 recording and restoring old alarm handler
11186
11187 * process.c (toplevel): Include atimer.h.
11188 (create_process_1): Rewritten.
11189 (create_process): Use atimers instead of alarm.
11190 (wait_reading_process_input) [hpux]: Turn atimers off instead
11191 of turning off SIGALRM.
11192 (wait_reading_process_input): Turn off atimers instead off
11193 calling stop_polling.
11194
11195 * emacs.c (main): Call init_atimer.
11196
11197 * keyboard.c (toplevel): Include systime.h and atimer.h.
11198 (polling_for_input): Removed because unused.
11199 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11200 (poll_timer): New variable.
11201 (poll_for_input, poll_for_input_1): New functions.
11202 (start_polling, stop_polling): Rewritten.
11203
11204 * keyboard.h (polling_for_input): Removed.
427ec082 11205
e12489f9
GM
11206 * atimer.h, atimer.c: New files.
11207
11208 * Makefile.in (obj): Add atimer.o.
11209 (atimer.o): New target.
11210
11211 * blockinput.h (pending_atimers): Add extern declaration.
11212 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11213
11214 * lisp.h (popup_activated_flag): Add extern declaration.
11215
11216 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11217 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11218 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11219
11220 * xterm.c (toplevel): Include atimer.h.
11221 (toolkit_scroll_bar_interaction): New variable.
11222 (Fxt_process_timeouts): Removed.
11223 (x_process_timeouts): New function.
11224 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11225 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11226 (x_make_frame_visible): Call poll_for_input_1 instead of
11227 input_poll_signal. Don't call alarm.
11228 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11229
1e5279b9
DL
112302000-01-24 Dave Love <fx@gnu.org>
11231
6c67ddee 11232 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11233 Don't use -cckr -- apparently not now necessary.
11234
edf6aeb8
EZ
112352000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11236
11237 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11238 screen boundary.
11239
9badad41
JR
112402000-01-23 Jason Rumney <jasonr@gnu.org>
11241
11242 * w32fns.c (w32_defined_color): Apply gamma correction before
11243 trying to map to the palette.
11244 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11245 to w32_clear_rect.
11246
11247 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11248 here. Callers changed to always pass real device context.
11249 (w32_draw_bitmap): Likewise.
11250 (w32_get_glyph_overhangs): Likewise.
52283633 11251 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11252 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11253 pfnSetScrollInfo and SetScrollRange.
11254 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11255 back into MULE characters after decoding them.
11256 (x_get_glyph_face_and_encoding): Likewise.
11257 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11258 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11259 (x_produce_glyphs): Calculate per char metrics for a character
11260 that we know exists in default font when font_not_found_p is true.
11261
63bd786b
JR
112622000-01-22 Jason Rumney <jasonr@gnu.org>
11263
11264 * makefile.nt (intervals.obj, composite.obj): New modules.
11265 (composite.h): Added as dependency where appropriate.
11266
11267 * w32gui.h (XGCValue): New struct for emulating X GCs.
11268
11269 * w32term.h (XCharStruct): New struct for emulating X.
11270
11271 * w32console.c (turn_on_face, turn_off_face): New functions.
11272 (change_line_highlight): New prototype for new redisplay.
11273 (write_glyphs): Support multibyte text. Support faces.
11274
52283633 11275 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11276
11277 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11278 throughout. struct frame * in place of FRAME_PTR.
11279 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11280 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11281 (w32_get_arg): Renamed from x_get_arg.
11282 (Fx_file_dialog): New function.
11283 (w32_list_fonts): Check cache before asking system.
11284 (Vw32_enable_synthesized_fonts): New variable.
11285 (Vw32_enable_italics): Obsolete, removed.
11286
11287 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11288 Use SELECTED_FRAME macro.
11289
11290 * w32menu.c: Add skeleton support for help strings on menus.
11291 (add_menu_item): Native checkbox and radio support added, but not
11292 yet enabled due to bugs.
11293 (push_menu_item): Add parameters type, selection and help.
11294 Callers updated.
11295 Formatting changes to reduce unnecessary diffs with xmenu.c.
11296
11297 * w32select.c (Fw32_set_clipboard_data): Update call to
11298 find_charset_in_str.
11299
11300 * w32term.c: Complete rewrite for new redisplay based on new
11301 xterm.c with necessary sections merged back in from old w32term.c.
11302
6ffd3cf7 113032000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11304
11305 * data.c (set_internal): Further fix in same criterion.
11306
6ffd3cf7 113072000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11308
11309 * data.c (set_internal): Fix the criteria for whether
11310 to swap out the old cached binding.
11311
60af03f1
DL
113122000-01-19 Dave Love <fx@gnu.org>
11313
11314 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11315
f9be074f
KH
113162000-01-18 Kenichi Handa <handa@etl.go.jp>
11317
11318 * regex.c (re_compile_fastmap): While checking a range table for
11319 `charset', skip flag bits for a character class correctly.
11320
52b8dbf9
GM
113212000-01-17 Gerd Moellmann <gerd@gnu.org>
11322
d36100c9
GM
11323 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11324
52283633 11325 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11326
11327 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11328 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11329
11330 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11331 MENU_ITEMS_ITEM_.*.
11332 (MENU_ITEMS_ITEM_HELP): New enumerator.
11333 (push_menu_item): Add parameter HELP. Record help in menu_items.
11334 (single_menu_item, single_submenu, list_of_items): Call
11335 push_menu_item with new parameter.
11336 (single_submenu): Set help string in widget value.
11337 (menu_highlight_callback): New function.
11338 (set_frame_menubar): Call lw_create_widget with new
11339 parameter list.
11340 (xmenu_show, xdialog_show): Ditto.
11341
3139018f
GM
113422000-01-13 Gerd Moellmann <gerd@gnu.org>
11343
11344 * sound.c (Fplay_sound): Improve doc string.
11345
83c8f461
RS
113462000-01-11 Richard M. Stallman <rms@gnu.org>
11347
11348 * lisp.h (set_internal): Enter the new arg.
11349
11350 * eval.c (specbind): Record buffer-local variables specially,
11351 indicating which buffer's binding was saved.
11352 (unbind_to): Restore buffer-local variables specially
11353 in the proper buffer.
11354
11355 * data.c (set_internal): New arg BUF.
427ec082 11356
83c8f461
RS
11357 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11358 * data.c (Fset): Pass new arg to set_internal.
11359 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11360
1fab1775
GM
113612000-01-11 Gerd Moellmann <gerd@gnu.org>
11362
52283633 11363 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11364
83c8f461 113652000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11366
11367 * minibuf.c (Ftry_completion): Doc fix.
11368
7a85e4df
GM
113692000-01-11 Gerd Moellmann <gerd@gnu.org>
11370
11371 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11372 vector, too.
11373
a970dae4
AS
113742000-01-11 Andreas Schwab <schwab@suse.de>
11375
11376 * coding.c (code_convert_region): Initialize total_skip.
11377
c65d14ee
DL
113782000-01-08 Dave Love <fx@gnu.org>
11379
11380 * eval.c (Fuser_variable_p): Check customizability too.
11381
834938d2
GM
113822000-01-07 Gerd Moellmann <gerd@gnu.org>
11383
11384 * minibuf.c (Fcompleting_read): Doc fix.
11385
e0303cd6
GM
113862000-01-05 Gerd Moellmann <gerd@gnu.org>
11387
8a26744b
GM
11388 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11389 -L /usr/local/lib.
11390
e0303cd6
GM
11391 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11392 Check that input style is supported before trying to create an
11393 IC for it.
11394 (x_window): Call x_create_im.
427ec082 11395
2e471eb5
GM
113962000-01-04 Gerd Moellmann <gerd@gnu.org>
11397
560a7bd2
GM
11398 * xfns.c (current_gif_memory_src): New variable.
11399 (gif_load): Record the address of the current memory source
11400 in current_gif_memory_src.
11401 (gif_read_from_memory): Use current_gif_memory_src.
11402
f9ee84a3
GM
11403 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11404 macros statement form.
11405
d1299cde
GM
11406 * sound.c (struct sound): Renamed from struct sound_file.
11407 (struct sound): Add members `data' and `header_size'.
11408 (enum sound_attr): Add SOUND_DATA.
11409 (current_sound, current_sound_device): Variables renamed from
11410 sound_file and sound_device.
11411 (parse_sound): Parse :data.
11412 (parse_sound): Handle sound data in strings.
11413 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11414 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11415 needed header size.
11416 (wav_play, au_play): Play sounds from string data.
11417
2e471eb5
GM
11418 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11419
11420 * lisp.h: Add prototype for allocate_string_data.
11421
52283633 11422 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11423
11424 * alloc.c (mark_buffer): Remove code in #if 0.
11425 (gc_sweep): Ditto.
11426 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11427 (strings_consed): New variable.
11428 (allocate_string): Set it.
11429 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11430 (Fmemory_use_counts): Return strings_consed. Use Flist.
11431
11432 * alloc.c: General cleanup in comments etc. Remove conditional
11433 compilation for `standalone'.
11434
11435 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11436
11437 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11438 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11439 (DONT_COPY_FLAG): Removed.
11440 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11441 (struct sdata, struct sblock): New
11442 (struct string_block): Rewritten.
11443 (STRINGS_IN_STRING_BLOCK): New macro.
11444 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11445 (large_sblocks, string_blocks, string_free_list): New variables.
11446 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11447 (init_strings): Rewritten.
11448 (allocate_string, allocate_string_data, compact_small_strings)
11449 (free_large_strings, sweep_strings): New functions.
11450 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11451 (struct string_block_head, current_string_block)
11452 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11453 (STRING_PAD): Removed.
11454 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11455 (Fgarbage_collect): Don't set mark bit in large strings.
11456 (mark_object): Mark strings differently. Mark symbol names
11457 differently.
11458 (survives_gc_p): Test marked strings differently.
427ec082 11459 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11460 symbol names.
11461 (compact_strings): Removed.
11462
42608ba8
EZ
114632000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11464
11465 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11466 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11467
e0a09e1a
KH
114682000-01-04 Kenichi Handa <handa@etl.go.jp>
11469
dd9f0750 11470 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11471 in a non-empty buffer.
dd9f0750 11472
3c0f3b15 11473 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11474
44cd3ae5
GM
114752000-01-03 Gerd Moellmann <gerd@gnu.org>
11476
11477 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11478 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11479
11480 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11481
c182a70f
EZ
114822000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11483
11484 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11485 need to test for MSDOS frames.
11486
24480d5b
EZ
114872000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11488
11489 * dosfns.c (unspecified_colors): Remove.
11490 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11491 unspecified_bg.
11492 (msdos_stdcolor_name): Return strings for unspecified fore- and
11493 back-ground colors.
11494
11495 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11496 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11497 (tty_color_name): Return Lisp strings for unspecified fore- and
11498 back-ground colors.
11499 (Finternal_set_lisp_face_attribute): Remove the special treatment
11500 for Qunspecified_{f,b}g.
52283633 11501 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11502
047f434a
GM
115032000-01-03 Gerd Moellmann <gerd@gnu.org>
11504
11505 * xdisp.c (reseat_at_next_visible_line_start): Position before
11506 newline only if ending up on a newline.
11507 (next_element_from_ellipsis): Return success. Handle case of
52283633 11508 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11509 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11510 returns 0.
11511
d684c676
EZ
115122000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11513
11514 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11515 (Fcolor_supported_p): Renamed from face-color-supported-p.
11516
5fe1d139
EZ
115172000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11518
11519 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11520 list of colors renamed to tty-defined-color-alist.
11521 (tty_color_name): Pass the frame to tty-color-by-index.
11522 (realize_tty_face): tty-color-alist is now a function which
11523 accepts the frame as argument.
11524
52283633 11525 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11526
816be8b8
EZ
115272000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11528
11529 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11530 encode_terminal_code.
11531
b635321e
EZ
115322000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11533
11534 * dispnew.c (mode_line_string): Support termcap frames as well.
11535
9b784e96
GM
115362000-01-01 Gerd Moellmann <gerd@gnu.org>
11537
27189709
GM
11538 * syntax.c (Fforward_word): Undo previous change.
11539
11540 * editfns.c (Fconstrain_to_field): Don't constrain if
11541 inhibit-field-text-motion is non-nil.
11542 (Fline_beginning_position): Undo previous change.
11543 (Fline_end_position): Ditto.
11544
11545 * syntax.c (Fforward_word): Notice field boundaries only if
11546 inhibit-field-text-motion is nil.
11547
11548 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11549
11550 * editfns.c (Vinhibit_field_text_motion): New variable.
11551 (inhibit-field-text-motion): New DEFVAR_LISP.
11552 (Fline_beginning_position, Fline_end_position): Notice field
11553 boundaries only if inhibit-field-text-motion is nil.
11554
45158a91
GM
11555 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11556 All calls adjusted.
11557 (x_build_heuristic_mask): Likewise.
11558 (xbm_load_image_from_file): Change error output.
11559 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11560 (gif_load, gs_load, x_kill_gs_process): Ditto.
11561
9b784e96
GM
11562 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11563 color indices when accessing raster pixels.
63cec32f
GM
11564 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11565 one of :file or :data.
11566 (enum pbm_keyword_index): Add PBM_DATA.
11567 (pbm_format): Add :data.
11568 (pbm_image_p): Allow either :file or :data.
11569 (pbm_read_file): New function.
11570 (pbm_scan_number): Rewritten to read from string.
11571 (pbm_load): Support :data.
9b784e96 11572
2cb085db 11573See ChangeLog.8 for earlier changes.
6922b018
KH
11574
11575;; Local Variables:
49b3bd82 11576;; coding: iso-2022-7bit
6922b018 11577;; End: